© Mukund Chaudhary 2017

Mukund Chaudhary and Abhishek Chopra, CMMI for Development , 10.1007/978-1-4842-2529-5_2

2. CMMI Design

Mukund Chaudhary and Abhishek Chopra2

(1)Noida, Uttar Pradesh, India

(2)Faridabad, Haryana, India

In this chapter, we will focus on CMMI design, including how the CMMI Dev model is structured, how to interpret it, and why it is important to understand the design of CMMI.

The first question that comes to mind is, “Why it is important to understand CMMI design?”

To implement this model in your organization or projects, you need to follow a specific path which leads to the end goal. Once the path is understood, it becomes easy to interpret and execute.

Time is always an important factor and something we all want to save, so the next question that comes to mind is, “How easily can we understand and adapt this model?”

Let’s start by breaking down the design of the CMMI DEV Model. What does CMMI stands for? And what is Development or DEV?

CMMI stands for Capability Maturity Model Integration :

  • Capability: When we want to implement and achieve a process improvement in an individual process area.

  • Maturity: When we want to implement and achieve process improvement in a set of process areas which are predefined.

  • Model: Generated from the CMMI Framework.

  • Integration: This approach uses a combination of selected models (e.g., CMMI for software, systems engineering, and integrated product development) that are integrated into the single framework, CMM-I. The “I” stands for integration. (The first model developed was CMMI for development).

2.1 CMMI Levels

In CMMI, each level describes the maturity of the process. Each maturity level consists of process areas (which are already defined), and these levels are achieved in a progressive manner.

Capability and maturity are associated with capability levels and maturity levels, respectively.

Both types of levels describe improvement paths to initiate CMMI implementation. So, how do we describe capability levels?

2.1.1 Capability Levels

A capability level is a path which ensures that an organization will improve an individual process area or a group of process areas incrementally. Focusing on the particulars of a given process will help an organization improve its capability level in that process area.

There are four capability levels:

  • Level 0: Incomplete

  • Level 1: Performed

  • Level 2: Managed

  • Level 3: Defined

A427788_1_En_2_Fig1_HTML.jpg
Figure 2-1. Showing capability level continuous representation

Let’s interpret each capability level, one-by-one.

2.1.1.1 Capability Level 0: Incomplete

Incompletemeans that specific goals are not satisfied for the process area. Also, generic goals do not exist for this level.

2.1.1.2 Capability Level 1: Performed

Performedmeans that needed work is accomplished and that specific goals of the process area are satisfied. At capability level 1, process improvements need to be institutionalized and maintained, or they may be lost completely over a period of time.

2.1.1.3 Capability Level 2: Managed

Managedmeans that your process has been planned and executed, as defined by your organization:

  • Includes a team of skilled people

  • Produces outputs in a controlled manner

  • Involves the stakeholders

  • Your process is monitored, controlled, and reviewed

  • Includes an evaluation of your process description for process adherence

Process adherence at capability level 2 ensures that your organization retains existing practices during crucial times.

2.1.1.4 Capability Level 3: Defined

Definedmeans that tailoring of processes from your defined processes is done in the organization by adhering to its tailoring guidelines. (You will learn about tailoring later in the book.)

At capability level 3, organizations also contribute experiences to the organizational process assets that are gained during the implementation of processes.

You might wonder how you distinguish between capability levels 2 and 3. Let’s look at the distinguishing factors:

  • At capability level 2, either the complete process or some of its descriptions differ from one project to another. In other words, processes are not common throughout the organization.

  • At capability level 3, standard processes are common throughout the organization. Processes are allowed to be tailored for a project or the organizational unit. Tailoring is done by following the defined tailoring guidelines for the organization.

At level 3, processes are written in a rigorous manner and are managed proactively. Processes are considered more consistent, and the only noticeable differences are allowed by the tailoring guidelines.

Once an organization achieves capability level 3 in the process areas that were considered for improvement, it can move ahead further on its process improvement path by focusing on implementing the high maturity process areas (i.e., Organizational Process Performance, Quantitative Project Management, Causal Analysis and Resolution, and Organizational Performance Management).

Note

Once an organization fulfills capability level 3 in process areas (i.e., OPP and QPM), then it should plan to move ahead and implement process areas CAR and OPM.

So far we have discussed the capability levels; now, let’s look at the maturity levels.

2.1.2 Maturity Levels

A maturity levelis a path that ensures organizations are able to improve their successive sets of process areas in an incremental manner. Each maturity level has a set of processes which, if implemented together, will help you to attain one full maturity level (e.g., to go from level 1 to level 2).

The five maturity levels progress from level 1 to level 5 in incremental stages (see Figure 2-2):

  • Level 1: Initial

  • Level 2: Managed

  • Level 3: Defined

  • Level 4: Quantitatively managed

  • Level 5: Optimizing

A427788_1_En_2_Fig2_HTML.jpg
Figure 2-2. Showing CMMI staged representations

Let’s interpret each maturity level.

2.1.2.1 Maturity Level 1: Initial

Initialmeans the processes are ad hoc. Success is dependent on the capability of a few people in the organization who are seen as heroes and not based on the available processes; in the future, when these few heroic people leave the organization, the team is unable to repeat the success.

In a maturity level 1 organization, the products built and services provided work well most of the time; however, the budget and schedule always get impacted and deviate from their documented plans.

Also, it has been observed that level 1 teams overcommit to their clients/customers. This is because, at times of crisis (e.g., an event that impacts the schedule), the whole team abandons the process in order to deliver faster. Due to this, they are unable to repeat the success.

2.1.2.2 Maturity Level 2: Managed

Managedmeans that projects are adhering to organization-defined processes. Team/resources working on the project possess the right skill levels to produce controlled outputs:

  • Projects and their work products are monitored, controlled, and reviewed

  • Projects and their work products are evaluated for adherence to their process descriptions

  • Management is aware of the status of the work products at defined intervals (e.g., at major milestones and at the completion of major tasks)

  • Commitments among relevant stakeholders are visible

Note

At maturity level 2, process discipline helps in ensuring the retention of existing practices during times of stress in the project. By following the process, projects are performed and managed as per the documented plans.

2.1.2.3 Maturity Level 3: Defined

Definedmeans that processes are well defined, documented, understood, and followed by various means (e.g., whether through procedures, methods or tools). Processes followed on a day-to-day basis are further improved over time at the organizational level:

  • Processes at maturity level 3 help to establish a feeling among the team members that consistency is maintained in following the process across the organization or the business-unit level

  • Projects perform tailoring on their defined processes as per the tailoring guidelines

Let’s examine the distinguishing factors between maturity level 2 and 3.

At maturity level 2, the complete process or its descriptions can differ from one project to another. In other words, processes are not common throughout the organization.

At maturity level 3, standard processes are common across the organization. Processes can be tailored for one project or organizational unit by referring to the organization’s defined tailoring guidelines.

Just as with capability level 3, the processes for maturity level 3 are written in a rigorous manner and managed proactively. Hence at level 3, processes are considered more consistent, and the only noticeable differences are allowed by the tailoring guidelines.

2.1.2.4 Maturity Level 4: Quantitatively Managed

Quantitatively managedmeans that an organization establishes objectives quantitatively for quality and process performance at both the organizational and project level. It then uses these quantitative objectives as criteria in managing projects:

  • Quantitative objectives are defined by assessing the needs of the customer, end users, and organization and process implementers (Figure 2-3 shows an example of this where the measure schedule variance is -10% to 10%, and the measure effort variance is -15% to 15%)

    A427788_1_En_2_Fig3_HTML.jpg
    Figure 2-3. An example quantitative objective
  • Quality and process performance objectives are viewed via statistical means and managed throughout the life of projects

  • Process performance baselines and models are implemented that help to set the quality and process performance objectives; this will help an organization in achieving its business objectives

So, what is the critical distinguishing factor between maturity levels 3 and 4? At level 4, we can predict the process performance.

The project and selected subprocesses are controlled by using statistical and other quantitative techniques. Also, predictions are made by performing statistical analysis on the refined process data.

Note

At maturity level 3, process performance cannot be predicted.

2.1.2.5 Maturity Level 5: Optimizing

Optimizingmeans that an organization focuses on improving its processes in a continuous manner by understanding its business objectives and performance needs (in quantitative terms).

Also, organizations use a quantitative approach to understand the variation inherent in the process and the causes of process outcomes:

  • The goal is to improve the process performance by following an incremental and innovative approach

  • Quality and process performance objectives are defined at the organizational level

  • Defined processes and supporting technology combine to help organizations achieve the measurable improvements

Here are the critical distinguishing factors between maturity levels 4 and 5:

  • At maturity level 4, the organizational and project teams understand and control performance at the subprocess level, and use these results to manage the projects

  • At maturity level 5, the organization focuses on managing and improving organizational performance; this is ensured by collecting and analyzing the data from various projects

Note

Be sure to collect data and perform analysis; this will help you to identify the gaps in process performance. Also, prepare a gap closure plan and take appropriate actions to ensure that organizational process improvement is measureable.

Let’s summarize the comparison between Capability and Maturity Levels as depicted in the Table 2-1.

Table 2-1. Comparing Capability and Maturity Levels

Level

Continuous Representation Capability Levels

Staged Representation Maturity Levels

Level 0

Incomplete

 

Level 1

Performed

Initial

Level 2

Managed

Managed

Level 3

Defined

Defined

Level 4

 

Quantitatively Managed

Level 5

 

Optimizing

Note

The names used for the capability and maturity levels at levels 2 and 3 are similar in both representations (i.e., Managed and Defined).

2.1.3 An Approach for Process Improvement

Approaches for process improvement in CMMI are called representations; capability levels and maturity levels have their own respective representations:

  • Continuous: a continuous representation approach leads us towards capability levels

  • Staged: a staged representation approach leads us towards maturity levels

Now let’s look at the structure of these representations (see Figures 2-4 and 2-5).

A427788_1_En_2_Fig4_HTML.jpg
Figure 2-4. Continuous representation
A427788_1_En_2_Fig5_HTML.jpg
Figure 2-5. Staged representation

Looking at both representations reveals that the structure of continuous and staged representations is similar.

They contain similar components (e.g., process areas, specific goals, and specific practices) and have similar hierarchies.

