Skip to content

Instantly share code, notes, and snippets.

@briankung
Last active March 6, 2024 22:43
Show Gist options
  • Save briankung/7576089 to your computer and use it in GitHub Desktop.
Save briankung/7576089 to your computer and use it in GitHub Desktop.
The Joel Test: 12 Steps to Better Code

The Joel Test: 12 Steps to Better Code

I just wanted to make note of Joel Spolsky's "highly irresponsible, sloppy test to rate the quality of a software team." It seems like a pretty straightforward and comprehensive litmus test for overall quality of a software team. For your viewing pleasure: The Joel Test.

In short, the steps are:

  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?

Each has its own explanation, but the one in particular that I want to focus on, perhaps because I'm more of a writer than a software developer, is #7, "Do you have a spec?" I see this as being similar to RDD (Readme Driven Development), but I want to be sure before I go on. He does go on to write four more articles entirely on #7 (Why bother?, What's a spec?, But...how?, and Tips), so I assume there's a lot more to learn.

I'll update this after I've read through all of it, which will have to happen tomorrow.

Speaking of RDD, there are some critical responses to the concept here.

~

UPDATE - call me naïve, but the spec articles were incredibly boring, as was the example spec itself. I also wonder what the point of a spec is in an agile environment with stories. Aren't the stories a living spec?

RDD, specs, and Agile is all getting jumbled up in my head. I think I'll just need to get into it and figure out what works for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment