It’s been 18 years since Joel Spolsky’s 12 steps to better code and since back then, technologies, tools and techniques have improved greatly. In this post, I want to share with you what I think is the checklist any software company should comply with nowadays.
- Do you use source control?
- Do you have a bug database?
- Do you have automated tests?
- Do you work at a sustainable pace?
- Is your build environment version-controlled?
- Can you make a build in one step?
- Can you run all the automated tests in one step?
- Can you ship your products in one step?
- Can you confidently ship today?
I regularly coach and accompany teams to get through these milestones one by one. Just like with The Joel Test, these are questions that you can get a quick yes of no for each one. Give your team 1 point for each “yes” answer. From there, iteratively improve your team’s workflow until you can reach a perfect score!
Granted, these questions tell nothing about the user experience, which in my opinion is the single most important thing we should care for if we want the products to sell and the company to succeed. Still, these nine questions will validate if your team is flexible to changes that naturally occur in the software engineering field.