In continuous representation, you can select a particular process area for improvement, along with the desired capability level for that process area.

In staged representation, you can select multiple process areas for improvement within a maturity level.

Based on our understanding of these levels, we can decide whether we want to proceed with a continuous (capability levels) or a staged (maturity levels) representation approach to implement CMMI DEV.

Note

Both capability and maturity levels will lead to the same end result (i.e., process improvement).

To attain either a higher capability or maturity level, an organization needs to satisfy all the goals of a process area or a set of process areas from a given improvement perspective.

The Process Area boxes in the two figures lead us to an obvious question, “Is CMMI a process description?”

An important thing to bear in mind about CMMI as a model is that it is neither a process nor a description of the process.

For CMMI beginners, it has long been a misconception that CMMI is a process which we can follow and apply “AS IS” to the areas of an organization or its projects.

If CMMI is not a process, then what do we mean by Process Area?

In the CMMI model, a process area contains set of related practices. When these practices are implemented together, they satisfy the goals of the process area, which means that process improvement has been accomplished in that process area.

CMMI contains a set of different and unique process areas that are interconnected or have an inter-relationship with each other.

In the CMMI DEV Model, there are 22 process areas in total. (We will learn more about these process areas later in this and other chapters.)

You saw the terms goals and practices in both representations shown in Figures 2-4 and 2-5. Let’s take a closer look at how they fit into CMMI.

As components (design) of CMMI, the terms goals and practices are present under each process area.

Let’s visualize CMMI’s structure first; we need to understand how process areas, goals, and practices are placed as components within CMMI.

A427788_1_En_2_Fig6_HTML.jpg
Figure 2-6. How process areas, goals, and practices fit together

And now let’s look more specifically at goals and practices.

2.1.3.1 What Is a Specific Goal?

A specific goal (SG) is unique and present in each process area.

Under each specific goal, there are certain “specific practices” (SP). When we implement the specific practices successfully, then we satisfy the specific goal. Once all the specific goals are satisfied, it means the process area is satisfied.

During CMMI appraisals, specific goals are evaluated to check whether the process area is satisfied.

2.1.3.2 What Is a Specific Practice?

A specific practice is the activity description; when a specific practice is implemented, it helps to achieve the associated specific goal (see Figure 2-7).

A427788_1_En_2_Fig7_HTML.jpg
Figure 2-7. A specific goal and practice

2.1.3.3 What Is a Generic Goal?

Generic goals are called “generic” because they have the same goal statement, which is common across all 22 process areas.

Generic goals are used during the CMMI appraisals to evaluate whether a process area is satisfied or not satisfied.

2.1.3.4 What Is a Generic Practice?

A generic practice is called such because it is the same practice that is used across all 22 process areas.

A generic practice is present under generic goals. A generic practice contains an activity description that, once implemented, helps in achieving the generic goal of a process area (see Figure 2-8).

A427788_1_En_2_Fig8_HTML.jpg
Figure 2-8. A generic goal and practice

Visually, the structure of generic goals and generic practices looks like a grid, where the different levels are shown horizontally and the specific goals within that level are shown as a vertical list of boxes with incremented numbers (see Figure 2-9).

A427788_1_En_2_Fig9_HTML.jpg
Figure 2-9. The structure of generic goals and generic practices

Table 2-2 describes the specific goals and practices for each level, interpreting what each means.

Table 2-2. A Description and Interpretation of Each Generic Goal and Generic Practice Under It

Generic Goal

Description

Generic Practice

Description

Interpretation

GG1

Achieve Specific Goals

GP 1.1

Perform Specific Practices

To fulfill or satisfy this generic practices build and to deliver the expected work output by following the processes.

What this means:

In this practice, it is not “mandatory” to follow a documented process or plan.

Hence, it also can be done “Informally.”

GG2

Institutionalize a Managed Process

GP 2.1

Establish an Organizational Policy

To fulfill or satisfy this generic practice, we have to define or set the expectations of the process at the organizational level.

What this means:

We have to define the policy for all process areas (e.g., Project Planning and Requirements Management) which we are implementing in our organization.

Doing this ensures that the policy is visible to all those who could be affected (e.g., Senior Management and Project delivery teams).

In other words, everyone involved in the organization commits to following and executing their processes as defined in the organization.

Note: Policy examples for each process area are covered later in the book.

  

GP 2.2

Plan the Process

To fulfill or satisfy this generic practice, we have to identify all parameters that would be required to perform the process.

What this means:

In simple terms, we must have a plan to execute the process.

What should the plan include? Here are some examples:

• A written process to guide how the process needs to be executed

• Requirements for developing the work products

• A plan for managing dependencies (i.e., tasks, resources, etc.)

• A plan for managing resources (i.e., SW, HW, people, etc.)

• A plan for managing relevant stakeholders

• A plan for risk management

• A plan for training

• A plan for project monitoring and control

• A plan for management reviews

Once the plan is prepared, we need to ensure that the plan is reviewed and agreed to by all the stakeholders.

It is an important activity because, when we perform the process, we do not perform it alone. It is performed by multiple people.

Hence, all stakeholders must be committed to the plan.

  

GP 2.3

Provide Resources

To fulfill or satisfy this generic practice, we have to ensure that all the required resources are made available to perform the process.

What this means:

We have to plan, monitor and arrange the required resources whenever their use is planned. Resource types could be infrastructure (i.e., a facility, software, hardware, etc.), people, tools, and so on.

To execute and satisfy all the process areas, resources are necessary.

  

GP 2.4

Assign Responsibility

To fulfill or satisfy this generic practice, we must ensure that people are accountable for the processes they perform. This includes achieving the desired results of that process.

What this means:

We have to clearly define and assign the responsibility to people to perform specific process and tasks.

We have to ensure that people understand and also accept their responsibilities.

One approach for assigning a responsibility is to assign it through job descriptions or documented plans.

  

GP 2.5

Train People

To fulfill or satisfy this generic practice, we have to ensure people possess right skills and expertise in performing or supporting the process.

What this means:

We need to analyze the skills and expertise of our team members. And upon analysis, if we find a gap in the required skill level, we need to plan and deliver the necessary training to our team members to bridge the gap.

Hence, training people is important. People must have the requisite skills for performing a process in order to achieve the desired results.

For every process area in the CMMI model, people should be trained to perform it.

In organizations, training delivery is managed by the separate training team/department.

Provided training might include on-the-job training, mentoring, classroom training, and so on.

  

GP 2.6

Control Work Products

To fulfill or satisfy this generic practice, we must manage and control the integrity of certain work products. These are identified in the project plan for executing the process.

What this means:

When we prepare the plan to perform the process, at that time we also have to identify all the work products which would be produced and are required to be put under configuration management.

Controlling the work product here means work products are version controlled with proper naming conventions, they have a baseline, they are access controlled, and so on.

  

GP 2.7

Identify and Involve Relevant Stakeholders

To fulfill or satisfy this generic practice, we have to ensure that relevant stakeholders are available and participating during the execution of the process.

What this means:

We have to identify all the relevant stakeholders during the planning of the process, and then monitor their participation at regular intervals.

Phases where stakeholders could be involved include the following:

• Planning

• Decision making

• Commitments

• Reviews

• Defining requirements

• Problem resolutions

  

GP 2.8

Monitor and Control the Process

To fulfill or satisfy this generic practice, we have to ensure that the process is monitored and controlled on a daily basis.

Doing this gives us visibility into the execution of the process; whenever required, corrective actions can be taken.

What this means:

After performing the process, we have to do the following tasks:

• Assess the actual progress against the plan

• Evaluate accomplishments and the results achieved

• Evaluate deviations against the plan

• Identify issues in executing the process

• Discuss the results and status with management

  

GP 2.9

Objectively Evaluate Adherence

To fulfill or satisfy the generic practice, we need to ensure that the process is implemented as planned.

What this means:

Identify people who are not responsible for performing the process activities which need to be evaluated.

This is necessary for an unbiased evaluation.

The people identified will evaluate the process performance at regular intervals and will confirm adherence by publishing the results.

Corrective actions will be required when there is any issue observed in process adherence.

  

GP 2.10

Review Status with Higher Level Management

To fulfill or satisfy this generic practice, we have to ensure that the management team has sufficient visibility into the process performance.

What this means:

We have to report the progress of the process execution, including its results (i.e., actual vs. planned). Management must also be informed of any risks or issues.

Doing this ensures that any support or action needed from management can be executed in a timely manner, without any last-minute surprises.

The management team could include program managers, delivery heads, or VPs.

GG3

Institutionalize a Defined Process

GP 3.1

Establish a Defined Process

To fulfill or satisfy this generic practice, we have to ensure that the organization has defined processes which could also be tailored according to the needs of the specific project instance.

What this means:

We have defined the processes covering all the process areas of the CMMI Dev model which an organization wants to implement.

We have defined the tailoring guidelines, which can be used to tailor any process whenever the need arises.

We must maintain the tailoring records, and we must update the processes whenever necessary.

  

GP 3.2

Collect Process Related Experiences

To fulfill or satisfy this generic practice, we have to ensure that process-related experiences are collected.

What this means:

During the process planning and process execution phases, we must observe new experiences.

Those experiences that we collect will help us to analyze the process activities, and then categorize them as mistakes or best practices. We can also call them lessons learned and process improvement suggestions.

Publishing such experiences might help other organization members who will work on a similar process in the future. These future workers can benefit from the lessons learned.

2.2 Process Areas

Process areas are viewed differently in the two representations. Figures 2-10 and 2-11 show the use of process areas in continuous and staged representations, respectively.

A427788_1_En_2_Fig10_HTML.jpg
Figure 2-10. Process areas in continuous representation
A427788_1_En_2_Fig11_HTML.jpg
Figure 2-11. Visualizing process areas in staged representation

In continuous representation, process areas are divided into four categories:

  • Process management

  • Project management

  • Engineering

  • Support

When process areas are selected for implementation, check and analyze the maturity level to be attained for the process area (i.e., select the appropriate capability level).

For example, assume an organization decides to achieve capability level 2 for one process area and capability level 3 for another process area.

Once an organization achieves a capability level, it should always target achieving the next capability level in the same process areas or target a larger number of process areas.

