10

I just learned about the Joel Test. I have been computer programmer for 22 years, but somehow I never heard about it before. I consider my best job so far to be this small investment managing company with 30 employees and only three people in the IT department.

I am no longer with them, but I had being working there for five years – my longest streak with any given company. To my surprise they scored extremely poor on the Joel Test. The only two questions I would answer “yes” are #4: Do you have a bug database? And #9: Do you use the best tools money can buy? Everything else is either “sometimes” or straight “no”.
Here is what I liked about the company however:

  1. Good pay. They bragged about it to my face, and I bragged about it to their face, so it was almost like a family environment.

  2. I always knew the big picture. When writing code to solve a particular problem there were no ambiguity about the business nature of that problem. Even though we did not always had written specifications we could ask business users a question anytime, often yelling it across the floor. I could even talk to executives any time I felt like doing it: no appointment necessary.

  3. Immediate feedback. Once we implement a solution and make business users happy they immediately let us know that, we (programmers) become heroes of the moment.

  4. No red tape. I could always buy any tools I deemed necessary, and design solutions the way my professional judgment dictates.

  5. Flexibility. If I had mid-day dental appointment that is near my house rather than near the office, I would send email to the company: "FYI: I work from home today". As long as one of three IT guys was on the floor (to help traders in case their monitors go dark) they did not care where two others were.

So the question thus becomes: How valuable is the Joel Test? Why bother with it?

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
henry
  • 217
  • 1
  • 3
  • 2
    Related : http://programmers.stackexchange.com/questions/2776/what-do-you-think-about-the-joel-test – Morons Oct 27 '13 at 18:56
  • 1
    I consider it a guide to a few of things that might make it a good place to work as a developer. I don't consider that all the things on the list are equally important for all jobs, and I certainly don't consider it an exhaustive list. – JohnB Oct 27 '13 at 18:59
  • 1
    The joel test is about a software development team, not a whole company (unless the whole company is nothing but a software development team) – Bryan Oakley Oct 27 '13 at 19:29
  • I'm surprised you don't Hallway Test. – JeffO Oct 27 '13 at 19:45
  • 3
    Employee *comfi-ness* is not a measure of ability to deliver large scale reliable software on a reliable timeline. – rwong Oct 27 '13 at 22:50
  • 1
    Take note that underneath the Joel test is a justification for each recommendation. Some of those justifications touch on issues that are less relevant to small companies. – Brian Oct 28 '13 at 00:18
  • Although your company surely was a good employer, I think especially #2 (and #3) would not scale in a bigger company with more software developers. It worked for your company with 3 devs, but would it worked, if there were 50 devs and 500 employees? And I've experienced that #4 and #5 can extremely depend on your current boss, if there are no standard guidelines or processes. – Simon Oct 28 '13 at 07:37

4 Answers4

9

I think it's important to keep in mind what the Joel test is for.

I don't think it in any way measures working conditions at a company. I don't think it was ever meant to do that. Your question seems to imply that this is what it gauges.

Joel claims this is a test is to

come up with my own, highly irresponsible, sloppy test to rate the quality of a software team.

Personally, while I believe everything on that list is important, I don't believe it is an accurate measure of how "good" a team is. Nothing is going to replace smart people with a solid work ethic.

If you have a team of smart people with a solid work ethic with a 0 on the Joel test, it will outperform a team of lazy idiots with a perfect score on the Joel Test any day of the week.

That being said, a team of smart people with a solid work ethic will likely implement at least some of the things on the Joel test.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
Morons
  • 14,674
  • 4
  • 37
  • 73
  • 2
    bunch of smart people in bad conditions may not outperform bunch of lazy idiots. If they were smart, they would leave quite quickly – BЈовић Oct 27 '13 at 19:45
  • 2
    Yes they will, because a bunch lazy idiots will produce nothing. – Morons Oct 27 '13 at 20:02
  • If you are being paid at much higher than market rates, you may well want to choose to work for a place that uses crappy development methods. – Gort the Robot Oct 27 '13 at 20:26
  • 7
    If you have a whole team of smart people who aren't even using source control, something is **very, very wrong**. – Alex P Oct 28 '13 at 02:22
