CMM and the PMBOK

p>CMM or CMMI may be the most prominent qualityAll these areas, with the exception of software
standards for software. CMM/CMMI goes beyond theconfiguration management, are described in detail by
scope of standards such as ISO to define the criteriathe PMBOK. Software configuration management is
for good software processes, which is what makesnot covered and is normally considered one of the
the standard so attractive to organizations with ITprocess assets that the project will inherit from the
shops. CMM/CMMI is intended to govern processes oforganization performing the project. Software
the entire IT organization, and the complete lifecycle ofsubcontract management does not apply to every
software applications so must include the processesproject, so if your project does not require the
used to govern the development of the software.procurement of any products or services externally
CMM/CMMI's influence on processes that governthis area can be ignored.
software development means that it also influencesCMM focuses on understanding the needs of the
the way that software development projects arecustomer of the software project, translating those
managed. PMI's PMBOK (Project Management Bodyneeds into requirements, and documenting those
of Knowledge) is recognized around the world as therequirements. The capability striven for in this area is a
bible of project management best practices. Thesecommon understanding of what those requirements
apply to the management of projects in any industryare and proper documentation of the requirements so
including the IT industry so the best practices of thethat they can be used to performing and tracking the
PMBOK will be influenced by the CMM/CMMI standardproject's activities. Project planning focuses on the
in any organization that wishes to apply the twodevelopment of realistic estimates for the work which
standards.must be performed and obtaining the commitments to
So far as I know, no-one has attempted to create ado the work. Planning also includes identifying the goals,
CMM or CMMI standard that is tailored to the PMBOKeffort estimation, resource requirements estimation,
and no-one has customized the PMBOK toscheduling the work, and identification of the risks to
accommodate CMM or CMMI. This article is mythe plan. Project tracking and oversight requires the
attempt of offer guidance to the project managerproject manager to establish sufficient visibility into
who is charged with managing a software project inproject performance so that deviations from the plan
an organization that is certified at a CMM/CMMI levelcan be detected and corrected. Corrections can
of 2 or above. Fortunately, these two standards areinclude re-planning the work or taking actions that will
by no means mutually exclusive; however they doallow the team to meet the existing plan. Subcontract
influence one another so some care should be takenmanagement governs how qualified subcontractors
with the processes used for the project. The bestare selected and managed. The purpose of quality
way to address the relationships is by Key Processassurance is to provide visibility into the processes
Area (KPA) which happens to align fairly closely withused and products built by reviewing products and
Knowledge Areas described in the PMBOK. This is notprocesses to ensure compliance with the established
a manual on achieving CMM or CMMI certification, notstandards. Software configuration management
is it a manual on implementing PMBOK best practices,establishes and maintains the integrity of the products
I'm simply pointing out ways of aligning the twoand components through the build process and
standards. Since the intended audience for this article isthroughout the lifecycle of the software. This integrity
mainly project managers, I'll begin it by providing someis established by controlling changes to the product
background on CMM/CMMI.configuration using a baseline library. Changes to
Backgroundbaselines are controlled by change control processes.
CMM stands for Capability Maturity Model. CMMILevel 3 focuses on project and organizational issues
standards for Capability Maturity Model Integration andthat formalize effective software engineering and
evolved from CMM. CMM was developed for the USmanagement processes across all projects. The goal
federal government by Software Engineering Instituteis the improvement of the organization's processes.
(SEI), which is associated with Carnegie MelonThe project manager cannot be responsible for
University (CMU) for the purpose of measuring theorganizational standards, but can ensure that the
quality of a defense contractor's processes. CMMproject they are managing supports processes at level
evolved to become a roadmap for continuous3. The areas that comprise level 3 are:
software improvement through 5 stages: Initial,Organization process focus (the focus is applied to the
Repeatable, Defined, Managed, and Optimizing, thenlevel in general)
further refined to address problems with integrating- Organization process definition
CMM processes across the entire organization. The- Training program
way the SEI set out to do this was to identify different- Integrated software management
process areas, to define the processes critical to each- Software product engineering
process areas, and to define criteria the processes- Inter-group coordination
ought to meet. Processes in each of the Key Process- Peer reviews
Areas (KPA) evolve through each of the levels ofProcess definition develops and maintains the set of
maturity until they reach level 5. The model is notprocess assets the deliver performance
meant to advance every practitioner's processes toimprovements. It also defines the data required by
level 5. Level 5 is intended for organizations such asquantitative process management. One example of
NASA who have a need for that level of processthis data would be test results. The process doesn't
maturity.address specific tests but rather how the test results
Level 1 is the beginning stage for the model and in factwill be used to improve software development.
any organization that creates software will be definedTraining is focused on developing the skills and
at level 1. Level 2 requires that project managementknowledge to execute the processes CMM has
processes are established to track cost, schedule, andimplemented and the tasks called for by the project
functionality. This is the stage that any project thatplan. The processes and focus in this area are pretty
implements the best practices from the PMBOK will bemuch unchanged from the PMBOK. Integration fits the
at and requires no rationalization between the PMBOKproject's processes into the organizations standards,
and CMM. Level 3 requires that software processespolicies, and assets while meeting the technical needs
for both management and engineering be documented,of the project. PMOs or PMCs are probably the most
standardized, and implemented across the organizationcommon example of this. Engineering processes are
on all projects. This is the level that requires a degreesimply the processes and tools used to produce the
of coordination between project management andsoftware. One example of software product
CMM.engineering is RAD (Rapid Application Development).
Level 2 CMM requires processes in the followingCode compilers and web application development
areas:platforms are other examples. Inter-group coordination
- Requirements managementintegrates the processes and tools used by the groups
- Software project planningacross the project. An example of this integration
- Software project tracking and oversightwould be the participation of the Business Analyst
- Software subcontract managementgroup in reviewing designs produced by the software
- Software quality assurancedevelopment group. Peer reviews refer to design
- Software configuration managementreviews, code reviews, or code walkthroughs.