For example, once an organization attains capability level 3 in almost all of the process areas, then the next step for that organization should be to plan and attain high maturity process areas and track the capability of each through capability level 3.

So, how should an organization select process areas combined with their required capability levels?

This is described in a target profile, which defines the process areas that need to be addressed and the capability levels targeted for each. It also describes the goals and practices the organization will have to address in its process-improvement efforts.

In staged representation, process areas are grouped into maturity levels that indicate which process areas will be implemented to achieve each maturity level.

For example, at maturity level 2, a predefined set of process areas might require an organization to achieve all the goals of all the process areas.

Once maturity level 2 is achieved, the organization’s focus should be on achieving maturity level 3 process areas, and so on.

Generic goals present in each process area are predefined. Generic goal 2 is applicable to maturity level 2, and generic goal 3 is applicable to maturity levels 3 through 5.

2.3 Mapping Process Areas

In CMMI, process areas are mapped into four categories, along with their defined maturity levels.

These four categories include the following:

  • Project management

  • Engineering

  • Support

  • Process Management

You might wonder why there are only four categories. Why not five, or perhaps six? What you need to keep in mind is that the CMMI model was designed by a team of industry experts who have considered these issues from all possible scenarios and perspectives.

We will cover these process areas later in the book, at which time it will be easier to see how these process areas relate to the aforementioned four categories.

Figure 2-12 shows a lot of useful information, including process areas and their abbreviations. It also includes a category column that explains which category a given process area belongs to, and a maturity column that tells us roughly which maturity level a given process area is placed in according to the CMMI Dev Model.

A427788_1_En_2_Fig12_HTML.jpg
Figure 2-12. Process areas and their maturity level

Process areas are assigned into the following categories:

  1. Project Management (seven total process areas)

    • Project planning (PP)

    • Integrated project management (IPM)

    • Project monitoring and control (PMC)

    • Requirements management (REQM)

    • Risk management (RSKM)

    • Supplier agreement management (SAM)

    • Quantitative project management (QPM)

  2. Engineering (Five Total Process Areas)

    • Requirements development (RD)

    • Technical solution (TS)

    • Product integration (PI)

    • Validation (VAL)

    • Verification (VER)

  3. Process management (five total process areas)

    • Organizational performance management (OPM)

    • Organizational process definition (OPD)

    • Organizational process focus (OPF)

    • Organizational process performance (OPP)

    • Organizational training (OT)

    Note All of the process management process areas start with Organizational.

  4. Support (five total process areas)

    • Causal analysis and resolution (CAR)

    • Configuration management (CM)

    • Decision analysis and resolution (DAR)

    • Measurement and analysis (MA)

    • Process and product quality assurance (PPQA)

The next step is to walk through each process area under each category.

The first category is Project Management. These process areas contain best practices for the roles to be played by the project manager or program manager in an organization.

2.3.1 Project Planning

The Project Planning (PP) process area covers the best practices related to the following:

  • Estimates

    • Project scope (through WBS or a tasks list)

    • Effort and cost (based on size)

  • Project life cycle phases

    • Based on the requirements scope, these define life cycle phases

  • Preparation of the project plan

    • Prepare a schedule

    • Identify risks

    • Manage data

    • Plan your resources (staff, equipment, infrastructure facility, process/SOPs, etc.)

    • Plan for training (based on the requirements/Technology gaps)

    • Plan for stakeholder involvement

  • Obtain commitment on the project plan

    • Here, we need commitment from everyone on the plan who is responsible for executing the plan; this includes project team members, management, and various other internal departments (e.g., IT infrastructure, HR and training, and network)

    • We need to identify those plans that can affect the project, as well as to ensure that these plans are reviewed with the relevant stakeholders

    • Based on the reviews, we need to revisit the plan and fix the gaps if there are any differences between estimates and resources

2.3.2 Integrated Project Management

The Integrated Project Management (IPM) process area covers the best practices related to focusing on project-defined process:

  • Create the project-defined process by referring to all QMS processes

  • The project-defined process should be able to meet and deliver the project requirements (e.g., product-life processes such as engineering and support)

  • There could be a need to tailor the processes from the organization’s standard processes

  • While forming the defined process, ensure that various factors are considered

    • Stakeholder requirements and commitment

    • Operational and business environment

    • Organization processes and tailoring guidelines

2.3.3 Project Monitoring and Control

The Project Monitoring and Control (PMC) process area covers the best practices related to the following:

  • Monitor the project against the plan

    • Track the schedule (planned vs. actual completion of activities and milestones)

    • Track the effort, cost, and size (planned vs. actual)

    • Identify and analyze deviations from the plan (schedule, effort, and cost)

    • Track resources (e.g., staff, processes, computers, software, infrastructure, and facilities)

    • Track the current skills of team members vs. the required skills set (i.e., plan and track the training conducted)

  • Monitor commitments

    • Track internal and external people commitments (i.e., planned vs. actual completion of commitments) and focus on commitments which are about to be missed or not fulfilled

    • Maintain records of commitment reviews (e.g., meeting minutes and status reports)

  • Monitor project risks

    • Track risks on a regular basis (for risks documented in the risk register)

    • Update risk status in the risk register (e.g., some risks may no longer be a risk, or a given risk’s severity might increase from medium to high)

    • Report risk status in a timely manner to relevant stakeholders (i.e., in status meetings, status reports, etc.)

  • Monitor data management (e.g., employ data management activities tracking, as planned in the project plan)

  • Monitor stakeholder involvement

    • Track stakeholder involvement (i.e., managers, staff, customers, end users, suppliers, etc., as planned in the project plan)

    • Re-plan stakeholder involvement (based on any changes or updates in the status of the requirements)

  • Conduct progress reviews

    • Conduct project reviews and communicate progress updates to relevant stakeholders on a regular basis (as planned in the project plan)

    • Document change requests and track them to closure

    • Perform milestone reviews

    • Conduct milestone reviews with relevant stakeholders at planned intervals or phases (i.e., to ensure progress is made as per the plan)

    • Review the schedule, effort, milestone deliverables, planned commitments, and any risks

    • Manage corrective action to closure

    • Identify and collect issues for which action is required (these can be taken from the various project reviews performed)

    • Analyze and plan corrective action

    • Take corrective action (review the action to be taken with the stakeholders)

    • Analyze the results of a given corrective action (for effective implementation)

    • Document any identified deviation from the planned results and plan for closure

2.3.4 Requirements Management

The Requirements Management (REQM) process area covers the best practices related to the following:

  • Understand the requirements

    • To evaluate and accept requirements, establish clear criteria (to avoid rework and customer rejections)

    • Perform requirements analysis and evaluate requirements against the set criteria

    • Ensure that the requirements set is approved

  • Obtain commitment to the requirements

    • Perform impact assessment on requirement changes (to assess the impact on commitments to existing requirements)

    • Ensure that requirement commitments are available whenever any change in a requirement comes or when a new requirement is added

  • Manage requirement changes

    • Ensure that requirement changes are documented (maintain a change history)

    • Maintain requirement change impact reports

    • Ensure that the requirements database is accessible to all relevant stakeholders

  • Maintain bidirectional traceability of requirements (e.g., a traceability matrix to ensure that a requirement is tracked from its source to its lower level requirements—and back again from the lower level to the source requirement)

  • Ensure there is alignment between project work and the requirements

    • Identify and document any inconsistencies found between project plans and the requirements

    • Update plans (if required due to changes in the requirements baseline)

2.3.5 Risk Management

The Risk Management (RSKM) process area covers the best practices related to the following:

  • Prepare for risk management (i.e., document the risk management strategy, categorizing risks and defining parameters to evaluate and control risks)

  • Determine risk sources and categories

    • Identify and prepare a source list of risks (i.e., a list of internal and external sources)

      • Uncertain requirements

      • Unavailable technology

      • Cost or funding issues

    • Identify and prepare risk categories (for organizing risks)

      • Project phases (e.g., requirements, design, coding, and testing)

      • Project management risks (e.g., budget risks, schedule risks, and resource risks)

  • Determine risk parameters (e.g., risk likelihood, risk consequences, and defining threshold values for risk categories)

    • Risk likelihood indicates the probability of a risk occurring

    • Risk consequence describes the impact and severity of a risk occurring

    • Defining threshold values for each risk category identifies when to trigger mitigation or a contingency plan

  • Identify and analyze risks

    • Identify and document risks (e.g., risks related to cost, schedule, and performance)

    • Review WBS and the project plan when identifying risks

      • Reviewing WBS ensures that work effort related risks are identified

      • Reviewing the project plan ensures that all project related risks are identified

  • Evaluate, categorize, and prioritize risks

    • Once the risk list is ready, evaluate each risk using defined parameters

      • Likelihood of the risk occurring (unlikely, likely, almost certain, etc.)

      • Impact if the risk occurs (high, medium, or low)

      • Severity if the risk occurs (high, medium or low)

      • Threshold

    • Categorize and prioritize each risk for mitigation

  • Mitigate risks

    • Develop mitigation plans for risks (select risks to proactively reduce their potential impact)

    • Develop risk contingency plans

    • Assign responsibility to track and address each identified risk

  • Implement risk mitigation plans (and then monitor the status of the risk once the mitigation plan is initiated)

2.3.6 Supplier Agreement Management

Use supplier agreement management (SAM) when the development of the product or one component of the product is not done by the project team, yet the team is responsible for delivering that product or component to the client.

The Supplier Agreement Management process area covers the best practices related to establishing supplier agreements:

  • Determine the acquisition type for a product or a component of the product

    • Purchase modified COTS products

    • Obtain the product (or component) through supplier agreement

    • Obtain the product (or component) from an in-house supplier

    • Obtain the product (or component) from the customer

    • Obtain the product (or component) from a preferred supplier

  • Select suppliers

    • Before selecting any supplier, it is important to evaluate suppliers based on their ability or past experience in delivering the required product or product component

    • Maintain a list of candidate suppliers

    • Maintain a list of preferred suppliers

    • Maintain records that evaluate the suppliers (i.e., the proposals evaluated, the basis of selecting a candidate supplier, and the advantages and disadvantages of each)

  • Establish and maintain supplier agreements

    • Create a written agreement between the organization and the supplier (i.e., a statement of work, a contract, etc.)

    • Provide an overview of the work to be done in the written agreement

    • Draft the agreement based on the type of work (and insert language based on what you feel is right)

    • Agreements are usually reviewed by the legal/advisory team

  • Include things in your agreement that fit your organization’s needs; typical things to include might be the following:

    • Establish a statement of work, including terms and conditions, deliverables, schedule, and product acceptance procedures

    • Document who is responsible and authorized to make changes to the supplier agreement

    • Document a requirements change management procedure

    • Document procedures to be followed by the supplier

    • Document when reviews will be done with the supplier

    • Document responsibilities of the supplier during the maintenance period

