Tuesday, July 07, 2009

12 on The Joel Test

I started Noumenal 3 and a half years ago now. In that time I've learnt to program and written some software, some of which has actually been good. My greatest achievement by far is that, one year after the birth of my first child, I'm still business. (Just before his birth, I'd guess, not many thought that likely.)

Starting out, just surviving was always going to be a lot harder than my natural arrogance would allow: I was a philosophy PhD and despite my focus on the more technical areas, philosophy is the archetypal liberal art and liberal arts majors don't know anything about developing software. Thankfully for me I knew nothing of this.

More thankfully though, I'm stubborn, as much as that may not be good for my mental health. I have learnt the hard way about the need for specifications and testing and iterative development, and all the rest of it.

As much of an achievement as still being in business is, it is but a platform for success rather than success itself. (My long term goals were slightly more ambitious than merely not going bankrupt.) As such I've decide to apply the famous Joel Test, 12 yes or no questions to help you determine how good your software development process is.

For those of you who may not be familiar, the 12 points of The Joel Test are:

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?
(I'll be discussing these in reference to their application at Noumenal in future posts but you can read Joel's original discussion for more details now.)

A quick count says I'm currently running at 4 (which could pretty easily be bumped to 6) but 4 (or even 6) isn't good enough. As Joel says, companies like Microsoft run at 12 full-time.

Goals should be SMART: specific, measurable, achievable, realistic and time-boxed. Here's my goal: I will be at 12 on The Joel Test by 6th July 2010, the day my boy is two.