Leveraging best practices to improve application development and integration

Process optimization has become a key success element for organizations improving their software delivery capabilities. Successful organizations drive continuous improvement organically through an entity responsible for process management and improvement, e.g., Process Improvement Group, Engineering Process Group (EPG), or Project Management Office. The improvement group generally does its work through a continuous cycle of

  • Identifying the current business needs for process improvement
  • Diagnosing the state of the organization with respect to those needs
  • Establishing a plan for improvement
  • Acting on the plan, developing and incorporating changes into the organization's work
  • Analyzing and learning from the results

Each organization brings unique knowledge and skills, but it can also leverage a wide range of industry best practices. Typically, these best practices are collected in standard models, such as CMMI, the Capability Maturity Model® – Integration. Using a model-based approach, such as a CMMI-focused one, provides a roadmap to help stage the improvements and leverages the lessons that others in industry have already learned.

Background of CMMI

A Capability Maturity Model® (CMM®) contains the essential elements of effective processes for one or more bodies of knowledge. Like other CMMs, Capability Maturity Model Integration® (CMMI) provides guidance to use when developing processes. Maturity models are not processes or process descriptions. The actual processes used in an organization depend on many factors, including application domain(s), organization structure, and project size.

CMMI has its origin in the philosophy and content of the CMM® for Software (SW-CMM) which was developed in the early 1990's at Carnegie Mellon University. The idea of an evolutionary model for software process improvement was captured first in the SW-CMM. Its current Version 1.1, published in 1993, has been used by thousands of organizations as a basis for improving their application development processes.

As organizations used the SW-CMM, many wanted to extend its principles to other groups within the organization such as systems engineering, business analysts, architecture teams, and even hardware engineering. The organizations needed a collection of best practices and a consistent improvement approach that could span more than just software. Often, they needed to build systems using integrated project teams with members from different disciplines and/or organizations. Nearly every significant project had some portion of the system or work that was outsourced. To cover these areas, a more comprehensive improvement model was required. CMMI brings such a set of practices together into one collection.

Using CMMI for Improvement

CMMI provides industry best practices to support an organization's improvement work in four primary categories:

  • Process Management: practices for handling the overall improvement cycle – identifying needs, performing diagnosis, planning the improvements, and managing the deployment of improvement.
  • Project Management: best practices for planning and managing projects.
  • Engineering: technical best practices for performing the software or systems work in projects
  • Support: support functions (such as quality assurance and measurement) that are used by other process areas

An organization can approach a CMMI-based improvement program in a number of ways, including

  • Focus in a particular process category
  • Work on a subset of the process areas from one or more categories, gradually building their capability in those target areas.
  • Structure its improvement using the maturity levels of CMMI, addressing first the process areas that help the organization function successfully within projects, then across the organization.

When selecting an approach that is best suited for an organization, a first decision is to choose a representation of CMMI, either staged or continuous.

The Staged representation defines a set of process areas that represent levels of maturity – and organizations at each level generally exhibit specific behaviors:

Maturity Level Description
Level 1Initial The performance of business processes is ad hoc and inconsistent. Individuals accomplish work often without management support and under adverse conditions
Level 2Managed A basic management foundation is established within each project for stabilizing the conditions under which work is performed so that people are able to repeat practices that they have used successfully in the past
Level 3Defined The organization deploys a common framework for performing its processes, developed from integrating its best practices
Level 4Quantitatively Managed The knowledge created by the common framework is exploited for stabilizing its processes (quantitative knowledge) and propagating learning to make performance more predictable
Level 5Optimizing The organization continuously improves its capability by deploying opportunistic improvements and targeting specific processes for proactive improvement

The Continuous representation encourages an organization to select the order of improvement that best meets the business objectives and mitigates the organizations primary areas of risk, rather than focusing on levels of maturity. Organizations measure process improvement using capability levels of each process area. Each capability level corresponds to a level of institutionalization of the specific practices within the process area.

Level

Description

0 Incomplete
1 Performed
2 Managed
3 Defined
4 Quantitatively Managed
5 Optimizing

The Role of Appraisals

In diagnosing or verifying the current state of the organization, CMMI provides alternatives for very formal appraisals as well as less formal gap analyses. All CMMI appraisals incorporate common process assessment principles:

  • Senior management sponsorship of the appraisal
  • Business objectives as the focus that drives the appraisal
  • Confidentiality of interviews
  • Use of a documented appraisal method
  • Use of CMMI as a process reference model
  • A collaborative team approach
  • A focus on actions for process improvement

The most rigorous appraisal approach (often referred to as a "certification process") is known as the Standard CMMI Appraisal Method for Process Improvement (SCAMPISM). Less rigorous appraisals are generally used for internal self-assessment or for interim progress assessments.

Appraisals, as well as the overall improvement process, must fit into the organization's strategic plan. Organizations invest in their improvement on a continuous basis, with a level of investment justified by projected improvements in areas such as productivity, quality, and customer satisfaction. Planning for process improvement is often done, therefore, as part of the annual strategic planning cycle, deciding which opportunities for improvement are most appropriate for current and long-term business needs.

Further Information


SM SCAMPI is a service mark of Carnegie Mellon University.

Imprimir Informações Comerciais

Borland Acquires Teraquest, a Leading Global Process Consulting Firm

In early 2005, Borland acquired TeraQuest Metrics, Inc., a global process consulting firm. The addition of TeraQuest creates one of the industry's most comprehensive process optimization practices, leveraging deep experience and proven offerings in CMMI, software improvement, quality assurance and risk management.

"TeraQuest has spent the last 12 years partnering with global organizations to strengthen their business and software development processes," said Dr. Bill Curtis, co-founder of TeraQuest and now Borland's Chief Process Officer. "Over the years we've learned that successfully improving a software organization's effectiveness requires the integration of business, development and deployment teams through a seamless process."

Borland Teraquest's Process Optimization Practice provides Fortune 2000 companies and governments with assessments, consulting, certification, measurement and training to improve software and business operations.