© Mukund Chaudhary 2017

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

1. CMMI Overview

Mukund Chaudhary and Abhishek Chopra2

(1)Noida, Uttar Pradesh, India

(2)Faridabad, Haryana, India

Many companies want to improve their processes, but they don’t know which process model to follow to make head way in process implementation. This is a real point of confusion for many in the IT industry, as these process models are seen as a hindrance to working efficiently, and too much process documentation might affect their productivity. Also, in today’s fast-paced world, customers put a lot of pressure on their contractors to deliver faster, but they don’t want this fast delivery to compromise the quality of the work.

So the question arises, “How can you guarantee your software product’s quality (whether it is a web site or any other software product/application)?” This becomes more complex when you have a large development team; and moreover, when you have teams which are distributed in different parts of the world or different cities in the same country. Without a defined process, communication with distributed teams can become complex.

Now, you might be wondering how CMMI is going to help? CMMI is very vast, and every practice mentioned in the model may not work for everyone, which may seem impractical to many during the first attempt at using it.

But we are jumping the gun a bit. What we really need to focus on initially is how we can mold CMMI to deliver the process and product results we require.

We need to ask ourselves a few questions here: What we are trying to improve? Is it a process, a product, or a team? Is it revenue, which is important for the company’s existence in the longer run? Implementing CMMI is an investment of time and money, but this investment will certainly provide ROI to the company in a positive way.

And again, there are more questions: Who are the first people in your organization who will think or analyze whether CMMI is important for them and the organization? And how will these people implement CMMI step-by-step, so that the organization can head forward in the CMMI way?

Well, your senior-management professionals in the organization have to jump in and understand the real value of CMMI best practices before they force or tell the delivery teams to become process oriented in everything they do.

You might wonder here, “Why senior management?” Well, why not? They are the people who make most of the decisions in the organization, mostly for the good of the organization. It is their job to make it is easier for the delivery team to produce the required products and results.

The top-down approach works well the most organizations. If senior management agrees to something, it can assure that a directive is followed by everyone else. Otherwise, teams which are at the lower level will feel reluctant in following the process-oriented approach because they will see it as an overhead, which is the wrong notion.

And why it is a wrong notion? Because every step or action we take in our project or product development is a process itself, though we don’t always realize this. For example, writing the code for a module and conducting unit tests are also part of a process.

CMMI talks about all the different process areas which a process-oriented organization should define and follow. What are all these process areas? In this book, we’ll walk you through these different process areas, to give you a better understanding of CMMI.

In this chapter, we will provide an overview of CMMI, describe its evolution, and then cover where it can be used and by whom.

Before moving to CMMI, let’s cover what a process is. A process can be defined as a set of inter-related activities which take some input, and then generate output with a given purpose. Generally, a process involves tools and methods.

Put more simply, you can define process as a series of actions or steps taken to achieve a particular goal. A typical process is:

  • Simple

  • Well documented

  • Measurable

  • Flexible

  • Stable

Process is important because the quality of the product depends a lot on the quality of the processes that we use to create it. It is for this reason that CMMI has been developed with

Hence, the quality of the process is very crucial to the quality of the end product. CMMI has been developed with a strong emphasis on the relationship between process and product quality.

1.1 What Is CMMI?

CMMI is about collecting the characteristics of effective processes, and then using this information to provide guidance for improving an organization’s processes. The end goal is to make it easier for an organization to develop products or solutions by improving its ability to manage the development, acquisition, and maintenance of its products or services.

CMMI is a model; it tells us what to do, but not how to do it. It is not a set of practices and methodology but it is the concept that we need to apply to the organization to get mature from a process perspective.

TheCapability Maturity Model Integration (CMMI)is a capability improvement model that can be adapted to solve any performance issue at any level of the organization in any industry. The Model provides guidelines and recommendations for helping your organization diagnose problems and improve performance. Used by over 5000 organizations in more than 70 countries all over the world, CMMI helps you identify and achieve measurable business goals.

— CMMI Institute

1.1.1 A CMMI Overview

CMMI was developed by a group of expert professionals from industry, government, and the Software Engineering Institute (SEI) at CMU. A CMMI model is set of guidance, and it can be used as a framework for appraising the process maturity of an organization. CMMI currently addresses three important area of interest:

  • Product and service development—CMMI for Development (CMMI-DEV)

  • Service establishment, management—CMMI for Services (CMMI-SVC)

  • Product and service acquisition—CMMI for Acquisition (CMMI-ACQ).

