Sunday, August 5, 2007

Importance of process improvement over software methodology

The MPMM site has an explanation of what a methodology is. But what do you understand from the first 3 words of the explanation “A methodology tells”? I believe the word “tells” can be interpreted differently, such as an instruction or explaining some finding. How many times have you heard someone blaming a project that is ineffective executed due to poor design or insufficient requirement gathering? A very interesting quote from HackNot - “To Those About to Hack”:

people whose immediate reaction to the imposition of a deadline is to rush head-long into the coding task, giving little or no consideration to so-called "formalities" such as requirements elicitation, design, planning and preparation. Since the advent of Agile Methods, this approach seems to be frequently euphemized as "being agile". Fearing the bogeyman of BDUF (Big Design Up Front) as espoused by the AM proponents, the Georges decide to opt for no design at all. They just start hacking, figuring they can always come back and refactor it later ... and sometimes, they actually can. Other times, as George found out above, the decisions you make early in a project limit the options available to you later.

Interestingly, Classic Mistakes Updated has a list of 36 mistakes for Rapid Development. If there are so many classic mistakes, then why should it be chosen to be used in the first place? Methodology should be a set of guidelines to follow, but not following it blindly. Choosing the right methodology to use, fine tuning it to suit a project and discipline in applying what is defined is an important process and execution in such project management. Else, no perfect methodology will work.

How often did a project get into the closing stage of a project management phase? More often than not in the real world, project team is usually rushed to start the next project even before the current project has been closed. As such, members of the team do not have the time to reflect and review on what they have done and what challenge they have encountered from their past experience. Thus, result in making the same mistake over and over again without improving. Therefore, to get out of the loop, process improvement is very important then just applying software methodologies on projects blindly.

Methodology is all about process and improving the process should be a major consideration to look at, as everyone and organization should work towards improvement. Capability Maturity Model and Six Sigma are some process improvement model that may be applicable to you. Do give a consideration on the power of process and the importance of process improvement in the future. Give more thoughts on it, rather than trying to sound cool talking about the latest methodology without trying to improve.

No comments: