| p>CMM or CMMI may be the most prominent quality | | | | All these areas, with the exception of software |
| standards for software. CMM/CMMI goes beyond the | | | | configuration management, are described in detail by |
| scope of standards such as ISO to define the criteria | | | | the PMBOK. Software configuration management is |
| for good software processes, which is what makes | | | | not covered and is normally considered one of the |
| the standard so attractive to organizations with IT | | | | process assets that the project will inherit from the |
| shops. CMM/CMMI is intended to govern processes of | | | | organization performing the project. Software |
| the entire IT organization, and the complete lifecycle of | | | | subcontract management does not apply to every |
| software applications so must include the processes | | | | project, 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 govern | | | | this area can be ignored. |
| software development means that it also influences | | | | CMM focuses on understanding the needs of the |
| the way that software development projects are | | | | customer of the software project, translating those |
| managed. PMI's PMBOK (Project Management Body | | | | needs into requirements, and documenting those |
| of Knowledge) is recognized around the world as the | | | | requirements. The capability striven for in this area is a |
| bible of project management best practices. These | | | | common understanding of what those requirements |
| apply to the management of projects in any industry | | | | are and proper documentation of the requirements so |
| including the IT industry so the best practices of the | | | | that they can be used to performing and tracking the |
| PMBOK will be influenced by the CMM/CMMI standard | | | | project's activities. Project planning focuses on the |
| in any organization that wishes to apply the two | | | | development 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 a | | | | do the work. Planning also includes identifying the goals, |
| CMM or CMMI standard that is tailored to the PMBOK | | | | effort estimation, resource requirements estimation, |
| and no-one has customized the PMBOK to | | | | scheduling the work, and identification of the risks to |
| accommodate CMM or CMMI. This article is my | | | | the plan. Project tracking and oversight requires the |
| attempt of offer guidance to the project manager | | | | project manager to establish sufficient visibility into |
| who is charged with managing a software project in | | | | project performance so that deviations from the plan |
| an organization that is certified at a CMM/CMMI level | | | | can be detected and corrected. Corrections can |
| of 2 or above. Fortunately, these two standards are | | | | include re-planning the work or taking actions that will |
| by no means mutually exclusive; however they do | | | | allow the team to meet the existing plan. Subcontract |
| influence one another so some care should be taken | | | | management governs how qualified subcontractors |
| with the processes used for the project. The best | | | | are selected and managed. The purpose of quality |
| way to address the relationships is by Key Process | | | | assurance is to provide visibility into the processes |
| Area (KPA) which happens to align fairly closely with | | | | used and products built by reviewing products and |
| Knowledge Areas described in the PMBOK. This is not | | | | processes to ensure compliance with the established |
| a manual on achieving CMM or CMMI certification, not | | | | standards. 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 two | | | | and components through the build process and |
| standards. Since the intended audience for this article is | | | | throughout the lifecycle of the software. This integrity |
| mainly project managers, I'll begin it by providing some | | | | is established by controlling changes to the product |
| background on CMM/CMMI. | | | | configuration using a baseline library. Changes to |
| Background | | | | baselines are controlled by change control processes. |
| CMM stands for Capability Maturity Model. CMMI | | | | Level 3 focuses on project and organizational issues |
| standards for Capability Maturity Model Integration and | | | | that formalize effective software engineering and |
| evolved from CMM. CMM was developed for the US | | | | management processes across all projects. The goal |
| federal government by Software Engineering Institute | | | | is the improvement of the organization's processes. |
| (SEI), which is associated with Carnegie Melon | | | | The project manager cannot be responsible for |
| University (CMU) for the purpose of measuring the | | | | organizational standards, but can ensure that the |
| quality of a defense contractor's processes. CMM | | | | project they are managing supports processes at level |
| evolved to become a roadmap for continuous | | | | 3. 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, then | | | | level 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 of | | | | Process definition develops and maintains the set of |
| maturity until they reach level 5. The model is not | | | | process assets the deliver performance |
| meant to advance every practitioner's processes to | | | | improvements. It also defines the data required by |
| level 5. Level 5 is intended for organizations such as | | | | quantitative process management. One example of |
| NASA who have a need for that level of process | | | | this 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 fact | | | | will be used to improve software development. |
| any organization that creates software will be defined | | | | Training is focused on developing the skills and |
| at level 1. Level 2 requires that project management | | | | knowledge to execute the processes CMM has |
| processes are established to track cost, schedule, and | | | | implemented and the tasks called for by the project |
| functionality. This is the stage that any project that | | | | plan. The processes and focus in this area are pretty |
| implements the best practices from the PMBOK will be | | | | much unchanged from the PMBOK. Integration fits the |
| at and requires no rationalization between the PMBOK | | | | project's processes into the organizations standards, |
| and CMM. Level 3 requires that software processes | | | | policies, 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 organization | | | | common example of this. Engineering processes are |
| on all projects. This is the level that requires a degree | | | | simply the processes and tools used to produce the |
| of coordination between project management and | | | | software. One example of software product |
| CMM. | | | | engineering is RAD (Rapid Application Development). |
| Level 2 CMM requires processes in the following | | | | Code compilers and web application development |
| areas: | | | | platforms are other examples. Inter-group coordination |
| - Requirements management | | | | integrates the processes and tools used by the groups |
| - Software project planning | | | | across the project. An example of this integration |
| - Software project tracking and oversight | | | | would be the participation of the Business Analyst |
| - Software subcontract management | | | | group in reviewing designs produced by the software |
| - Software quality assurance | | | | development group. Peer reviews refer to design |
| - Software configuration management | | | | reviews, code reviews, or code walkthroughs. |