The Transterpreter Project

Concurrency, everywhere.

The Joel Test

Somewhere in the past, I took the Joel Test. I like this simple measure of a software project's health, because it hits on the really important things with respect to quality and maintainability.

The Joel Test is:

  1. Do you use source control? Yes
  2. Can you make a build in one step? Yes
  3. Do you make daily builds? Yes
  4. Do you have a bug database? Yes
  5. Do you fix bugs before writing new code? No
  6. Do you have an up-to-date schedule? Yes
  7. Do you have a spec? No
  8. Do programmers have quiet working conditions? No
  9. Do you use the best tools money can buy? Yes(ish)
  10. Do you have testers? No
  11. Do new candidates write code during their interview? N/A
  12. Do you do hallway usability testing? Yes

This is better than a few years ago. On ever commit, buildbot runs and makes sure we didn't break anything (on multiple architectures). We don't fix all the bugs before moving on---but some of those tickets in the database are things like "Write a new linker." I've given us a "no", but for actual, build-breaking, test-breaking bugs, things get fixed before we move on. We don't work to a fixed schedule---instead, we tend to work towards features. So, I'll claim we do have an up-to-date schedule. We don't have a spec anymore, but we work to the best documentation available whenever possible; this may change in the future. We don't have the best tools that money can buy, but we do the best with the freely available tools we can cobble together. And, we tend to chat about new features before implementing, which is as close to hallway usability testing as we can get when working on a virtual machine.

So, I'd give us a 7 out of 11; we don't interview, so I'll drop it from the list. I think that's not bad... quite good, in fact, for a small, unfunded open-source project.


  • Posted: May 30, 2007
  • Author: Matthew Jadud
  • Comments: None
  • Tags: None

Latest Weblog Posts