Tom Feliz, Tektronix
When most Software Engineers think of software process assessment and improvement, images of high paid consultants, byzantine process frameworks, and expensive audits come to mind. Established process frameworks, such as the Capability Maturity Model Integration (CMMI), are focused primarily on external certification and less on internal process improvement. Software process assessment and improvement need not be a heavyweight and burdensome endeavor. The best software organizations make process improvement an integral part of their organizational development and culture. The approach outlined in this paper describes a lightweight software process assessment and improvement approach that is practical, customizable, and can be implemented with reasonable effort. This approach is particularly relevant for smaller software organizations, which bear the costs of software process improvement (SPI) disproportionately.
For most software organizations, the value and benefit of assessing organizational maturity is in identifying tangible process improvement initiatives based upon well-established Software Engineering best practices. Considerable research has been conducted over the past 40 years into the practices that yield the biggest return on investment in regards to defect removal efficiency and developer productivity. Some of the most comprehensive research has been conducted by Capers Jones of Software Productivity Research (SPR). SPR has compiled a large database measuring the relative effectiveness of most common software practices. This data forms the basis of the software process assessment and improvement approach proposed in this paper.