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
|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
|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
|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|