2.3.7 Satisfy Supplier Agreements

An organization should perform activities with the supplier as documented in the written agreement. On a regular basis, it should track the supplier work status and performance (i.e., track the schedule, effort, and cost). It should also maintain progress reports and review the processes being used by the supplier in delivering the product.

Before accepting the acquired product, an organization should evaluate and accept the deliverables shared by the supplier, as per the set acceptance criteria in the agreement. An organization should also share the feedback/bugs/action points with the supplier if deliverables shared are unacceptable or need corrections.

2.3.8 Ensure a Transition of Products

There should be a smooth transition when the final deliverable/product is transferred to the organization by the supplier. Hence, the transition plan should be prepared and agreed upon by the organization and the supplier.

What follows are the points to be ensured during the product transition:

  • Ensure that the required facility is available to receive and store the product

  • Ensure that training is planned and conducted for the people responsible for receiving, storing, and maintaining the product (i.e., the product should be maintained as per the supplier agreement and license terms)

  • Ensure that the transition plan is monitored and transition report is shared with the relevant stakeholders for the status update

2.3.9 Quantitative Project Management (QPM)

The purpose of the Quantitative Project Management (QPM) process area is to manage the project in quantitative terms (see Figure 2-13); doing so will help the organization to achieve the project’s established quality and process performance objectives:

  • Prepare for quantitative management

  • Define a project’s objectives

  • Define measurable quality and process performance objectives for the project

  • Document the project’s objectives

    • Objectives should detail the needs and priorities of the customer, end users, and other relevant stakeholders

    • Objectives should be specific, measurable, attainable, relevant, and time-bound

A427788_1_En_2_Fig13_HTML.jpg
Figure 2-13. Documenting the process objectives
  • Measure the quality of the project’s attributes

    • The mean time between failures

    • The cycle time

    • The defect escape rates

  • Proactively identify risks, such as the chance that the project’s quality and process performance objectives will not be met

  • If there are conflicts among the project’s quality and process performance objectives, ensure that they have been resolved (e.g., if one objective cannot be achieved without compromising another)

  • Maintain traceability from the source to the project’s quality and process performance objectives

  • The sources subject to tracing can be highly varied

    • The organization’s quality and process performance objectives

    • The customer’s quality objectives

    • The business objectives

  • Maintain the following documents

    • The quality and process performance objective sheet

    • The project defined process (defines how the project will be able to achieve its quality and process performance objectives)

    • Defined criteria for evaluating process alternatives for the project

  • Defined criteria can include the following:

    • Quality and process performance objectives

    • Project lifecycle models

    • Stakeholder requirements

  • Identify alternative processes and subprocesses for the project

    • Analysis of process performance baselines (created at the organization level) can help in identifying subprocesses that will facilitate achieving the project’s quality and process performance objectives

    • Subprocesses could also be identified from the organization’s set of standard processes

    • Alternative subprocesses that best meet the criteria should be selected

  • Select measures and analytic techniques

    • Common measures that support the quantitative management should be identified from the organizational process assets

    • Measures which could be used to manage the subprocesses should be identified

    • Specify the operational definitions of measures, their collection points in subprocesses, and how the integrity of measures will be determined

    • Identify the statistical and other quantitative techniques to be used in quantitative management

    • Determine what process performance baselines and models may be needed to support identified analyses

  • Maintain the following documents

    • Definitions of measures and analytic techniques to be used in quantitative management

    • Traceability of measures back to the project’s quality and process performance objectives

    • Quality and process performance objectives for selected subprocesses and their attributes

    • Process performance baselines and models for use by the project

  • Quantitatively manage the project

    • Monitor the performance of selected subprocesses using statistical and other quantitative techniques

    • Collect data, as defined by the selected measures, on the subprocesses as they execute

    • Monitor the variation and stability of the selected subprocesses and address deficiencies

    • Monitor the capability and performance of the selected subprocesses, and then address deficiencies

2.3.10 Engineering Process Areas

So far we have covered Project Management process areas. Next, we’ll look at the second category of process areas, Engineering . These process areas contain best practices for the roles to be played by the business/requirements analyst, the architect, GUI designers, technical/functional leads, and developers and testers in an organization.

2.3.10.1 Requirements Development

The focus of the Requirements Development (RD) process area is to collect and analyze requirements. We can segregate requirements into three different types:

  • Customer Requirements

  • Product Requirements

  • Product Component Requirements

RD covers the best practices related to developing customer requirements.

2.3.10.2 Developing the Customer Requirements

Here we need to elicit requirements from all the stakeholders’ points of view. It’s important to understand their needs and expectations. Also, we need to proactively identify those requirements which are not communicated or provided by the client/stakeholder, but are essential for the product or product component delivery.

We can use the following techniques to elicit the requirements:

  • Interview sessions

  • Prototypes

  • Brainstorming

  • Market surveys

  • Use cases

Documents to be maintained include the following:

  • Requirement Q&As

  • Prototypes

  • Survey results

  • Meeting minutes

2.3.10.3 Transform the Stakeholder Needs into Customer Requirements

For building customer requirements, you need to consolidate all the inputs/information received from all stakeholders, but also do the following:

  • Check whether any information is missing, and update the missing part

  • Determine whether any conflicts exist in the requirements

In scenarios where the customer provides only the set of requirements, the customer requirements could conflict with the needs and expectations of the relevant stakeholders. Hence, it is important to resolve the conflict before treating customer requirements as a recognized set of requirements.

Documents to be maintained include documented customer requirements (i.e., a business requirements specification).

2.3.10.4 Develop the Product Requirements

You’ll need to analyze the customer requirements to arrive at detailed product requirements:

  • Establish product and product component requirements

  • Associate the requirements with product life cycle phases

In scenarios where we chose to follow an iterative or incremental development model, the requirements must be allocated to iterations or increments based on the following criteria:

  • Customer priorities

  • Technology related issues

  • Project objectives

You will also need to document customer functional and quality attributes requirements. This will help when describing what the product will do. Functional requirements have to be described in technical terms, to create the product design.

Examples of quality attribute measures include the following:

  • Production of a simple report shall take less than 20 seconds for 95% of the cases

  • The system shall be able to process 100 payment transactions per second in peak load

Documents to be maintained include documented technical requirements (i.e., a software requirements specification)

2.3.10.5 Allocate the Product Component Requirements

Next, we will need to allocate the product component requirements; these include the following tasks:

  • Allocate requirements to functions

  • Allocate requirements to each product components

  • Capture design constraints for the product and product components

  • Allocate requirements to the delivery increments

2.3.10.6 Identify the Interface Requirements

We will also need to identify interfaces between the functions, as well as ensure that interfaces identified are both external and internal to the product. Also, we need to ensure that requirements are developed for the identified interfaces (e.g., the data characteristics of the software).

2.3.10.7 Analyze and Validate Requirements

We must also validate requirements to ensure that the product being produced will perform as intended in the environment it is supposed to perform in. As the name suggests, this is simply a matter of validating our requirements and helping us prevent the cost of failure.

2.3.10.8 Establish Operational Concepts and Scenarios

