Monish Nagisetty's Space

Building connectivity on-premise, in the cloud and beyond

The Joel Test

I was reading Joel Spolspky’s Joel on Software and couldn’t help but post one of the excerpts from the book.  Joel Spolsky was one of the few people who worked on the Excel team and the Juno system.  In his book, Joel came up with a list of questions to test the quality of a software team.  Although, the answers to SOME of these questions are extremely obvious; I am sure that not every software team has the aptitude or financial backing to follow these “best practices”.  However, he answers each question with a pragmatic view at what creates good software.  I will have to admit that I did not answer yes to all of these questions but in the future I hope to make these practices into habits of my development efforts.  Feel free to answer or post your own comments on what you think about these questions.  What steps do you follow to maintain sanity and create quality software?

1.  Do you use source control?
Yes! My company’s clients would scream if we didn’t!

2.  Can you make a build in one step?
One? Maybe 2 or 3.  I have leveraged .NET setup projects to simplify deployment before but I would imagine that it does not work seamlessly when deploying large enterprise solutions.  Perhaps Microsoft’s ClickOnce Deployment will streamline the deployment process in VS2005. In fact, check out this demo lab that walks you through ClickOnce!

3.  Do you make daily builds?
Perhaps no, but I can see how important this is when you have > 3 developers on your team.

4.  Do you have a bug database?
If by database you mean Excel Shared Workbooks then Yes.  I think this is a great idea but may require some work to setup.  I am sure there are others but check out BugTracker.NET

5.  Do you fix bugs before writing new code?
Makes sense.  Fix bugs in code while it is still fresh in your mind.   FWFF? (First Written First Fixed)

6.  Do you have an up-to-date schedule?
I sure hope so…Especially if your team lacks a Project Manager.

7.  Do you have a spec?
Do I even need to answer this one?

8.  Do programmers have quiet working conditions?
I think this is very important.  Joel goes into great detail on this one.  He talks about how programmers get into the “zone” and how important it is to work in quiet conditions to think clearly. 

9.  Do you use the best tools money can buy?
Not always, sometimes we have to work with what we have.

10.  Do you have testers?
Not every team, project or budget can support testers.

11.  Do new candidates write code during their interview?
I believe some of our client interviews actually require us to write code.

12.  Do you do hallway usability testing?
Aaah! We did some of this in college and it was very helpful in finding very simple UI design problems.

The other great use of these questions is that they can be used to interview an employer to find out what kind of work environment the company promotes.


July 19, 2005 - Posted by | Uncategorized

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: