Workshop

Thursday Morning (April 20, 2000):

Using the Software CMM With Good Judgment

Common concerns in interpreting the Software CMM for different environments are discussed. General principles for good process definition and management are described and then illustrated with issues in interpreting the CMM for small projects and organizations. Interpretation issues include: What does "small" mean? How do I define "project?" "Organization?" What are the CMM "requirements"? Are there key process areas or goals that should not be applied to small projects/organizations?

Professional judgment is necessary to use the CMM correctly since the practices in the CMM are informative rather than normative, but some practices should always be judged necessary for adequate processes, while others are context sensitive. Using the CMM without judgment leads to dysfunctional behavior; some of the drivers and motivations for abuse of the CMM are described.

The conclusion of this presentation is that the issues associated with interpreting the Software CMM in various contexts may differ in degree but not in kind for any organization interested in improving its software processes. Using the Software CMM effectively and correctly requires professional judgment and an understanding of how the CMM is structured to be used for different purposes.

People Issues in Software Process Improvement

"Our greatest asset is our people." This platitude is frequently followed by announcements of layoffs, downsizing, and similar Dibertesque decisions. If people are the most important single factor in success, how do we incorporate that fact into our process improvement programs? This presentation provides an overview of three "people issues:"

  • the People CMM emphasis on attracting, developing, motivating, organizing, and retaining good people, as well as building effective teams
  • rational decision making in the presence of human fallibility and bias
  • understanding organizational cultures and managing change

Process management can be a mechanism for integrating people issues with technological change and continual improvement. Successful process improvement efforts deal with the human side of change, and this presentation closes with a discussion of some of the people-oriented practices of high maturity organizations.

Thursday Afternoon (April 20, 2000):

Practices of High Maturity Organizations

The Capability Maturity Model (CMM) for Software, developed by the Software Engineering Institute at Carnegie Mellon University, is a five-level model for improving the process capability of organizations, which has been widely adopted in the software community and beyond. Although the Software CMM is a popular improvement model, comparatively few organizations have achieved the higher levels of maturity -- levels 4 and 5.

The lack of wide-spread experience with high maturity practices has been a challenge for assessors who wish to appraise level 4 and 5 organizations and for software engineering process groups working to improve their organization's processes. The purpose of this presentation is to discuss the engineering and management practices typically found in high maturity organizations."