Software development capability

Last month's column introduced the Capability and Maturity Model Integrated and its five maturity levels related to software development: 1. Initial 2. Managed 3. Defined 4. Quantitatively managed and 5. Optimized. Organizations at high "maturity levels" are much better at meeting schedules and report far fewer software defects.

By Dennis Brandl, BR&L Consulting August 1, 2005

Last month’s column introduced the Capability and Maturity Model Integrated and its five maturity levels related to software development: 1. Initial 2. Managed 3. Defined 4. Quantitatively managed and 5. Optimized. Organizations at high “maturity levels” are much better at meeting schedules and report far fewer software defects.

Level 1 organizations have few or no rules for software development. They often go from crisis to crisis, expending large amounts of effort during releases, with the ultimate success of the project based on the developers’ skills. Released products may have one bug for every 1,000 lines of code (or 1,000 rungs of ladder logic). Projects associated with Level 1 organization range, on average, from 50% to 100% over time or budget.

Level 2 organizations are better managed and software development is repeatable. Level 2 organizations have processes in place for requirements management, project planning, configuration management, software quality assurance, subcontract management, and project tracking. Compared to Level 1, Level 2 organizations have a 25%-50% reduction in code defects, which reduces support costs and emergency fixes by more than 50%. Level 2 projects range from 25% to 50% over time or budget. However, processes are project specific and processes, management methods, and successes vary across the organization. Project success is based on the skills of individual managers. Moving from Level 1 to Level 2 is based on individual managers’ commitment to improving quality and productivity, rather than technology or development tools.

Level 3 organizations use the same process and methods across the whole organization. They have defined and documented processes, with training to bring all management to a minimum level of competency. Processes typically include all Level 2 processes plus peer reviews, training programs, and formal cross-group coordination. Software development is repeatable across the organization and all groups use best practices. Defect rates may be 25% to 50% lower than Level 2, further reducing maintenance efforts on code and emergency fixes. Level 3 organizations follow their processes even under schedule pressures because management recognizes that it is the fastest way to finish. Projects are, on average, no more than 25% over time or budget. Project success is based on training and documentation of processes. Moving from Level 2 to Level 3 requires executive commitment to improving quality and productivity.

By extending Level 3 capabilities to include management processes that measure process performance and adapt the development process for specific projects without quality loss, Level 4 organizations have statistical control over the quality of processes and products though use of statistical quality control charts and other tools to quantitatively manage projects. Project problems are quickly recognized and corrective action taken. Error rates decrease and ability to meet schedules and budgets sees real improvement. Most projects finish on target. The success of projects is based on the ability to objectively evaluate a project’s performance and have processes in place to take effective early action. Moving from Level 3 to Level 4 is based on a management commitment to finding problems before they get out of control.

Level 5 organizations add continual improvement processes to their Level 4 capabilities. These organizations use quantitative measures to proactively find the source of errors and correct the processes. Error rates may be as low as one defect per 1,000,000 lines of code. Six-sigma and other improvement processes are ingrained in the organizations’ cultures. Projects are on target.

Control programming is a programming task, and organizations that take it seriously should know how they stack up against good and best-in-class organizations. While technology and individuals can help, the primary source of improvement remains in management’s commitment to quality and executive involvement. See www.sei.scmu.edu for more information.

Author Information

Dennis Brandl, dbrandl@brlconsulting.com , is the president of BR&L Consulting, a consulting firm focusing on manufacturing IT solutions, based in Cary, NC.