Tuesday, May 8, 2007

Fix the basics first

A number of times when people start taking about developing or adopting some software development methodology, they start thinking about something new, unique, different that would help them in overcoming all the problems they face with their existing (or non-existing) methodology.
It is true that software industry is is continuously evolving and we are finding new ways to come closer to our dream of having a flexible, reliable, stable, secured, low cost, user-friendly, rapidly developed with a low-profile team and delivered on-time software as per client expectations (still a dream, isn't it?) but what is not true is that some methodology would make it happen in one go.
The key lesson is that if we only start doing the basic things right then it itself would resolve a number of problems we face in our environment.

So for some chaotic environment, the first step in creating a development methodlogy is to incorporate the practices you already follow but they are not delivering the results. Identify the causes of their failure and try to fix them in the new methodology. The new methodology might not look like a superb shiny silver bullet but if it starts working then this is all you need at this time. Later on you then can go to improve it further by adopting some more advanced methodology or techniques. Make it an iterative process! just like developing a software iteratively.