Right Process Orientation
Plenty of best practices about software development have evolved over time and many more are evolving. There are certifications like ISO or CMM which force companies to think about them and use them. Some modern best practices are grouped in agile methodologies like eXtreme programming (for which there are no formal certification authorities yet). However, the most important thing to realize is that there is no one shoe that fits all. From the wide array of known best practices, it is wise to choose the right ones and tailor them to best-suite the project at hand.
The processes have evolved to address certain risks in the projects. Yet, many processes have non-trivial overheads. Hence trying to implement too many processes can easily increase the project efforts many folds.
A case in point is the project documentation. Documentation helps bring clarity to various aspects of the software – not only the requirements but also the design, test plan, test cases and results. However, most projects do not require all this rigor. Writing documents and maintaining them to be in sync with changing requirements is a non-trivial effort and can become a major percentage of the project effort. Minimize that, and it brings down the overheads.
|