The first two areas of interest are widely used and in high demand. In this book, we will be covering the first area, product and service development, which is also popularly known as CMMI-DEV .

CMMI-DEV v1.3 is a reference model that covers activities for developing both products and services. These days, many organizations from various industries (e.g., software, defense, aerospace, banking, automobile, manufacturing, and telecommunications) implement and follow CMMI-DEV v1.3 industry best practices.

CMMI-DEV contains practices for process areas (i.e., project management, process management, systems engineering, hardware engineering, software engineering, and support) which are implemented in both development and maintenance projects.

As professionals, we need to use our own judgment and common sense to interpret the model for our organization. The process areas described in this model depict behaviors considered as best practices for most of the users.

Process areas and practices should be interpreted using an in-depth knowledge of CMMI-DEV, your organizational constraints, and your business environment.

1.1.2 Business Objectives in CMMI

Understanding the business objective is very important for every organization, and it plays a key role in enhancing an organization’s continued existence. It can also improve its profitability and market share. Business objective can influence an organization's success; hence, organization objectives should be developed by senior management only. Some of the business objectives from CMMI-DEV include the following:

  • Deliver products within budget and on time

  • Improve productivity by a specified percent in a specified timeframe

  • Maintain customer satisfaction ratings

  • Improve time-to-market for new products or service releases by a specified percent in a specified timeframe

  • Reduce the rate of product recalls by a specified percent in a specified timeframe

  • Decrease the cost of maintaining legacy products by a specified percent in a specified timeframe

Note

To make the business objective more successful, pinpoint those areas that are most critical to the success of the organization.

CMMI talks about defining the organizational business objectives. There are several Specific Practices (SPs) where business objectives provide the principle context for interpreting and applying the practice. At all maturity levels, we have process areas that contain these practices. Business objective general practices (GPs) and SPs will be elaborated on at much greater length later in this book.

1.2 The Evolution of CMMI

Before you know when it was originated, shouldn’t you know why it was originated? When the need for something becomes imperative, you are forced to find ways of getting or achieving it.

"Necessity is the mother of invention."

CMMI was originated by SEI (Software Engineering Institute) and sponsored by the US DOD (Department of Defense). The project consisted of members of industry, government, and Carnegie Mellon SEI. In the early 1980’s, many US military projects involving software subcontractors were lagging behind the schedule.

Subcontractors were scattered both across the US and outside the US, and every organization had its own set of process guidelines to do the same work. Hence, it was difficult for DOD and NDIA (National Defense Industrial Association) to merge the output from multiple projects or from various vendors. A new working model was required which would enable every organization to follow the same path for building a new product or solution.

Capability Maturity Model (CMM) was developed based on the study and data collected from various organizations who had worked as a vendor with the U.S Department of Defense. In CMM, the term maturity refers to improving your processes on a continual basis.

At the request of the U.S. Air Force (USAF), Humphrey and SEI together created the process maturity framework to help the U.S. DOD to evaluate the software development process capability of their vendors, as part of the process of awarding them work contracts.

The full representation of Capability Maturity Model (CMM) was developed in 1991 and updated in 1993 as version 1.1.

In 2000, the CMMI team published the original CMMI Model for its training and appraisal method, which incorporated software and systems engineering. The design includes full support for the future integration of other disciplines.

The current version of the CMMI model at the time of writing is CMMI V1.3, which was released in 2010. Figure 1-1 visually represents the evolution of CMMI.

A427788_1_En_1_Fig1_HTML.jpg
Figure 1-1. The evolution of CMMI

1.2.1 Why Use CMMI?

Here is an obvious question if you are new to CMMI: why should you use it? There are many reasons to choose CMMI, but and one of the most important is performance. The main purpose of CMMI is to improve the existing performance of organizational standards, processes, and procedures.

CMMI is also very helpful for the organizations that want to improve their capability to consistently and predictably deliver the products, services, and goods that its customers want. Hence, it also helps organizations to achieve its performance goals.

1.2.1.1 CMMI Is Used for Process Improvement

To cater to comprehensive business process improvements, CMMI features 25 different process areas. Each process area is composed of two kinds of goals (generic goal and specific goal) and two kinds of practices. There is also a lot of information for helping management to develop strategies.

In CMMI, there are three constellations to help improve a given business need, which are listed as follows:

  • Development: For improving the development of solutions

  • Acquisition: For improving the purchasing of products, services, and/or solutions

  • Services: For improving the delivery of services and the creation of service systems to operate a solution

