Home > Programming > Quality of a Software Team

Quality of a Software Team

For long I was thinking of doing my customised version of “how to judge the quality of a software team”, and so a very good starting point is The Joel Test. Following are the updates or my insights on some of those criterias –

1. Do you use source control?
This seems a bit old. These days, I believe most of the companies do use source control (if not, please don’t even think of working there). The twist to this one is – do you use VSS? If yes, then it’s the same as not using any source control. I know it’s not the same but there is virtually no difference, because it means that the company is using this particular source control tool because it came free with some other product. It also means that none of the programmers in the team care to read about and use other better (open source, hence free) source control tools. Or the second twist to this is – do you use an older version of TFS? The reason for this question is that the older versions of TFS don’t support continuous integration (CI) and hence the chances are very high that the team doesn’t use any tool for doing CI. Same is true for a team using VSS. Which brings us to point no. 3 in The Joel Test –

3. Do you make daily builds?
The twist to this one is – do you use any tool for doing CI? If not, then again the chances are very high that there are no daily or frequent builds. Most modern CI tools like CruiseControl.net or TeamCity make it a breeze to do CI and are a must for any team. Which brings us to point no. 2 in The Joel Test –

2. Can you make a build in one step?
Sometimes even if you use a CI tool, the team might not have the capability to make a build in one step. Needless to say, it is a very important capability.

9. Do you use the best tools money can buy?
The twist to this one is – do you at the very least use Resharper? If not, then again, the chances are very high that there is virtually no refactoring being done in the project, and any shit once included, remains there for eternity. Resharper makes it an almost zero effort in many of the tasks like renaming a file etc. which waste unnecessary programmer minutes. The bigger twist to this is – do you use any open source frameworks? The reason is clear, if you are not, then the chances are very high that the developers in the team don’t even care to read / experiment with ways of developing software other than the prescribed (MS) way, and obviously, ‘The Way’ 😉 is not the best way in many scenarios.

A few worthwhile additions to the list are –

13. Do you do pair programming?
I am yet to work in a company which develops all code in a pair-programmed fashion, but if you don’t write any code in this fashion, then again the team is missing something. Obviously sometimes two people in the team sit together to discuss some difficult task, or they debug a difficult bug, but the question is – do two people sometimes refactor existing code? If not, then the chances of rotten code are extremely high.

14. Do you write unit tests and are they all run before each check-in?
If the answer to the above is ‘no’ then again, there is no refactoring going on, and hence most likely, no CI.

I’ll keep updating this list whenever needed. Please let me know your personal twists or additions to The Joel Test. Btw, if the answers to all of the above are ‘yes’ then either you are already following Agile development or if not, then you and your team are very close to being agile.

Note: I am a C#, .Net developer and this post applies squarely for developers / companies working on MS platform.

Categories: Programming
  1. parag medsinge
    January 4, 2010 at 5:09 am

    Good to hear that at last you r in the enviornment which you are looking for . Keep posting your experiences . Best luck and happy new year to you and your family

    • mmwaikar
      January 4, 2010 at 11:44 pm

      Thanks for the wishes buddy, and thanks for visiting my blog and the encouragement 🙂 My warm wishes to you and your family on this New Year.

      Yes, I am lucky to get such a nice project with very nice and intelligent people. The architect on our project, Jon Arking (who hired me) has already written a few books, and his recent book, Professional Enterprise .Net just hit the shelves. So it is like the Investran team, only that this time I am on the right side of the fence 🙂

  1. No trackbacks yet.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: