The Joel Test


So, how good is your software team? Joel Spolsky (who runs a company called Fog Creek, and writes a weblog that everyone in the software industry either reads, or ought to) has a 12-question test to help you measure how well your team is doing. How do the student teams hosted on Pyre do?

1. Do you use source control? Yes. Absolutely. For everything.
2. Can you make a build in one step? The Helium team was pretty close; the only thing that stood in the way was setting up the database. Other teams vary—getting this right will probably be worth a mark or two this term.
3. Do you make daily builds? Helium team did a build every twenty minutes, and had a glowing ball on their home page to show its status.
4. Do you have a bug database? Yes. The Memview team got into using theirs to coordinate their work early on; the Helium team just got into the swing of doing this in mid-August.
5. Do you fix bugs before writing new code? No. I'm not convinced this is always a good thing (though I agree that it usually is). Sometimes, when you're "in flow", finishing the current piece of the project is more important than line-editing what you did this morning. I do believe that leaving bugs more than a couple of days is dangerous.
6. Do you have an up-to-date schedule? We did for the last lap of Helium, which helped us cut corners as the end-of-summer deadline rushed toward us. The Memview team stopped reporting weekly progress once they got into the crunch.
7. Do you have a spec? Low marks here—we did for Helium, but it fell out of date while work was under way. It's being updated now so that the incoming students will know what they're supposed to build. The Memview team wrote a good A&E (analysis & estimation) document at the start of term, which gave them a roadmap for their work.
8. Do programmers have quiet working conditions? No. The Helium students are in an open plan office (without a window); the Memview team worked on their own machines at home most of the time, so I'm guessing their environment included a lot of heavy metal music. (I dunno, they just look like those kind of guys…)
9. Do you have the best tools money can buy? Half marks: Eclipse is a pretty good IDE, and the machines were good enough to run it and the application they were developing at the same time. Our server, Pyre, is a little underpowered, but other than Helium's regular build, it's only being used as a CVS/SVN host.
10. Do you have testers? No.
11. Do new candidates write code during their interview? No. I'll definitely be asking for this in future, since students' grades don't correlate particularly well with their ability to Get Things Done.
12. Do you do hallway usability testing? No. Should

So, that leaves Helium with 6/12, and Memview with 5/12. Let's see how much better we can do this fall…