By now, you have hopefully bought into the idea that CMMI-based process improvement, which is the development and delivery of a process system, can and should be managed as a systems delivery project. So, if CMMI implementation is a project, then there is no logical reason why it cannot be estimated and planned just as you would a software or systems project. This section will give you some basic information on how to go about planning your CMMI process improvement project.
Before you start process improvement project planning, banish from your head any thoughts you may have that your organization is the first and only organization to ever try to implement CMMI-based improvements. Then
There is plenty of existing historical data from other people s process improvement efforts on which you could base realistic estimates. There are lots of people willing to share with you (this book, for example) their experiences and the lessons they learned in their own process efforts. Go to a SEPG conference and just hang out in the bar. People love to tell their CMM/CMMI war stories and sometimes it gets really old listening to them. But you know what? You really can learn from other people s experiences and you can use those experiences by incorporating lessons learned from others into your organization s process improvement project plan. Ask the war-story bar people, What would you have done differently? and then use their ideas to plan your organization s process improvement project. Letting other people and organizations make costly mistakes and then using that information to prevent those same mistakes in your organization is nothing short of business genius and it gives your organization a tremendous competitive advantage.
Another rich source of information on CMM and CMMI implementation is contained in the hundreds of technical
Finally, acquire the mind set that project planning and replanning is a continuous task and does not occur once. Most of what you initially plan ” the estimates, the schedule, the risks, the stakeholder involvement, etc. ” will change and the plans need to change
One final caveat: Not all aspects of project planning are covered in this chapter; there are many comprehensive sources on that topic. The areas covered herein tend to be those areas which have historically been overlooked in process improvement projects.
One of the shining improvements of CMMI over SW-CMM is the overt definition of stakeholder involvement (GP 2.7). One of the largest and most commonly occurring risks to any project is that stakeholders, who are not identified and involved early in the project, do eventually get involved, which often results in dramatic changes to the project s requirements, deliverables, commitments, and plans.
Do yourself a favor, explicitly identify the stakeholders for the process improvement project, explicitly define their roles and responsibilities, and obtain each stakeholder s explicit commitment to supporting the defined stakeholder involvement.
The people in charge of planning the JT3 CMMI program knew this and wisely addressed it in the very first draft of the CMMI process improvement project management plan (PMP). In addition to a narrative style document in which they provided detailed explanation of the various roles and responsibilities, they also built a table similar to the partial example shown in Table 3.3. JPEG had already selected V life cycle model and they approximately knew the activities that needed to occur in each phase of that life cycle. Based on this, they established stakeholder responsibilities by project phase. The reality is that not all the stakeholders are required to have the same level (intensity) or type of involvement in every phase of the project, so planning that involvement by phase is a really smart idea. The table shows only the first three of six defined project phases, but you get the idea.
|
Stakeholder(s) |
Phase 1: Customer and
|
Phase 2: System Requirements |
Phase 3: Analysis and Design |
|---|---|---|---|
|
CMMI Program Management Office (PMO) |
|
Leads all activities to plan the CMMI program and defines plans and subplans Leads the definition and communication of program roles, responsibilities, and relationships Negotiates and acquires program resources Communicates CMMI program progress and successes to MSC |
|
|
JT3 Process Engineering
|
|
|
|
|
Annex Engineering Process Groups (EPGs) |
|
|
|
|
Process Area Working Groups (PAWGs) |
|
||
|
Management Steering Committee (MSC) |
|
|
|
|
Process Improvement Center |
|
|
|
|
Range and Senior Management |
|
|
|
|
Projects |
|
|
|
|
JT3 Customers |
|
|
|
Traditionally, process focus groups such as SEPGs are the default project team for the CMM or CMMI process improvement project, even when those people haven t yet had the epiphany that their work is a project. However, the classical view of what type of people should comprise the SEPG is exactly what puts the process improvement project at risk. If you think about a systems development and delivery life cycle, you realize that you need different people with different knowledge and skills at different phases of the life cycle. The same is true for developing a delivering process system. It is very
Table 3.4: Simple Three-Dimensional Project Stakeholder Plan
|
System Life Cycle Phase |
Process Life Cycle Phase |
Knowledge and Skills Needed |
|---|---|---|
|
Project scoping |
Project scoping and baseline appraisal |
|
|
Requirements development |
Requirements development |
|
|
Project planning |
Project planning |
|
|
System design/ architecture |
Process design/ architecture |
|
|
System development (e.g., software coding, hardware manufacture) |
Process definition |
|
|
Unit testing |
Process training and piloting |
|
|
Integration |
Implementation |
|
|
System test |
Appraisal |
|
Defining a WBS for a process improvement project is not that much different from defining a WBS for the development of a software or integrated system. This is one area in which your organization s process experts either need to also possess strong project management skills or they should recruit an
The goal(s) of this process improvement project. If this project was initiated to correct an acute business problem, you probably want to see results as soon as possible. For example, if the primary goal of the project is to make estimates more realistic and rebuild your customer s faith in them, you might want to consider rapid prototyping. The WBS should reflect quick cycles with immediate improvement in this one area of project planning and project tracking with heavy emphasis on keeping the stakeholders involved.
The culture of the organization. If the organization is accustomed to delivering a product every six months, for example, you might want to structure your CMMI project to deliver a subset of improvements every six months. You don t need the busy work of changing the
Time and money constraints. Being an imperfect world, money and resources tend to be available for a limited time. If you can determine these constraints, you can make sure you deliver something with the available resources. Remember it is better to deliver a slimmed down system that works, than the ultimate
Make sure the life cycle you choose is in the list of approved life cycles for the organization and document why you chose this particular lifecycle in the project plan.
The phases in a process improvement project are very much like the phases in a software or systems development project. This section describes the minimum phases and
There are at least eight distinct phases to a process improvement project, although your organization can decide to combine the work in two or more of these phases:
Phase 1: Establish the process improvement project and characterize current state
Phase 2: Define and baseline the process improvement requirements Phase 3: Plan the process improvement project
Phase 4: Design and architecture of the process system and assets Phase 5: Build the process system and assets
Phase 6: Test (pilot) the process system or its components and fix defects
Phase 7: Communicate, train, and implement the process system
Phase 8: Measure and advertise success in improvements
The following subsections
Establishing the process improvement project is primarily a matter of defining the project s initial purpose (goal), scope, applicability, and high-level success criteria. You will also want to at least get a start on defining the project s stakeholders. Before exiting Phase 1, you should negotiate and acquire at least enough resources and funding to execute project planning in Phase 2. The primary physical output of this phase is a document that defines the information described herein and an allocation of resources to execute project planning.
In Phase 2, the organization will define the requirements for process improvement. However, it will be very difficult to define reasonable process system requirements without some knowledge of the organization s current state in terms of process capability or CMMI maturity. Thus, a task to characterize or assess the organization s current processes and their implementation is frequently a large part of Phase 1. Figure 3.9 shows Phase 1 tasks and activities.
Figure 3.9:
Process Improvement Project Phase 1 Tasks
This sample WBS and those shown in the
Also, realize and accept the fact that much of what you initially define in this phase can and will change as you gather more information in subsequent phases. When the things defined in Phase 1 do change, it is the process improvement project s responsibility to communicate the changes with the stakeholders.
As with other projects, the process system to be delivered by the process improvement or CMMI project should be driven by requirements. The process system s requirements are derived from the project s goals, which define the desired state and the current state, which comprises the current process strengths and weaknesses and current business problems that might be resolved through process improvement. If the only requirement
The primary output of this phase is a document that defines the baseline requirements for the process improvement project and the process system it will deliver. Again, the stakeholders (as best you can identify them at this phase) should have to review and approve the baseline requirements. As with other projects, the requirements are likely to change in subsequent project phases, so it s a good idea to establish requirements traceability. For more information on defining and managing the process improvement project s requirements, read Getting from Measures to Process Improvement Actions: Managing Process Improvement Requirements in this chapter.
Figure 3.10 shows the minimum tasks the WBS should contain for Phase 2.
Figure 3.10:
Process Improvement Project Phase 2 Tasks
Two great sources of guidance for planning a process improvement project are the Project Planning process area of CMMI2 and PMBOK. [16] Planning the development of a process system includes most of the tasks and activities required to plan a systems project, including:
Establishing the project goals, scope, and stakeholders (Phase 1 in this section)
Establishing baseline requirements and requirements traceability (Phase 2 in this section)
Establishing the project team (read Establishing the Process Improvement Project Team in this chapter)
Defining the development or implementation approach and processes
Defining project assumptions
Establishing the WBS (this section)
Estimating cost, effort, and schedule for WBS tasks Defining task dependencies, constraints, and critical
Defining and planning for the management of project risks (look at PP and RSKM)
Establishing plans for project monitoring, control, reporting, and communication
Establishing plans for stakeholder involvement and monitoring stakeholder commitments
Establishing the project and process system configuration management subplan (look at CM and OPD)
Establishing the project and process system quality assurance subplan (look at PPQA)
Establishing the plans for testing (piloting, verification, and validation) of the implementation (look at VER and VAL) Establishing the process improvement project s measurement subplan (look at MA and OPP)
The primary output of the planning phase is a process improvement project plan which either contains or references all
Figure 3.11 shows the high-level tasks involved in the process improvement project planning phase.
Figure 3.11:
Process Improvement Project Phase 3 Tasks
The process system, like a software “hardware system, should be built in accordance with an architecture or high-level design and standards. You also need to define the process by which the process system and its components will be designed and built.
The first task in process design is defining the terminology that you want people in the organization to use when talking about different process assets. For example, when someone uses the word procedure, you want everyone in the organization to have a common understanding of what that
The next major task in this phase is defining the process by which the process assets will be developed. Will processes and assets be built from scratch or will legacy assets be incrementally improved? What will be the criteria for making such a decision? How and when will process assets be reviewed and what are the processes for accomplishing review and approval? What is the process, method, or mechanism by which the various components of the process system will be integrated or linked together? Will process definition tools be used and, if so, how will they be used and what are the criteria for this decision? When
Other critical tasks in this phase include defining the standards ” for both format and content ” for the various process assets and designing the system by which the process system and its components will be stored and accessed by users. A large factor in designing a process system is first understanding the use cases: how will people use the processes and process assets. Figure 3.12 illustrates the minimum critical high-level tasks and activities for this phase.
Figure 3.12:
Process Improvement Project Phase 4 Tasks
The critical outputs from completing this phase are:
Process asset dictionary Process asset standards Process definition process description Process asset repository design and architecture
(Also read Design First, then Build in Chapter 5 ” Five Critical Factors in Successful Process Definition.)
The fifth phase is to build the processes and assets in accordance with the design and architecture defined in the previous phase and in accordance with the project and process system requirements defined in Phase 2. The work in this phase relies heavily on the use of expertise in workflow diagramming and illustration, information mapping, and process/procedural writing. This is not a phase for people new to writing and technical documentation work. Figure 3.13 identifies the critical few tasks in this phase.
Figure 3.13:
Process Improvement Project Phase 5 Tasks
In the vernacular of software or systems engineering, we say we are testing the products ” the process system in this case ” that we have developed. In the language of CMMI, we are verifying the system or validating it.
There are a number of ways to verify that the process system or its components
A powerful lesson I ve learned in this phase is that, if you re not careful, you and the process focus or process development people can get caught in an almost
In terms of validation (i.e., the system works as intended in the intended environment), the best way to accomplish this is just put the thing into play. In accordance with the plan for verification and validation, introduce the process system or some components into software/systems projects and let people test drive the stuff. This is where the process team gets tremendous payback on the usability and
The major word of caution here is: Don t ask people to pilot or validate process assets that are out of phase with the project s current phase or stage. Don t ask project personnel to pilot your project plan template when it is already in system integration and test with the deliverables. There are many other factors that
Figure 3.14:
JT3 Pilot Plan and Status Matrix
This phase in the process improvement project would be called release or transition in a software or systems delivery project. The goal of this phase is to transfer the new technology ” the processes and process assets ” into the community of users and customers. Don t forget that the project needs skill sets that are different from the prior phases to accomplish this phase, primarily people with knowledge and experience in education, training, and knowledge transference.
In SEI s IDEAL model, this phase
Determine the qualitative and quantitative measures which
Plan and conduct an appraisal to determine if the organization achieved a
Whoa there! Have you read the previous sections on defining goals, requirements, and a WBS for your process improvement project? If not, what are you going to estimate? Before you can estimate the work involved in the project, don t you need to first know the tasks and activities by reading the previous section?
Let s say ” hypothetically, of course ” that your boss has decided that the process improvement project s only goal is to achieve a maturity level and that your boss wants to know how long it will take. How do you respond? Tell him or her to give you one-half
Visit SEI s Web site at http://www.sei.cmu.edu and conduct a keyword search on maturity profile. There you ll find the most current version of SEI s maturity profile,
[26]
which is compiled and published at least twice annually. This profile will
Again, planning your process improvement project is an
One of the consequences of process improvement efforts not being managed as projects is the fact that there is a lack of historical effort and cost data from such efforts. There is, however, some cost-modeling and scant actual data that you can use to develop a rough order of magnitude (ROM) for your process improvement project.
There are dozens of variables that will affect the cost of your SPI project, but the three
What is the starting point? How much work needs to be done to implement processes consistent with the organization s targeted maturity level? Since this is the biggest factor
How many people are in the organization? Answering this question assumes you and other stakeholders have defined the term organization. If not, read the section titled Establish a Common Language in this chapter.
What will be your approach? The approach you choose will dramatically affect the speed and cost of achieving your process improvement goals and the resulting quality of the deliverables. (Read Chapter 4 ” Process Improvement Strategies that Work.)
As with any project, the success (or failure) of the process improvement project depends on certain assumptions being true and remaining true throughout the life of the project. However, the key to successful project planning is not simply acknowledging this, but getting those assumptions out of peoples heads, writing them down, and getting consensus on them from the project stakeholders. As in most human endeavors, our egos lead us to assume that everyone else s assumptions are the same as ours. If we proceed to act on this assumption without validating its truth, we put into motion most of the risks our project will incur.
Developing and documenting project assumptions is a difficult endeavor. Even when people can bring their assumptions to the conscious level and
After collecting assumptions and getting stakeholder consensus, document them in your project plan. In doing so, make it clear that the assumptions must be true and
Here are some typical assumptions you can modify and reuse in your own process improvement planning:
Senior management will approve and support the project goals and scope identified in the process improvement project plan in a
Project team members have or will acquire the skills and knowledge needed to perform their tasks.
Planned and committed resources will remain available to the team. The requirements for or scope of this process improvement project will not change significantly once the project is
|
|
The most important thing to remember about project risks is that they are there whether or not you
|
|
Unlike effort and cost data, there is plenty of
One of the better sources on the risks to process improvement is from Karl Weigers. [38] Weigers provides ways for you to recognize and mitigate these problems that commonly plague process improvement efforts, including:
Lack of management commitment Unrealistic management expectations Time-stingy project
Expecting defined procedures to make people interchangeable Failing to scale formal processes to project size
Process improvement becomes a game
Process assessments are
From PMI s PMBOK, [16] we have these ten major reasons for project failure:
Inadequate specifications
Changing requirements
Lack of management change control
Inexperienced personnel
Unrealistic estimates
Subcontractor failure
Poor project management
Lack of user involvement
Expectations not properly set
Poor architectural design
With the exception of three of these items ” inadequate specifications, subcontractor failure, and poor architectural design ” these top causes of failure in software “systems projects can easily also be the top causes of failure in process improvement projects. PMI also lists Classic Process-Related Mistakes made in software “systems projects. Following each listed classic mistake below is a brief description of how the mistake is manifested in process improvement projects. The important lesson here is recognizing that the same risks and problems which have historically plagued software and systems projects are most likely the same problems and risks which will plague a process improvement project. Once that is recognized, your organization can
Management sets timeframes for achieving maturity levels without the schedule being supported by historical data or estimates from people actually doing the work.
People planning the organization s CMM/CMMI process improvements ignore this section of this book (or any such section in any such book) and just go merrily along practicing another mistake on PMI s list called
The deadline for achieving the target maturity level is
In process improvement, this equates to write like hell process definition. The SEPG and others responsible for process rapidly roll out processes by defining all kinds of CMMI-based procedures,
[16]
The Project Management Body of Knowledge (PMBOK) is an online repository of project management information. This repository is
[26]
The Maturity Profile is a report periodically published by the Software Engineering Institute (SEI). This document provides information and statistics from the results of CMM and CMMI
[38] Wiegers, K., Software Process Improvement: Ten Traps to Avoid. Go to www.processimpact.com.
[16] The Project Management Body of Knowledge (PMBOK) is an online repository of project management information. This repository is maintained by the Project Management Institute (PMI). For more information, go to www.pmbok.com.

CMMI Survival Guide: Just Enough Process Improvement

CMMI for Development: Guidelines for Process Integration and Product Improvement (3rd Edition) (SEI Series in Software Engineering)

CMMI for Services: Guidelines for Superior Service (2nd Edition) (SEI Series in Software Engineering)

Integrating CMMI and Agile Development: Case Studies and Proven Techniques for Faster Performance Improvement (SEI Series in Software Engineering)