We need to document operational concepts and scenarios (i.e., the sequence of events that might occur during product development, deployment, delivery, support (including maintenance and sustainment), training, and disposal.

This means we need to define the environment in which the product or product component will operate, including its boundaries and constraints. One aspect of this is creating use cases.

We also need to establish a definition of required functionality and quality attributes. A functional definition can include actions, sequence, inputs, outputs, or other information that communicates the manner in which the product will be used. Quality attributes can also be important from business needs perspective, and they serve as an input to the design process.

Documents to be maintained include the following:

  • Definitions of the required functionality and quality attributes (document these in the SRS)

  • Activity diagrams and use cases (document these in the SRS)

2.3.10.9 Analyze the Requirements

Review that the requirements are complete, feasible, realizable, and verifiable. Ensure that any risk assessment conducted with respect to the requirements is documented.

Documents to be maintained include the following:

  • A requirements review defects report

  • A requirements clarification report

  • A risk register

  • A risk section could also be added in the SRS

2.3.10.10 Validate the Requirements

You also need to ensure that the requirements are validated by the client/end user before initiating the design/development work. It is important to instill confidence in the client that the requirements collected/defined will be delivered as required in the product.

Examples of validation techniques include prototypes, demonstration/product presentation, simulations, and so on.

The documents to be maintained include the following:

  • Documented prototypes

  • Presentations

  • Meeting minutes

2.3.10.11 Technical Solution

The focus of the technical solution is to design and implement solutions according to the requirements. The Technical Solution (TS) process area covers the best practices related to selecting component solutions, which includes the following tasks:

  • Develop solutions for design alternatives that feature current vs. new technologies, COTS products, tools and so on, as required to implement the requirements (there will always be more than one possible solution to implement a requirement)

  • Develop the criteria to select the best solution from the multiple alternatives available (i.e., criteria examples are cost, time, product performance, etc.)

  • Document the selection criteria for selecting the best/final option among the available alternatives list (i.e., the reasons for selecting a particular option/solution)

Documents to be maintained include reports that evaluate the design, new technology, COTS products, tools, and so on.

Here are a couple things to keep in mind when developing the design:

  • Employ techniques and methods known for producing effective design (e.g., prototypes, structural models, object oriented design, and entity relationship models)

  • Ensure that design standards are adhered to while preparing the design

Documents to be maintained include the following:

  • Product architecture

  • Design standards

To establish a technical data package, you need to document the required product components levels:

  • The subsystem

  • Hardware configuration items

  • Computer software configuration items

  • Computer software product components

Documents to be maintained include those related to developing high- and low-level design.

Follow these criteria when designing interfaces:

  • Define the interface criteria

  • Identify the interfaces associated with other product components and external items

  • Apply the interface criteria to the design alternatives

  • Document the selected interface designs and the rationale for the selection

Documents to be maintained include the following:

  • The interfaces in high- and low-level design

  • The interfaces evaluation report (i.e., the DAR record)

2.3.10.12 Perform Make, Buy, or Reuse Analyses

Make, buy or reuse analysis is done to determine which product or product component needs to be acquired as part of the project/product delivery. The purpose of this analysis is to understand which product or product component cannot or should not be developed in-house, whether due to its high complexity, the lack of skills of your team members, or any other reasons.

It is also possible that some product or product component is already available as part of the delivery of past projects, and that it could be reused in the current product development.

Hence, by acquiring or reusing product components, you can save time and effort developing the current product or component.

In that vein, we need to do the following:

  • Define criteria for when to reuse a product component

  • Analyze designs to determine if a product or component should be developed, reused, or purchased

Documents to be maintained include a make, buy, or reuse analysis report. This document should describe how to implement a product design to develop software code. Examples of software coding methods include the following:

  • Structured programming

  • Object oriented programming

  • Automatic code generation

  • Software code reuse

During the software code development, the organization needs to adhere to the appropriate coding standards (e.g., language standards like .net and Java) and take these steps to ensure quality control:

  • Plan and perform software code peer reviews

  • Perform unit testing

Documents to be maintained include the following:

  • Source code

  • Coding methods

  • Coding standards

  • Peer review reports

  • Unit test cases

  • Results

2.3.10.13 Develop Product Support Documentation

To install, operate, and maintain the product, you’ll also need to provide support documentation to the client.

Documents to be maintained include the following:

  • User manual

  • Maintenance manual

  • End user training material

  • Online help

2.3.10.14 Product Integration

The purpose of product integration (PI) is to assemble and integrate the product from the product components. We need to ensure that the integrated product behaves properly before we deliver it to the client. Product integration can be done in two ways:

  • All the product components can be integrated, tested, and delivered to the client

  • The components can be integrated in incremental stages (e.g., if an iterative model is used for product development, then the continuous integration path could be followed to assemble the product components)

The Product Integration process area covers the best practices related to preparing for PI:

  • Prepare and maintain an integration strategy

  • Product components are available to facilitate product integration

    • Integration has to be conducted in a single build or in incremental builds

    • An integration procedure is defined

    • Features need to be tested in each iteration/build when using iterative development

    • Interfaces need to be managed

    • An integration environment needs to be created

    • Testing tools/equipment need to be created

    • Test results/reports need to be created and evaluated

  • Evaluate and select the best integration strategy to be adopted

    • Evaluate and choose the best integration strategy method from the options available (use the DAR method for evaluation)

    • Upon selection of the best option according to you, document the reasons for selecting the option

Documents to be maintained include the following:

  • The product integration strategy

  • The DAR record (for evaluating the options for the integration method)

Follow these steps to create the product integration environment:

  • Assess the requirements for creating the environment

  • Enumerate all the procedures required to verify the environment

  • Conduct a make or buy analysis (whether to create or buy the environment from outside

  • Create your own environment if the environment cannot be acquired from an outside source

Documents to be maintained include anything that supports the fact that the integration environment is available and has been verified.

To that end, you’ll want to create a verification checklist:

  • Create the procedures and criteria for product integration

  • Create procedures to conduct the integration in a planned manner

    • Indicate the number of iterations to be performed

    • Define the integration sequence

    • Specify the level of testing to be conducted

    • Spell out the defined threshold for performance deviation

    • Indicate the interfaces to be verified (e.g., human-machine interfaces, message interfaces, electrical interfaces, or climatic interfaces)

    • Specify the resources required (i.e., testing tools, staff, environment availability, etc.)

Documents to be maintained include the integration procedure (describing your integration criteria).

This will help you ensure that your interfaces are compatible. You’ll also need to review all interfaces to ensure they are correctly identified and that their coverage is complete.

Documents to be maintained include the review report or record (all identified issues should be closed).

Take these steps to manage the interfaces:

  • Ensure that interfaces remain compatible with each other for the entire product life cycle

  • Resolve any identified issues

Documents to be maintained include those that cover the relationship tables that describe the relationship of product components with each other and the external environment.

Here’s an agreed upon list of application program interfaces (APIs) that cover when product components are assembled and delivered:

  • Perform checks to determine whether the product components delivered are ready for integration (i.e., a readiness checklist to provide the component acceptance)

  • Perform checks to ensure whether integration environment is ready and available

  • Assemble the product and product components by following the defined procedures and criteria

  • Change/revise the integration procedure if the criteria in the defined procedure does not work

Documents to be maintained include the following:

  • A readiness checklist to provide the component acceptance

  • Sanity verification/tests

  • Created builds

  • A revised integration procedure (if required)

You will need to take the following steps to evaluate the assembled product:

  • Ensure that the assembled product (e.g., software build, the laptop, and the charger) will work in its intended or end-user environment

  • Perform checks/tests to evaluate the assembled product in the end-user environment or in a simulation environment

  • Record the test results

  • Analyze and correct interface errors, if any

Documents to be maintained include the integration/interface test reports.

Take the following steps to package and deliver the product or product component:

  • Once the software build or hardware components are ready, deliver the same to the client as a package (e.g., deliver the software build package in a CD or online file transfer, and provide the hardware package in suitable packaging material)

  • Provide the user/client appropriate and sufficient information to take advantage of the delivered material

  • Explain what the software build contains (e.g., what modules, patches, and open bugs, if any)

  • Provide an installation guide that covers the steps for the user to download and install the delivered software build

  • Explain what the hardware package box contains (e.g., servers, laptops, or desktops)

  • Provide an installation guide for the user to install the delivered hardware

Documents to be maintained include the following:

  • A software build note

  • An installation/user guide

  • A delivery note that covers software modules, software patches, bugs, hardware, and so on)

  • A confirmation receipt for the delivery note

2.3.10.15 Validation

Validation (VAL) is performed along with the client or by the client. The Validation process area covers the following best practices related to preparing for validation:

  • Select the product or product components to be validated/tested

    • Product and components include several types of items, like software modules and hardware

    • Technical documents like requirement specifications (i.e., business requirements, software/system requirements, etc.)

    • Design documents (i.e., high and low level)

    • User interfaces (i.e., product integration)

    • User manuals

  • Select a validation method for validating the product or product components; there are several possible validation methods

    • A prototype demonstration

    • Tests of products and product components by end users and other relevant stakeholders

    • Formal reviews of technical documents

  • Create an environment for performing validation

    • Identify requirements for creating an environment for validation

    • Identify test equipment and tools for performing validation

  • Create procedures and criteria for performing validation

    • Create testing procedures

    • Create evaluation procedures

  • Perform validation

    • Perform tests on the product or its components as per the defined validation procedure

    • Perform technical documents validation with client

    • Collect validation/test/evaluation results

Documents to be maintained include the following:

  • A validation procedure

  • Test reports

  • Analysis of validation results

  • Comparisons of planned vs. actual results

  • Analysis of defect data

  • Analysis of product or product components which are not working

2.3.10.16 Verification (VER)

Verification is performed internally by the project team members, without involving the client. The Verification process area covers the best practices related to preparing for verification:

  • Performing verification requires using various methods

    • Use peer reviews, walkthroughs, simulations, testing, and demonstrations

    • Identify work products to be verified

    • Identify or define a verification method

    • Create an environment for performing verification

    • Identify requirements for creating a verification environment

    • Identify test equipment and tools for performing verification

    • Create procedures and criteria for performing verification

  • Performing peer reviews and preparing for peer review

    • Identify members to perform the peer reviews

    • Identify peer review method to be used

    • Create the peer review checklist to be used during the peer review

    • Ensure that entry and exit criteria for the peer review is defined

Documents to be maintained include a peer review checklist.

You can conduct peer reviews using the following methods:

  • Review work products and identify defects/other issues

  • Document review comments/defects/other issues

  • Identify action items resulting from peer reviews

  • Communicate action items or any issues to relevant stakeholders

  • Ensure that the defined exit criteria for the peer review is met

  • If the criteria isn’t met, then perform one more round of peer review to meet the exit criteria

Documents to be maintained include a peer review comments/defects report.

The peer review data describes the preparation, conduct, and results. You need to analyze the data in terms of the types of defects:

  • Types of defects

  • Peer review data analysis report

  • Verify selected work products

    • Perform verification of work products (e.g., unit tests and system tests)

    • Record results of verification/tests

    • Identify action items for closure of identified issues

Documents to be maintained include the following:

  • Test reports

  • Action item log/register

Take these steps to analyze the results of the verification activities:

  • Analyze the planned vs. actual result

  • Analyze defects data

You’ll need to maintain an analysis report with the following information:

  • An organizational performance management (OPM)

  • An organizational process definition (OPD)

  • An organizational process focus (OPF)

  • An organizational process performance (OPP)

  • An organizational training (OT)

2.3.11 Organizational Process Areas

The third category consists of Organizational process areas ; as the term organization implies, these process areas contain best practices for the roles to be played by the software engineering process group (SEPG) and the training group in an organization.

2.3.11.1 Organizational Performance Management (OPM)

The Organizational Performance Management (OPM) process area helps you manage business performance and maintain business objectives.

The purpose of OPM is to periodically review and revise the business objectives, along with quality and process performance objectives. It is important to evaluate the business objectives to ensure they are relevant as of today and aligned with the business strategies. For example, you might compare the current business objectives with their actual performance results:

  • Ensure that revised business objectives are reviewed and approved by the senior management

  • Ensure that revised business objectives are communicated to all

Documents to be maintained include the following:

  • A revised business objectives sheet

  • A revised quality and process performance objectives sheet

  • An analysis of process performance data

On a periodic basis, we need to review the quality and process performance objectives to determine whether the organization is able to meet the current defined business objectives.

For example, if cycle time is one of the critical business objectives, then we need to collect the data from different cycle times and analyze the overall cycle time data with the defined value. If the value matches or is around the defined value, then the organization has the capability to achieve the business objective; otherwise, the organization should revise the business objective value/threshold:

  • Identify gaps in the quality and process performance

  • Identify if there is any associated risk due to not being able to meet a given business objective

  • Communicate the results of process performance and risk analysis to senior management

Documents to be maintained include a report that captures the following:

  • Current performance capability vs. defined business objectives

  • Identified gaps in process performance

  • Identified risks, if any

  • Identified potential areas for improvement

  • Documented rationale for selecting the improvement area

  • Analyzed benefits for implementing the improvement area

You need to communicate to all the relevant stakeholders about implementing the improvement area. In that vein, you’ll need to maintain a report that captures the potential areas of improvement:

  • Select improvements for implementation

  • Elicit improvements from the suggested list (sources could be business objectives, processes, defect causes, etc.)

  • Identify improvements as incremental or innovative

    • Incremental improvements are simple and inexpensive to deploy, and may not require rigorous validation (e.g., adding one checkpoint in peer review checklist or a minor update in the tool)

    • Innovative improvements take a more transformational approach to performance improvements

Incremental and innovative improvements are identified by experienced people who have spent a long time in process and technology, or they are identified by a team of experts whose job is to find innovative improvements. These experts can take the following steps:

  • Investigate and analyze improvements which may improve process and technologies within the organization

  • Perform analysis in terms of improvement benefits (i.e., quantifiable improvement benefits)

  • Evaluate the implementation cost, effort, and resources required

  • Analyze and document the implementation risks or barriers, if any

  • Identify and document the validation method for the deployment of improvements

Documents to be maintained include the following:

  • Selected improvement proposals

  • Your improvement validation procedure

You must also validate any improvements made:

  • Develop a plan for validation (e.g., target projects, a schedule tracker to report results, and measurement activities)

  • Review the plan with relevant stakeholders and get agreement on the plan

  • Perform validation in an environment similar to the real deployment environment

  • Track the validation plan

    • Review and document validation results

    • Must meet the quantitative criteria defined for the improvement

Documents to be maintained include the following:

  • A validation plan

  • A validation plan tracker

  • A validation results report

Once you validate the plan and have a system in place for tracking and reporting on it, you’ll need to take steps to select and implement the improvements for deployment:

  • Select and prioritize improvement for deployment

  • Update the organization process assets

Documents to be maintained include the following:

  • Selected improvements deployment list

  • Updated organization process documentation

And the next step is to deploy the improvements:

  • Plan the deployment for each improvement

  • Determine the target population for deployment

  • Establish measures and objectives for each deployment to determine the success of the deployment

  • Review and agree upon the deployment plan with the stakeholders

Documents to be maintained include a deployment plan for managing development.

Follow these steps to monitor your deployment:

  • Use training materials to train the people during the deployment

  • Ensure that deployment is completed in accordance with the deployment plan

  • Document and review deployment results

You will also need to maintain the following documents related to your deployment activities:

  • Documented results of deployment activities

  • Training material

Finally, you will need to evaluate the effect of your improvements:

  • Measure each improvement’s defined achievement criteria against the objective

  • Measure and analyze the progress of achieving the organization quality and process performance objective

Documents to be maintained include those that measure the effects of each deployment.

2.3.11.2 Organizational Process Definition

The purpose of the Organizational Process Definition (OPD) process area is to define and maintain process assets to be used in the organization by the staff and management. This is also where you define and maintain work environment standards, along with the rules and guidelines for teams.

Follow these steps to establish organizational process assets:

  • Establish standard processes

  • Define the policies, procedures, templates, guidelines, checklists, and so on to be used in the daily work

  • Ensure that critical attributes are present in each process (e.g., the process role, entry criteria, inputs, verification points, outputs, and process and product measures)

  • Specify the relationship among process elements (e.g., the order and interface among the process elements)

  • Ensure that peer reviews are done on the standard processes

  • Revise the standard processes when and as needed (e.g., any improvements are identified in the standard processes)

Documents to be maintained include the following:

  • Documented policies

  • Procedures

  • Templates

  • Guidelines

  • Checklists

Define and maintain various life-cycle model descriptions

  • Select life cycle models based on the project needs of the organization (e.g., waterfall, iterative, spiral, and incremental)

  • Describe and document the life-cycle models

  • Perform peer review on the life-cycle models

  • Revise the life-cycle models when and as needed

Documents to be maintained include documented life-cycle models.

Next, you need to define the tailoring criteria and guidelines:

  • Define the criteria and procedure for tailoring the organization standard processes (e.g., modifying a life-cycle model and modifying or replacing process elements)

  • Define the process for submission and obtaining the waiver approval from the organizational standard processes

    • Document the tailoring guideline

    • Peer review the tailoring guideline

    • Revise the tailoring guideline when and as needed

Documents to be maintained include the documented tailoring guidelines.

Follow these steps to form the organization measurement repository:

  • Identify the organization or senior management needs for storing, retrieving, and analyzing the measurements

  • Identify measures which are common for the standard processes (e.g., the work product size, effort and cost, and test coverage)

  • Create and update the measurement repository regularly

The measurement repository comprises the following functions:

  • Analyze and interpret the measurement data among projects

  • Help new projects to quickly identify and access data from the repository by providing meaningful context

  • Help improve the accuracy of project estimates by using a project’s own historical data (and the historical data of other, similar projects)

  • Define procedures for how to store, update, and retrieve measures

  • Update the relevant measure’s information in the measurement repository

  • Ensure that the contents of the measurement repository are available to the relevant/authorized stakeholders

  • At regular intervals, revisit the measurement repository, measures list, and procedures when and as needed

Documents to be maintained include documented and analyzed measurement data.

You will need to form the organizational process asset library. This involves first designing the process asset library, and then deciding which items to be included in the asset library (e.g., policies, procedures, templates, guidelines, checklists, training materials, and lessons learned). Follow these steps:

  • Define the criteria for including the items in the library

  • Document the procedures for storing, updating, and retrieving the items

  • Add the items into the library and list them for easy access by the project and various other teams

  • On a periodic basis, review the use of each item

Documents to be maintained include a documented process asset–master list (i.e., a list of items in the process asset library).

Follow these steps to define the work-environment standards:

  • Identify and follow the work-environment standards that are appropriate for use in the organization

  • Revise the work environment-standards on a periodic basis and fill the gaps wherever necessary

Documents to be maintained include documented work-environment standards.

Following these steps will help you establish rules and guidelines for teams:

  • For timely decision making, empower the teams by documenting and deploying organizational guidelines

  • Define the rules and guidelines for structuring and forming teams

  • Define the rules and guidelines for how teams will work in a collective manner (e.g., how the work will be accomplished, who will perform reviews and approve the work, and how the resources and inputs will be accessed)

Documents to be maintained include documented rules and guidelines for your teams.

2.3.11.3 Organizational Process Focus

The Organizational Process Focus process area (OPF) enables you to plan, implement, and deploy organizational process improvements by following these steps:

  • Determine process improvement opportunities

  • Determine strengths, weaknesses, and improvement opportunities by following a standard or model (i.e., the ISO 9001 or CMMI model)

  • Establish organizational process needs

    • Identify and examine the process model or standards that are applicable to the organization (e.g., CMMI or ISO 9001)

    • Document the organization’s process needs and objectives

Documents to be maintained include those that document the organization’s process needs and objectives.

Here is how you appraise the organization’s processes:

  • Perform appraisals to identify processes which need improvement and to satisfy the needs of a customer-supplier relationship

  • Obtain buy-in from the senior management for the appraisal sponsorship

  • Define the scope of the appraisal (e.g., a single business unit, a site, or the whole organization) for selected projects and functions

  • Determine the method for the process appraisal (i.e., the appraisal method is different for CMMI and ISO 9001, so it’s necessary to know the need of each appraisal type)

    • Plan, schedule, and conduct the process appraisal

    • Document and deliver the appraisal results or findings

Documents to be maintained include the following:

  • A plan for organization process appraisal

  • An appraisal for findings results/recommendations

At this stage, you need to identify the organization’s process improvements:

  • Determine the improvements for the candidate process

  • Review and use appropriate techniques to identify candidate process improvements

    • Customer satisfaction survey results

    • Processes

    • Lessons learned from implementing processes using inputs from senior management and by conducting the process appraisals

  • Prioritize the candidate process improvements

    • Perform the cost-benefit analysis

    • Identify and document each process improvement with a priority

Documents to be maintained include those that document the process improvements to be implemented.

The next step is to plan and implement your process actions; here’s how you define process actions plans:

  • Process improvements to be addressed

  • Process improvement infrastructure

  • Process improvement objectives

    • Any piloting that needs to be done

    • Resources and schedules

    • Any identified risks to be tracked

  • Set the process action teams to implement actions

Documents to be maintained include those related to your approved process action plans.

Follow these steps to implement process actions plans:

  • Negotiate and document commitments among the process action teams

  • Track progress and commitments, and conduct joint reviews with the relevant stakeholders

  • Plan pilots, if needed

  • Identify and track issues to closure

  • Ensure that the implemented process-improvement plan has resulted in the achievement of the process-improvement objectives

You will need to maintain the following documents:

  • The documented commitment of the process action teams

  • A progress report for the improvement plan

Follow these steps to create plans for pilots:

  • Deploy organizational process assets and incorporate appropriate experiences

  • Deploy organizational process assets throughout the organization or the business unit

    • Identify how organizational process assets will be made available to the teams (e.g., via a web site)

    • Ensure that process training is delivered to all the teams

    • Identifying how changes to organizational-process assets are communicated

  • Deploy standard processes

    • Identify projects in the organization which are starting up

    • Identify current active projects which could benefit from the deployment of standard processes

    • Set the plans to implement the deployment of standard processes

    • Assist projects in identifying and adapting the tailoring on the standard processes

    • Maintain the tailoring records

    • Whenever standard processes are improved, identify the projects which should implement the changes as per the improved processes

Documents to be maintained include the following:

  • The organization’s list of projects and the status of process deployment for each

  • Guidelines to deploy the standard processes on new projects

  • Tailoring records

Once you decide how to deploy your process assets, you will need to monitor the implementation:

  • Monitor projects in which standard processes are deployed

  • Review process artifacts created during the life of each project to ensure that all projects are making appropriate use of the organization’s set of standard processes

  • Conduct process compliance checks to gauge how well standard processes have been deployed

  • Identify and track any deployment issues to closure

Documents to be maintained include the following:

  • Reports of process implementation monitoring on projects

  • Process compliance audit reports

  • Results of reviews of selected process artifacts; these get created as part of process tailoring and implementation

Next, you’ll need to follow these steps to incorporate experiences into the organizational process assets:

  • Conduct periodic reviews to check the effectiveness and suitability of the organization’s set of standard processes

  • Obtain feedback from the staff members of the organization who are using the standard processes

  • Identify the lessons learned when defining, piloting, implementing, and deploying organizational processes

  • Analyze measurement data obtained by using the common set of measures

  • Appraise processes, methods, and tools to develop recommendations for improving organizational process

  • Establish and maintain records of the process-improvement activities conducted across the organization

Documents to be maintained include the following:

  • Process-improvement proposals

  • Process lessons learned

  • Records of the organization’s process-improvement activities

2.3.11.4 Organizational Process Performance (OPP)

The Organizational Process Performance (OPP) process area defines organizational quantitative objectives and establishes the process performance baseline and models to quantitatively manage the projects.

Follow these steps to establish performance baselines and models:

  • Define the quantitative objectives for quality and process performance at the organizational level

  • Set quantitative objectives for process and subprocess measurements (e.g., effort, cycle time, and defect density)

Documents to be maintained include those related to the organization’s quality and process performance objectives.

Actually selecting processes or subprocesses requires following these steps:

  • Define the criteria for the selection of a process or subprocess, including examples like the following:

    • The process or subprocess is strongly related to key business objectives

    • The availability of historical data is relevant to the process or subprocess

    • The process or subprocess will generate data to enable statistical management

  • Select the subprocesses and document the rationale for their selection

  • Establish and maintain traceability between the selected subprocesses, quality and process performance objectives, and business objectives, including examples like the following:

    • Subprocess mapping with quality and process performance objectives

    • Subprocess mapping with the business objectives

Documents to be maintained include a list of processes or subprocesses identified for process-performance analyses.

Follow these steps to establish process-performance measures:

  • Establish measures for both product and process attributes, based on the selected process or subprocess

  • Possible criteria for selecting such measures can include the following:

    • The relationship of measures to the organization’s quality and process performance objectives

    • Coverage that measures provide over the life of the product or service

    • The frequency at which observations of measures can be collected

  • The operational definitions for the selected measures from the organization’s set of common measures

2.3.11.5 Establish Process Performance Models

Process-performance models can help an organization to estimate or predict the value of a process-performance measure. Projects can use them for estimating, analyzing, and predicting the process performance of their defined processes.

Examples of process-performance models include the following:

  • Regression models

  • Monte Carlo simulation models

You can create process performance models by referring to the organization’s standard processes and process performance baselines. Follow these steps to do so:

  • Review process-performance models with relevant stakeholders and get their agreement on the same

  • Revise process-performance models whenever required (e.g., when processes are improved/updated)

Documents to be maintained include the process-performance models.

2.3.11.6 Organizational Training

The purpose of the Organizational Training (OT) process area is to provide skills and enhance the knowledge of the staff, in order to help them perform their roles in an efficient manner. Follow these steps to establish an organizational training capability, which will help ensure that the organization’s strategic training needs are identified.

Sources of strategic training needs include the following:

  • An organization’s standard processes

  • An organization’s strategic business plan

  • An organization’s process improvement plan

You will also need to perform regular skill assessments. Categories of training needs include the following:

  • Engineering (e.g., requirements analysis, design, testing, configuration management, and quality assurance)

  • Team building

  • Leadership

One of the most important aspects of training a staff is to perform ongoing needs analysis:

  • Identify which training which will be the responsibility of the organization and which will be left to the individual project or support group

  • Analyze and negotiate how training needs identified by projects and support groups will be met

  • Document commitments from the staff for providing training support to projects and support groups

You need to maintain documents that cover common project and support group training needs.

Outlining training commitments involves creating and maintaining an annual training plan. Setting the content of the plan includes spelling out the following:

  • Training topics

  • Methods used for training

  • Training tasks

  • Roles and responsibilities

  • Schedules based on training activities

  • Required resources (e.g., tools, facilities, environments, staffing, skills, and knowledge)

You’ll need to document the commitments from those who are responsible for implementing and supporting the plan, and then revisit the plan and documented commitments whenever necessary.

You’ll need to maintain an annual training plan for the organization.

2.3.11.7 Establish a Training Capability

You’ll need to select the appropriate method to satisfy organizational training needs. Examples of possible training approaches include the following:

  • Classroom training

  • Self-study

  • Formal apprenticeship

  • Mentoring programs

  • Structured on-the-job training

Following these steps will also help you to establish an appropriate training plan:

  • Assess the need to develop training materials internally or to acquire them externally

  • Develop or obtain qualified instructors or mentors

  • Maintain the training calendar (e.g., topics to be covered, training objectives, and intended audience)

  • Revise training materials and supporting artifacts, as necessary

Documents to be maintained include your training materials and supporting artifacts.

Follow these steps to provide training for your organization:

  • Identify those staff members who need to attend trainings and are necessary to execute their roles effectively

  • Schedule trainings, including any resources, as necessary (e.g., facilities and instructors)

  • Track the training delivery against the plan

Documents to be maintained include the delivered training course.

You’ll need to establish and maintain records of your organizational training, including the following:

  • Keep records of participants who successfully completed training courses, as well as those who were unsuccessful

  • Keep records of all staff waiver requests

  • Make training records available to the appropriate people

Documents to be maintained include the training records.

You’ll need to assess the effectiveness of the organization’s training program and build a mechanism to assess the effectiveness of each training course, as per the defined objectives.

Here are some methods you can use to assess training effectiveness:

  • The post-training feedback of participants

  • Surveys of manager satisfaction, including ratings

  • Assessment through courseware provided

Documents to be maintained include the following:

  • Training effectiveness surveys

  • Instructor evaluation forms

  • Training examinations

2.3.12 Support Process Areas

The fourth category is comprised of Support process areas . As the term implies, these process areas contain best practices for the roles to be played by the project manager, configuration manager/controller, technical/functional Leads, and the SQA/auditor in an organization.

2.3.12.1 Causal Analysis and Resolution

The Causal Analysis and Resolution process area helps you analyze causes and problems in both negative and positive ways. If there is a negative impact, this process area can help you prevent the causes or problems from reoccurring.

If a cause has a positive impact, this process area can help you incorporate the cause into processes in a way that contributes to more successful outcomes in your organization. This will help in improving/repeating the performance of the process.

To begin, you need to figure out the causes of selected outcomes. You might be wondering why you are interested only in selected outcomes. This is because not all outcomes have an equal impact, and only some impacts require an action.

The next step is to select outcomes for performing the analysis. We can initiate/plan analysis in two ways:

  1. Trigger an event

  2. Execute a periodic/planned activity at the beginning of a phase or task

You’ll need to gather data for analysis (real time/current data would be best for this analysis). Types of data to gather for this include the following:

  • Customer or end user reported defects

  • Peer review comments/defects

  • Test defects

  • Process capability problems

  • Customer feedback points/low ratings

After the selecting the type of data to analyze, you need to select the outcomes to analyze further. Methods which could be used to select outcomes include the following:

  • Pareto analysis

  • Histograms

During the selection of outcomes, focus on their source, impact, frequency of occurrence, the cost of performing the analysis, the required time and resources needed, and so on.

Also, clearly define the scope of analysis, improvement expected, the stakeholders that will be affected, and so on.

At this point, you’re ready to analyze the causes:

  • Perform root cause analysis with members who are responsible for performing the task

  • Identify root causes using appropriate methods

    • Cause and effect (fishbone) diagram

    • Check sheets

  • Group the causes based on their identified root causes

    • Inadequate training and skills

    • Making mistakes in procedures

  • Create an action plan

    • Address negative causes and prevent them from reoccurring

    • Incorporate best practices into the processes

Examples of preventive actions include the following:

  • Training

  • Tools

  • Methods

Examples of best practices include the following:

  • Create an activity checklist to avoid common problems

  • Update the process to remove error-prone steps

  • Automate part or all of a process

Documents to be maintained include an action plan. This means you’ll need to analyze and select an action plan for implementation.

It is important to analyze and select a variety of factors are when implementing your plan. Factors to analyze might include timelines, cost, stakeholders involved, benefits expected, and so on.

Implement an action plan to accomplish the following:

  • Track the plan (i.e. tasks, people, etc.)

  • Review results

  • Track action items to closure

Let’s walk through what an improvement action plan might look like when using a new tool. Following these steps will help you evaluate the effect of implemented actions:

  • Measure and analyze the change in performance of affected processes

  • Review the before and after analysis of the performance

  • Determine whether the change in performance has brought a positive impact (i.e., does it help you meet project quality and process performance objectives?)

  • Plan an appropriate action if the change in performance does not help you achieve the expected project quality benefits

Documents to be maintained include the following:

  • An updated plan

  • An updated action item log/register

  • A before-and-after process performance analysis report

Be sure to record your causal analysis data:

  • The purpose of this is to make the data available to other projects, so that they can use/refer to the data in order to achieve similar results

  • Once the implemented action plan is found to be effective, submit the information to the organization for inclusion in the organizational processes

Documents to be maintained include the following:

  • Causal analysis data

  • An improvement proposal

2.3.12.2 Configuration Management

The Configuration Management (CM) process area helps you accomplish several tasks:

  • Identify configurable items

  • Perform configuration control

  • Maintain the integrity of baselines

  • Maintain configuration status accounting

  • Conduct configuration audits

  • Establish baselines for work products

  • Identify configurable items

    • Configuration items could be hardware and equipment, as well as software and documentation

    • The criteria for selecting a configurable item are based on whether a work product is expected to change over time (e.g., is there a change in the requirements?)

Examples of configurable items include the following:

  • A requirement specification

  • Design

  • Source code

  • Test plans and procedures

  • Tools

For each configurable item, assign a unique identification mark (e.g., Design_<client name>_1.0.doc). You’ll need to decide when to place each configuration item under a configuration management. Here are some examples:

  • Work product test readiness

  • A project-lifecycle phase

  • The degree of control analyzed on each work product

  • An owner assigned for each configuration item

Documents to be maintained include a configuration-management plan.

2.3.12.3 Create a Configuration-Management System

You’ll need to manage multiple levels of control for the work product. Examples of this include the following:

  • Uncontrolled: Changes can be done by any staff member

  • Work in progress: The author is controlling the changes

  • Released: Changes are controlled by authorized personnel only; when any changes are made, the relevant stakeholders are updated

Following these steps will help you build an effective configuration-management system:

  • Manage access control for each project member; the goal is to ensure that only authorized people have access to the relevant project folders or configuration management system (i.e., CVS, VSS, etc.)

  • Store, update, and retrieve configuration management records

  • Create release baselines for internal use, as well as for delivery to the customer

    • A software baseline might include requirements, design, source code files, build files, and user documentation

  • Obtain approval from the change control board (CCB) for the creation and release of baselines for configuration items

  • Track the configuration items which are in a baseline state

You will also need to track and control changes:

  • Track change requests for configuration items

  • Track the change requests received in a change request tracker sheet/tool

  • Perform impact analysis based on the received change request

  • Set the priority for each received change request

  • Review change requests in the CCB meeting and get approval from relevant stakeholders

  • Track the status of each change request until closure

You will also need to track change requests for configuration items:

  • For each configuration item, control the changes throughout the project or service life cycle

  • Obtain approval from CCB members before updating a configuration item and placing it in the configuration management system

  • All check in and check out should be done properly, without losing the previous versions

  • Document the reasons for making the changes to a configuration item

  • Following these steps will help you establish the integrity of a baseline:

    • Ensure that each configuration item status is known, and that recovery of previous versions is possible

    • Ensure that relevant stakeholders are aware of the configuration status of configuration items

    • Ensure that the difference between the previous and the current baseline is known

    • Ensure that you are using the latest version of the baseline

Documents to be maintained include the following:

  • A change log

  • Change requests

You can track configuration status by performing configuration audits:

  • Check and ensure that configuration items are complete and correct in the configuration-management system

  • Check and ensure that configuration management standards and procedures are followed

  • Ensure that all configuration audit findings are closed

Documents to be maintained include a configuration audit report that shows the status of your findings.

2.3.12.4 Decision Analysis and Resolution

The Decision Analysis and Resolution (DAR) process area enables us to analyze possible decisions during the project by using formal evaluation techniques/methods. The evaluation method will help us evaluate the alternatives identified, and then complete the process by choosing the best alternative available. We will need to do the following:

  • Evaluate alternatives

  • Create guidelines for decision-making analysis

Creating the guidelines is important, as it will help us to decide which decisions need to be evaluated using the formal evaluation technique/method. Only some decisions require evaluation because not every decision is significant enough to be evaluated through the formal evaluation process.

Here are some sample points that might be mentioned in the guidelines; these can help in determining which decisions to be put under the formal evaluation process:

  • Issues which can lead to medium- to high-impact risk

  • Decisions required for changing the work products placed under configuration management

  • Decisions which could lead to delays over a certain amount of time

  • Decisions which can affect achieving the objectives of the project

Here are some activities for which the formal evaluation process could be used:

  • To procure material

  • To design alternative decisions

  • To make decisions on the cycle time or response time of a process

Documents to be maintained include a guideline document, which covers when to use the formal evaluation process.

2.3.12.5 Establish Evaluation Criteria

The guideline document is the basis for evaluating alternative solutions. Each defined criteria will be given a ranking, and the highest ranked criteria get more weight in the selection process:

  • Define the criteria for evaluating alternative solutions

  • Rank the criteria and define the range and scale

  • Rank and assess each selected criterion during the evaluation

  • Document the rationale/reasons for choosing the selected criteria

Documents to be maintained include a guideline document that covers the criteria, with rankings that you can use to identify alternative solutions.

You can search the alternative solutions both within and outside the organization. Within the organization, you can determine whether any other business unit or department has already worked on the solution. And outside the organization, you can determine if you can procure a ready-made solution which can be plugged into the existing, running system. Brainstorm with a technical and/or experienced member of your teams to identify suitable alternatives:

  • Document the final alternatives list

  • Select from among the several evaluation methods

    • Surveys

    • Engineering studies

    • Field experience and prototypes

    • Expert judgment (i.e., the Delphi method)

Also, measures need to be identified to support the evaluation method (e.g., the impact on cost, schedule, performance, and risk).

Choose the evaluation method which is most relevant to support the evaluation process:

  • Evaluate alternative solutions

  • Evaluate alternatives based on the defined criteria and the selected evaluation method

  • Evaluate uncertainty in the values for alternative solutions (e.g., if the score varies between two values, then you need to assess whether there is a significant difference and whether it will affect the selection of the final solution)

  • Address the uncertainty by taking appropriate actions

    • Perform simulations

    • Build prototypes

    • Run pilots

  • Select the best solution from the alternatives evaluated

    • Assess the risk, if any, associated with the solution selected from the alternatives

    • Document the rationale for selecting the final solution and communicate the results to the relevant stakeholders

2.3.12.6 Measurement and Analysis

The purpose of the Measurement and Analysis (MA) process area is to establish a measurement system in the organization or the software unit group of the organization. The measurement system will help in measuring and assessing the project objectives, which in turn will help in achieving the business/organization objective.

Follow these steps to align the measurement and analysis activities:

  • Establish the measurement objectives

  • Document the measurement objectives

The measurement objectives enable you to perform measurement and analysis activities in the organization. Sources for the information needs and objectives can include the following:

  • Project plans

  • Business plans

  • Interviews with managers

  • Industry benchmarks

  • Experience of other objects in the organization

You will want to review and update measurement objectives with management and other relevant stakeholders.

Documents to be maintained include your measurement objectives, which specify your organization’s measures.

Here, measurement objectives are converted into quantifiable measures. Examples of measures include the following:

  • Effort variance

  • Schedule variance

  • Defect density

  • Defects measure (i.e., the number of defects by severity and the total number of defects)

  • Customer satisfaction ratings and trends

You will also need to document the operational definitions of measures. For example, you will need to state what to measure, how to measure it, the unit of measurement for each measure, as well as what has been included or excluded. Be sure to prioritize, review, and update measures with the relevant end users and stakeholders.

Documents to be maintained include the measurement guidelines. In these guidelines, you specify the process, including how measurement data will be obtained and stored:

  • Identify measures for which existing sources of data are available

  • Identify those measures for which data is needed, but which is currently not available

  • Identify for each measure how to collect and store that data

  • Work on the data-collection mechanism and procedures

  • Update the measures and measurement objectives, as needed

You will also need to specify how measurement data is analyzed and communicated:

  • Identify each type of data analysis to be conducted and the reports to be generated

  • Select the appropriate data analysis methods and tools

    • Pie charts

    • Bar charts

    • Histograms

    • Line charts

  • Review the measurement report with relevant stakeholders, end users, data providers, and so on

  • Define the criteria for evaluating the measurement analysis results (e.g., determine whether the data is reliable, understandable, and can be used for decision making)

You will use the measurement guidelines to accomplish the following:

  • Provide measurement results

    • Collect measurement data

    • Perform data calculations

    • Perform data integrity checks (i.e., errors in data, unusual patterns, etc.)

  • Analyze measurement data

    • Perform analysis and interpret results to draw conclusions

    • Review the results with the relevant stakeholders before releasing it to all the stakeholders

    • Refine the measurement process based on the lessons learned during the reviews

Documents to be maintained include a draft of the measurement reports.

You will want to follow these guidelines to store data and results:

  • Store data as per the defined data-storage procedures

  • Ensure data is available to only authorized groups

  • Prevent information from being used inappropriately

Documents to be maintained include the measurement data inventory.

Follow these steps to communicate the results:

  • In a timely manner, regularly update the relevant stakeholders about the measurement results

  • Help the relevant stakeholders to understand the results

Documents to be maintained include the measurement analysis report; this report needs to include read me guidelines for understanding the report.

2.3.12.7 Process and Product Quality Assurance (PPQA)

The Process and Product Quality Assurance (PPQA) process area helps you to accomplish the following:

  • Objectively evaluate the process actions and work products against the defined processes and standards in the organization QMS

  • Identify process noncompliance issues

  • Communicate feedback to project teams on the quality assurance activities

  • Ensure that the process noncompliance issues are closed

Examples of objective evaluations include the following:

  • Internal quality audits conducted by the audit group

  • A review of work products

  • Performance reviews at the work places (i.e., desk audits)

These steps can help you objectively evaluate processes:

  • Define clear criteria for evaluating the processes

  • Evaluate the selected processes

  • Identify noncompliance issues

  • Identify lessons learned for process improvement

Follow these steps to objectively evaluate work products:

  • Define clear criteria for evaluating the work products

  • Evaluate the selected work products based on the sampling criteria

  • Identify noncompliance issues

  • Identify the lessons learned for process improvement

Documents to be maintained include the following:

  • Evaluation reports

  • Quality assurance reports

Follow these steps to track noncompliance issues and ensure resolution:

  • Resolve the noncompliance issue with the relevant project members

  • Document the noncompliance issues when they are not resolved in the project

  • Escalate to senior management when noncompliance issues are not resolved in the project, so that appropriate actions can be taken

  • Analyze noncompliance issues to see whether there are any formation trends regarding a particular category, so that appropriate action can be taken

  • Ensure that you communicate the evaluation results to relevant stakeholders

You will also want to establish and maintain records of the quality-assurance activities:

  • Document the result and status of quality-assurance activities performed

  • Revise the status of quality-assurance activities performed

Documents to be maintained include the following:

  • Quality-assurance reports

  • Status reports

Hopefully we have covered all the process areas and their mapping. Although space prohibits explaining every point in-depth, we hope you will find the material in this chapter easy-to-follow and simple-to-understand.

2.4 Summary

In this chapter, we have learned about the structure of the CMMI and how to interpret the structure. We have also covered 22 process areas. Most of the information and pointers in this chapter are taken from the CMMI model. The model information is very vast, but we have tried to explain purpose of various process areas in a simple, straightforward, and easy-to-understand manner.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset