2008-05-11

The Joel Test

Ok, so I started writing about my Job and I can't stop now. :)

I decided, to evaluate the company I work for with The Joel Test. I'll try to explain my answers to all questions and maybe I will make some conclusions. So, let's start it already!

The Joel Test as it appears on the Joel on Software:

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

Let's answer those questions one by one.

Do you use source control?
Yes, we do. The source control we use isn't the best in the world, but we do use it.

Can you make a build in one step?
No, we don't. We have a lot of projects in our repository, and all of those projects get updated from time to time. Building the project, usually, involves getting one of the developers to get the latest copy of the source, and building it manually in Visual Studio. If necessary - version numbers must be updated manually. Packaging must be handled manually. Basically, we don't have any official build process - each developer does it however he likes it.

Do you make daily builds?
No, we don't. We should, though. There are people who use the projects we develop. Currently, we have to e-mail updated versions of the applications. If we'd make nightly builds - we could as well make those available for the people who use the projects. So, they'd be always using the latest versions, and we wouldn't have to worry about sending the projects to them.

Do you have a bug database?
No, we don't. This one, actually, frustrates me. The common practice, is to report bugs via e-mail to the developers responsible for the project. I don't think I have to explain, why e-mail based issue tracking is bad.

Do you fix bugs before writing new code?
Yes, we do. If we wouldn't fix bugs before writing new code - we wouldn't be able to make money. We actually rely on our projects being bug free. So yeah, we do fix bugs, before we write new code.

Do you have an up-to-date schedule?
No, we don't. But we are trying to change this. In general, we don't have any schedules. It's kind of hard to make schedules for old projects, but for the new projects - we sometimes write schedules.

Do you have a spec?
Yes, we do. I don't have anything to add - we have specs.

Do programmers have quiet working conditions?
No, we don't. This isn't very annoying to me, because I work at home. Sometimes I do go to work to the office, however. When I do - it's not really quiet. All developers sit in one office, together with the administrator and the boss (not that boss).

Do you use the best tools money can buy?
Yes and No. See my previous post about not using the best version control system.

Do you have testers?
Sort of? I don't know if I can call them testers. They're actually the only users of our applications, and it's not in they're job descriptions to test the applications. But they do the tests, they report issues... Kinda like testers... I guess, they are testers, then.

Do new candidates write code during their interview?
No, they don't. When I had my interview - I didn't have to write any code at all. I don't think there were changes in the hiring process since then. I could say something in defense, however. We don't really need them to write code, because we never hire unknown people - all of the developers hired so far were friends of someone who was already working for the company. You won't even get asked to come to an interview, otherwise. So, the company already knows, that the guy is capable of writing code.

Do you do hallway usability testing?
No, we don't. But it's not really needed. Our company is the only user of the applications that our company makes. Because of that, we don't really need the hallway testing.

So, what's the score? We have 3 yes'es, 2 sort of's and 7 no's. Our score is 3. According to Joel:
A score of 12 is perfect, 11 is tolerable, but 10 or lower and you've got serious problems. The truth is that most software organizations are running with a score of 2 or 3, and they need serious help, because companies like Microsoft run at 12 full-time.

Something, obviously, has to be done. I hope my boss will see this... ;)

No comments: