You are on page 1of 9

Software Engineering-II

Shah Rome

Lecture#1 Introduction 1
Software Process
 A software process is a road map that helps you create a
timely, high quality result.
 It is the way we produce software
 it provides stability and control
OR
 A software process (also knows as software
methodology) is a set of related activities that leads to
the production of the software. These activities may
involve the development of the software from the
scratch, or, modifying an existing system.
 Each process defines certain deliverables known as the
work products. These include programs, documents, and
data produced as a consequence of the software
engineering activities.
Lecture#1 Introduction 2
Process Maturity
 SEI – Software
Engineering
Institute
 Capability
Maturity Model
(CMM)
 5 maturity
levels

Lecture#1 Introduction 3
CMM Maturity Levels
 Level 1 – Initial: The software process is
characterized as ad hoc and occasionally even
disorganized. Success in these organizations
depends on the competence and heroics of the
people in the organization. By default every
organization would be at level 1.
 Level 2 – Repeatable: Basic project
management processes are established to
track cost, schedule, and functionality. The
necessary project discipline is in place to
repeat earlier successes on projects with
similar applications
Lecture#1 Introduction 4
CMM Maturity Levels
 Level 3 – Defined: The software
process for both management and
engineering activities is documented,
standardized, and integrated into an
organizational software process. All
projects use a documented and
approved version of the
organization’s process for developing
and supporting software.
Lecture#1 Introduction 5
CMM Maturity Levels
 Level 4 – Managed: Detailed measures
for software process and product quality
are controlled. Both the software process
and products are quantitatively understood
and controlled using detailed measures.
 Level 5 – Optimizing: Continuous process
improvement is enabled by qualitative
feedback from the process and from testing
innovative ideas and technologies.

Lecture#1 Introduction 6
Key Process Areas (KPAs)
 SEI has associated key process areas with each
maturity level. The KPAs describe those
software engineering functions that must be
present to satisfy good practice at a particular
level. Each KPA is described by identifying the
following characteristics:
 Goals: the overall objectives that the KPA
must achieve.
 Commitments: requirements imposed on
the organization that must be met to
achieve the goals or provide proof of plan to
fulfill with the goals.
7
Lecture#1 Introduction
Cont:
 Abilities: those things that must be in place –
organizationally and technically – to enable the
organization to meet the commitments.
 Activities: the specific tasks required to
achieve the KPA function
 Methods for monitoring implementation:
the manner in which the activities are
monitored as they are put into place.
 Methods for verifying implementation: the
manner in which proper practice for the KPA
can be verified.
Lecture#1 Introduction 8
Level KPAs
1 No KPA is defined as organizations at this level follow ad-hoc processes

2 • Software Configuration Management


• Software Quality Assurance
• Software subcontract Management
• Software project tracking and oversight
• Software project planning
• Requirement management
3 • Peer reviews
• Inter-group coordination
• Software product Engineering
• Integrated software management
• Training program
• Organization process management
• Organization process focus

4 • Software quality management


• Quantitative process management
5 • Process change management
• Technology change management
• Defect prevention
Lecture#1 Introduction 9

You might also like