Professional Documents
Culture Documents
Chapter One
Chapter One
2
Overview
3
Overview …
What Makes Organizations Better?
◦ Why are some organizations better than others?
◦ Deliver software on time
◦ Deliver with high quality and few defects
Assume two groups are doing same project, why
would one be better than another?
Some Possible Answers...
◦ Great people
◦ Smart management
◦ Better tools
◦ Good processes, standards and policies that all team
members know and follow
Fundamental Assumptions:
◦ Good Process leads to good software
◦ Good Processes reduces risk
4
Software Process
Software Process
◦ A set of activities, methods, practices and
transformations used to develop and maintain software
◦ A sequence of steps performed for a given purpose
◦ Software process defines the approach of how
software is engineered
◦ Software process is a framework for the tasks that we
are required to build high – quality software
◦ It defines the way in which software development is
organized, measured, supported and improved
5
Software Process …
6
Software Process …
A Process is defined in 3 steps:
1) Policy
◦ It represents general statements or guidelines of an
organization.
2) Process
◦ It describes about “what to do” in the process. It has a
overview of key areas like key activities, planning, staffing,
scheduling, risk management etc.
3) Procedure
◦ It describes about “how to do” in the process.
◦ It identifies tools, methods and techniques to be used in the
process.
7
Development Process Improvement
In the way of developing or maintaining a software,
introducing new methods for further refinement of
product quality is called Software Process
Improvement.
First important step in addressing software problems is
to treat the entire development task as a process that
can be controlled, measured, and improved.
To improve their software capabilities, organizations
must take five steps:
◦ 1- understand the current status of their development process
◦ 2- develop a vision of the desired process.
◦ 3- establish a list of required process improvement actions in
order of priority.
◦ 4- produce a plan to accomplish these actions
◦ 5- commit the resources to execute the plan.
8
Maturity Framework
The maturity framework, developed at the SEI (soft
ware engineering institute), addresses these five
steps by characterizing a software process into one
of the five maturity levels.
Software Maturity frameworks can be used by any
software organization to:
◦ 1- Identify its highest priority problems
◦ 2- Assess its own capabilities
◦ 3- Start making improvements.
9
Capability Maturity Model (CMM
What is CMM?
10
CMM …
Framework that describes the key elements of an effective
software process
Identifying the key practices that are required to increase the
maturity of these processes.
Describes the principles and practices underlying software
process maturity and is intended to help software
organization improve the maturity of their software processes
in terms of an evolutionary path from ad hoc chaotic,
immature processes to mature software process
11
CMM …
12
Process Maturity Concepts
Software Process
◦ set of activities, methods, practices, and
transformations that people use to develop and
maintain software and the associated products (e.g.
project plans, design documents, code, test cases,
user manuals)
13
Process Maturity Concepts …
14
What are the CMM Levels?
15
CMM Levels …
17
CMM Levels …
Level 1 …
18
CMM Levels …
Level 1 …
Organizations at this level can improve their
performance by introducing basic project controls.
The most important are:
19
CMM Levels …
Level 1 …
20
CMM Levels …
Level 2: Repeatable
Level 2 …
Earlier successes can be repeated
◦ A necessary process discipline in place.
repeat earlier successes on projects with similar
applications.
◦ Planning and tracking of project is stable
◦ Realistic plans based on the performance of previous
projects.
◦ Software process capability (Level 2 organizations)
Summarized as disciplined
22
CMM Levels …
23
CMM Levels …
Level 2 …
24
CMM Levels …
Level 2 …
2-2- Establish a Software Development Process
Architecture
25
CMM Levels …
Level 3: Defined
the software process for both management and engineering
activities is documented, standardized, and integrated into a
set of standard software processes for the organization.
Because process is well defined, management has good insight into
technical progress on the project.
Characteristics
26
CMM Levels …
Level 3 …
An organization-wide training program is implemented to ensure that
the staff and managers have the knowledge and skills required to
fulfill their assigned roles.
Projects tailor the organization’s standard software process to develop their
own defined software process, for unique characteristics of a project.
◦ This tailored process is referred to in the CMM as the project’s defined
software process.
◦ This defined software process contains a coherent, integrated set of well-
defined software engineering and management processes.
A well-defined process will include:
◦ readiness criteria, inputs, standards and
◦ procedures for performing the work,
◦ verification mechanisms (such as peer reviews), outputs, and
◦ completion criteria.
27
CMM Levels …
Level 3 …
The key steps to advance to the Managed Process are:
3-1- Establish a minimum, basic set of process
measurements
◦ to identify the quality and cost parameters of each process step.
◦ The objective is to quantify the relative costs and benefits of each major process
activity, such as the cost and yield of error detection and correction methods.
28
CMM Levels …
Level 3 …
29
CMM Levels …
30
CMM Levels …
Level 4: Managed
Detailed measures of the software process and product quality are
collected.
Both the software process and products are quantitatively understood
and controlled.
The organization sets quantitative quality goals for software
products and processes.
Risks in new product development are well understood
The process capability is quantifiable and predictable
Software products are of predictably high quality
MANAGE PROJECTS QUANTITATIVELY
◦ Statistically manage the project’s processes and sub-processes
MANAGE THE ORGANIZATION QUANTITATIVELY
◦ Understand process performance; quantitatively manage the
organization’s projects
31
CMM Levels …
Level 4 …
The two fundamental requirements to advance from
the Managed Process to the Optimizing Process:
32
CMM Levels …
Level 5: Optimizing
continuous process improvement is enabled by feedback
from the process and from piloting innovative ideas and
technologies
The entire organization is focused on continuous process
improvement
These organizations continuously strive to improve the range
◦ causal analysis
OPTIMIZE PERFORMANCE
◦ Identify & eliminate the cause of defects early
ADOPT IMPROVEMENTS
◦ Identify and deploy new tools and process improvements to meet
needs and business objectives
33
CMM Levels …
Level 5 ….
The organization has the means to identify
weaknesses and strengthen the process
proactively, with the goal of preventing the
occurrence of defects.
Innovations that exploit the best software
engineering practices are identified and transferred
throughout the organization.
Data on process effectiveness used for cost benefit
analysis of new technologies and proposed process
changes
34
Key Process Areas (KPA)
36
KPA — Repeatable(2)
Level 2 KPA
Requirements management
Software project planning
Software project tracking and oversight
Software quality assurance
Software configuration management
Software subcontract management
37
Level 2 KPAs …
Requirements Management
38
Level 2 KPAs …
Software Project Tracking & Oversight
◦ Establish adequate visibility into actual progress
◦ Take effective actions when project’s performance
deviates significantly from planned
Software Subcontract Management
◦ Manage projects outsourced to subcontractors
Software Quality Assurance
◦ Provide management with appropriate visibility into
Process being used by the software projects
Work products
39
Level 2 KPAs …
40
Key Process Areas — Defined (3)
41
Level 3 KPAs …
42
Level 3 KPAs …
Training Program
◦ Develop skills & knowledge so that individual can perform
their roles effectively & efficiently
◦ Organizational responsibility
44
Key Process Areas — Managed (4)
45
Key Process Areas — Optimized(5)
46
Overall Benefits of CMM
47
CMM Outcomes
48
Evaluation
49
Conclusion
50
Self Reading Assignments
51
Assignment 1
52
Paper Review 1
Find, read and select one article within the area of
Software Process Maturity Frameworks/Models.
53
Thank You
54