March 15, 2003

Joel's test and progress

So as I move over to Atlanta and start my new job I want to take a moment and reflect on the state of the company that I am leaving in terms of software development process improvement.

I will use Joel's sloppy test.

Before


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

Score: 5

After


  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? Yes. (when we can)
  6. Do you have an up-to-date schedule? Yes.
  7. Do you have a spec? Yes.
  8. Do programmers have quiet working conditions? Yes. (some)
  9. Do you use the best tools money can buy? Yes. (normally)
  10. Do you have testers? Yes.
  11. Do new candidates write code during their interview? Yes.
  12. Do you do hallway usability testing? Yes.

Score: 12 (I figure all those some and normally answers add up to one No so we will call it 11)

It has been very interesting to see the quality of the software that we have created improve while at the same time seeing the system we are working on evolve into a stable, very usable tool. We simply don't spend time worrying about things that we shouldn't now - when a tester needs new code they use our build system to create the application from source and use our installation to update the test machines. When they find bugs they use the bug-tracking system. Developers use that system to track, prioritize, and fix bugs.

March 15, 2003 03:13 PM