The Joel Test: 12 Steps to Better Code

Joel Spolsky’s article The Joel Test presents a quick assessment tool for evaluating software team quality through 12 yes/no questions.

The 12 Questions

  1. Do you use source control? - Essential for team coordination and preventing code loss
  2. Can you make a build in one step? - Automated compilation reduces errors during shipping
  3. Do you make daily builds? - Catches integration problems immediately
  4. Do you have a bug database? - Formal tracking prevents bugs from being forgotten
  5. Do you fix bugs before writing new code? - Prioritize fixes over features to maintain schedules
  6. Do you have an up-to-date schedule? - Enables business planning and prevents feature creep
  7. Do you have a spec? - Design problems are cheaper to fix in documents than code
  8. Do programmers have quiet working conditions? - Uninterrupted focus enables productive “flow” states
  9. Do you use the best tools money can buy? - Quality equipment prevents frustration
  10. Do you have testers? - More cost-effective than having programmers test their own work
  11. Do new candidates write code during their interview? - Actual coding demonstrates capabilities
  12. Do you do hallway usability testing? - Five users reveal 95% of UI problems

Scoring

A score of 12 is perfect; 11 is acceptable. Below 10 indicates serious problems. Most organizations score around 2-3.

My Takeaway

This test remains remarkably relevant decades later. As a builder, these fundamentals separate amateur operations from professional ones. The beauty is its simplicity—you can evaluate any team in minutes.


How does your team score? I’d love to hear at persdre@gmail.com.