Thursday, October 29, 2009

Lessons Learned in Framework-Based Software Process Improvement

Abstract
Software process improvement (SPI) has emerged as a critical area for organizations involved in software development. There is now considerable evidence that SPI can provide substantial gains in quality, productivity, and cycle time. Currently, most organizations that embark upon a SPI program tend to use a framework like the Capability Maturity Model for their process improvement. In this article we discuss some of the lessons learned in using these frameworks for software process improvement. First, three critical success factors are discussed. The rest of the lessons have been grouped into three categories – framework related, process related, and SPI management related. For each category we discuss a few key lessons. These lessons are based on the experience of the author in implementing a CMM-based SPI program in a large software organization in India, and helping many organizations in India and other countries (primarily the US and Mexico) with their SPI programs.

Rules of Software Process Improvement

Software process improvement is a complicated, systematic, and highly professional activity in software engineering that requires theory and models, skilled technical and managerial staff, as well as motivated top management commitment. A set of basic rules that predominate over software process improvement is summarised as follows:


Rule 1: Software process improvement is complicated system engineering.
A process improvement programme has to be thoroughly planned.