As mentioned previously, CMMI was written by a group of industry experts professionals. Consequently, the CMMI model comprises a set of industry best practices. IT organizations and industries use the CMMI model as a benchmark to improve their processes.

1.2.1.2 CMMI Is Used for Appraisals

Organizations also use CMMI to appraise the entire organization or just one business unit present at one or more locations. Appraisal is done using the best practices defined in the model.

This book covers both how to perform appraisal activities within your organization and how to determine who should be involved in the appraisal process.

1.3 Where CMMI Can Be Used?

CMMI can be used by any organization, small or large, that wants to improve its capabilities and performance. These days, CMMI is used across the organization and in fields as diverse as aviation and aerospace, computer networking, computer software, information technology, defense and space, hospital and healthcare, government administration, insurance, management consulting, outsourcing, and much more.

CMMI is also used by many commercial and government organizations to assist in defining the process improvements for system engineering, software engineering, and product and process development.

Many organizations use these processes to develop, acquire, and maintain products and services, as well as to benchmark themselves against other organizations. Better processes will lead to less rework, which reduces the overall cost and improves the quality of the product.

1.4 Who Can Use CMMI?

Many in the IT industry do not know whether they have a role to play in CMMI implementation. And if they do have a role to play, how do they initiate it?

Let’s begin by looking at all the people who might be involved. This includes the CEO, the CTO, vice presidents, business unit heads, program managers, project managers, quality managers, team/tech leads, business analysts, system architects, designers, developers, testers, SQAs, configuration controllers, and training departments.

If you are connected to any of the aforementioned categories, then you are pretty much involved in the implementation of CMMI. In the future, there might be many more roles created with a connection to CMMI. But here’s a more concise way to state who has a stake in CMMI: anybody who is involved in the planning and execution of an IT project—whether from engineering, project management, or support and process perspective—is involved in implementing CMMI practices.

1.4.1 CMMI Is Adopted Worldwide

Results published by CMMI Institute show that more than 1,900 appraisals in 61 countries were conducted in 2015, making it the fourth consecutive year for a record number of appraisals. The rate of growth has increased year over year, reaching 17% more appraisals in 2015 than in 2014 (see Figure 1-2).

A427788_1_En_1_Fig2_HTML.jpg
Figure 1-2. The growth of CMMI appraisals

CMMI is being adopted worldwide, including North America, Europe, India, Australia, Asia Pacific, and the Far East. CMMI is used by world’s most admired organizations, including Samsung, Accenture, Proctor & Gamble, and Siemens.

This kind of response has substantiated the SEI’s commitment to the CMMI models and SCAMPI. CMMI adoption has been a powerful differentiator for businesses and organizations, as well as a catalyst for economic growth for those who invest in its broad adoption.

"To compete in the global market, leaders must build organizations that can consistently deliver quality and value in products and services.”

—Kirk Botula, CEO of CMMI Institute.

1.5 About CMMI Institute

As part of its mission to transition mature technology to the software community, the SEI has transferred CMMI-related products and activities to the CMMI Institute, a 100%-controlled subsidiary of Carnegie Innovations, Carnegie Mellon University’s technology-commercialization enterprise.

The CMMI Institute will conduct CMMI training and certification, sponsor conferences and classes, and provide information about CMMI process improvement models and appraisals.

CMMI Institute ( http://CMMIInstitute.com ) is the global leader in the advancement of best practices in people, process, and technology. The Institute provides tools and support for organizations that want to benchmark their capabilities, build maturity by comparing their operations to best practices, and identify performance gaps.

1.5.1 The CMMI Institute Partner Network

The CMMI Institute works with a network of CMMI Institute Partners, which are organizations and individuals trained and certified to provide official courses, appraisals, and consulting services.

The CMMI Institute Partner Network provides a vast, global reach to help us reach users, managers, and executives who can benefit from CMMI solutions. CMMI Institute Partners are the only source for authentic CMMI services outside the institute itself.

To find an authentic and licensed partner, you can search through the CMMI partner directory by browsing this link:

http://partners.cmmiinstitute.com/find-partner-organization/

You can also search the partners by geographic region and the product suite.

1.6 Summary

I hope that you now have an appreciation for the theoretical foundation for CMMI-DEV. In this chapter, we have discussed CMMI, both providing an overview and briefly reflecting on the business objective. We also covered the history of CMMI, why to use it, where it can be used, and who can use it.

In the next chapter, we will discuss about the design of CMMI, the levels within CMMI, and what they mean. We will also discuss process areas in CMMI, including they are mapped to each other.

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

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