The Joel Test was created in August 2000 by Joel Spolsky, a Software Developer from New York City, who is a founder and CEO of Stack Overflow, creator of Trello project management software, and ex-Microsoft employee.
The test is designed to rate the quality of a software team, all in about 3 minutes! It consists of 12 ‘Yes / No’ questions that are intended to be quick and simple to answer.
A team is given 1 point for each ‘Yes’ answer - the higher the score the better. So a score of 12 is perfect and means that you have an effective, disciplined team that can deliver. Of course the test evaluates the software team and not the software, so you can have a perfect score and still produce an unsuccessful end product.
The Joel Test
- Do you use source control?
- Can you make a build in one step?
- Do you make daily builds?
- Do you have a bug database?
- Do you fix bugs before writing new code?
- Do you have an up-to-date schedule?
- Do you have a spec?
- Do programmers have quiet working conditions?
- Do you use the best tools money can buy?
- Do you have testers?
- Do new candidates write code during their interview?
- Do you do hallway usability testing?
Do each of the questions in the test carry equal weight?
Do you care about some points much more than others? Question 8, ‘Do programmers have quiet working conditions?’ was one of the most discussed points in 2000 and in 2019 it is a question that generates much debate today. Spolsky grants every programmer their own office, with natural light, at each of his three companies. This goes against the trend of open plan co-working spaces where some programmers feel the need to wear headphones to block out distractions.
Nearly 20 years on how valuable is the Joel test?
Among RWA’s clients the Joel test is still used and a score is included in company details or job descriptions. They probably won’t score a perfect 12 (Microsoft consistently scored 12/12 and in the original Joel on Software blog most software companies were said to run at 2 or 3), but a score of 9 or 10 will give new hires confidence that they are joining a company that strives to build effective software teams.