DEV Community

Jonathan Hall
Jonathan Hall

Posted on • Originally published at jhall.io on

The Jonathan Test: 12 Steps to Better DevOps

Once upon a time, Joel Spolsky (co-founder of StackOverflow) wrote the Joel Test: 12 Steps to Better Code, which he describes as:

My own, highly irresponsible, sloppy test to rate the quality of a software team.

Here’s the test:

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

For a quite while, companies advertising jobs on StackOverflow Jobs could even include their self-scored “Joel Test score”. I don’t see it now, though, so I imagine that feature has been removed.

Many of the items on this list are timeless. Others not so much. In the 20+ years since this was written, the world has changed a lot, and some of these items are nearly laughable. Source control? In 2021, you may as well ask if a company has an Internet connection. Who doesn’t use source control? (Seriously, if you know someone who doesn’t use source control, let me know!)

So here’s my “highly irresponsible, sloppy test to rate the quality of a software team”, hereby dubbed The Jonathan Test:

  1. Do contributors merge their changes into mainline multiple times per day?
  2. Is all code tested thoroughly before merging to mainline?
  3. Is your project built and deployed automatically after every merge to mainline?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have a prioritized backlog of features?
  7. Do you have a reasonably complete automated test suite?
  8. Does everyone have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you do hallway usability testing?
  11. Do developers control their work from start to finish, without a “hand-off” to operations, QA, or some other team?
  12. Can your developers work productively from an airplane?

If you enjoyed this message, subscribe to The Daily Commit to get future messages to your inbox.

Billboard image

Deploy and scale your apps on AWS and GCP with a world class developer experience

Coherence makes it easy to set up and maintain cloud infrastructure. Harness the extensibility, compliance and cost efficiency of the cloud.

Learn more

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay