views:

339

answers:

4

The Joel Test is an excellent, simple metric for gauging software team quality (and potential pitfalls). But what if you are acting as an independent programmer, a MicroISV, or a one-person shop? Some aspects of the original test don't apply (hallway usability testing, interview questions), while other aspects are missing (things specific to the MicroISV).

Can we improve the Joel Test for the independent programmer?

The original 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?

To jumpstart discussion, right away I would posit that #11 and #12 do not apply in the daily life of a MicroISV, and could be replaced with:

  1. Do you regularly learn new things (languages, frameworks)?
  2. Do you regularly perform work outside of your domain (solve problems on stackoverflow, do puzzles or interview riddles)?
  3. Do you bounce ideas (or have actual code reviews) with your peers?

There are also several work/life balance metrics (key to software quality) that would also be useful here.

+1  A: 

The Joel test should be applied to complex projects, for simple projects it doesn't make that much sense, you are talking about independent programmers and most of the times, projects handled by only one person are not that complex, for this type of projects while is helpful to have in mind this steps, is more important to focus in other aspects like.

  1. Do you talk to your customer everyday? For one person project, intimate and good personal relations are critical.
  2. Are you motivated? Well let's face it, a demotivated developer in a team is bad, but if you are the only one in the team...
  3. Can you handle all the workload?

...

Alberto Gutierrez
I don't think that the Joel test is about projects. It's about organisations, often in the context of do you want to work there.I think it's good idea to evaluate one's own approach. The Joel test criteria are pretty applicable I think.
djna
Well, don't get me wrong... I think all these points are important as well, I only thing that for one man project are not critical...
Alberto Gutierrez
A: 

11 Do new candidates write code during their interview? = do not apply for a uISV

I disagree - this is vastly more important in a uISV.
The larger the company the less the effect of hiring a useless programmer, there are a 1001 other roles they can be pushed off into. From testing to CTO.

For a small team of programmers it is vital that a new hire can program. I want to see lots of evidence of programming ability, and probably a compatible style before riskign my company on the hire.

Martin Beckett
It doesn't apply *in the daily life* of a uISV or independent programmer. If you are regularly hiring, you are not a uISV.
Jason
A: 

How well do I/we estimate? Pretty critical for a lone programmer.

Not to say it's not important for larger teams, and I'm interested that it doesn't feature on Joel's list. Maybe it's just too hard to determine the answer.

djna
+2  A: 

The Joel test is good to determine if your programming team's practices are up to par with the likes of Microsoft. But it seems to me that much of it is irrelevant to a Micro-ISV.

I like this though : 25 steps for building a Micro-ISV

This list isn't a test but more of a checklist for building a Micro-ISV. It includes everything involved in starting up your Micro-ISV, setting up your website, automating builds/releases, using PAD files, selling and supporting your product(s), etc -- basically everything you should be thinking about to become successful and streamline your efforts.

He's working on writing articles for each item in the list, but still has a ways to go.

Steve Wortham