5

The Joel Test has nothing to do if you can have a comfortable position in a company. And #9: Yes, it is a sign that you can where you are.

It's about professional software development. In a very small IT with a small codebase that everybody knows very well, not all of the points are as important from my opinion, but 1-3 are:

1) Do you use source control?

This is essential. Set up a Git or Subversion repository immediately to have the possibility to check changes made since the last release to identify a buggy change or retest a report on a non-actual version.

2) Can you make a build in one step?

Build (and test everything) should be as easy as possible to force the developers to do it often!

3) Do you make daily builds?

A continious integration server is set up easily (like Jenkins, CruiseControl or a professional one like Bamboo or TeamCity) and ensures every change will be tested automatically and every developer gets informed about failures. 1. and 2. are prerequisites for this one!

The other point become more important the more developers are working on the code and the more complex the software becomes. For some of them there are work arounds (headphones for 8. for example.), but all of them will make a software company become more professional I think.

So think about it, and see if some of them make sense for you and which of them you can start by yourself. Point 1. to 3. should be possible and the preconditions can be done by one developer on a single day.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
Arne Burmeister
  • 219
  • 1
  • 6
5

Keep in mind that Joel's perspective is from within a software company (Microsoft, Stackoverflow). The idea behind the test is that a company should be, or strive to be, competent when working within their primary field.

From your description, it sounds like software was not the primary business of your company. If you described the company as an "Enterprise investment software provider" with 30 developers instead of 3, the test might be a better indicator of competency.

Additionally, if you applied the concepts behind the test to their primary business, they would probably have a decent score: Do they have a way to track the history of investments made? Can they make a transaction in as few steps as possible? do they have a spec/algorithm/process for investments? etc...

FMJaguar
  • 3,039
  • 18
  • 14
  • Largely agree with this answer. Having said that, there are certain questions on there which are broadly applicable and one - #1 - that I consider essential to the point that if anyone answered "no" to it I would not consider accepting a job there under any circumstances. – Carson63000 Oct 28 '13 at 00:35
3

I can't stand Joel test because it requires you to give a simple yes or no answer. Below I'll give few examples on how this test completely fails in my eyes.

Do you use source control?

  • A1: Yes
  • A2: Yes, I do a check in once a week and I don't have any kind of version control strategy.

Do you have a spec?

  • A1: Yes
  • A2: Yes, it's written on a bit of A4 paper somewhere on my desk.

Do you have testers?

  • A1: Yes
  • A2: Yes, we have two testers and 20 developers.

Do new candidates write code during their interview?

  • A1: Yes
  • A2: Yes, we ask them to write FizzBuzz app

My point is, that if somebody simply gives you a 'Yes'/'No' answer, than it won't tell you anything about their company. I personally get put off the company as soon as Joel's test gets mentioned.

CodeART
  • 3,992
  • 1
  • 20
  • 23
  • 4
    Why do you get put off by a company mentioning it? Doesn't that mean that they are aware of software standards and are trying to improve themselves? Surely that's a good thing. – Dominique McDonnell Oct 27 '13 at 21:19
  • Your answer demonstrates that it is pretty easy to give a 'yes' answer to many of those questions, so if we were interviewing with a company that claimed to be developing software at a level similar to MS/SO, and they are scoring a 3... we know that their development may be suspect. The point of the test is not to measure the entire company, but to set some minimum bar, a 'fizzbuzz' test for companies claiming to be developing sizable software products. – FMJaguar Oct 27 '13 at 23:27
  • 1
    Heh, even better is the "No" you can give, for example, my company do hallway usability testing? Well no, we have no hallway. We have the best tools money can buy? Well no, we have the best tools we could buy. Do you have testers? Well, if you mean sending stuff for free to costumers warning them it is a test, then yes, otherwise... no. Do you have a bug database? No, when bugs happen we fix them immediately. Can you make the build in one step? No, the SDK we have to use don't support it at all because their weird DRM. – speeder Oct 29 '13 at 15:05