Unit 1 Chapter 2: Software Processes
Unit 1 Chapter 2: Software Processes
Introduction
Process means, a particular method of doing something, generally involving
several operations. In software engineering, the phrase software process refers to the
method of developing the software. A software process is a set of activities together
with proper ordering to build a high-quality software with low cost and small cycle-
time.
Software Process
... ...
Project1 Projecti Projectn
...
Product1 Product2 Productm
The process specifies the activities at an abstract level that are not project
specific. It is a generic set of activities and does not provide a detailed roadmap for a
particular project. The process also specifies the order in which the activities of a
project are carried out.
Software Process
Product
Engineering Process
Process management
Process
2.2.1. Predictability
Predictability of a process determines how accurately the outcome of following
a process in a project can be predicted before the project is completed. Predictability
is a fundamental property of any process. Effective management of quality assurance
activities largely depend on the predictability of the process. A predictable process is
also said to be under statistical control. A process is said to be under statistical
control if following the same process produces similar results. Statistical control
implies that most projects will be within a bound around the expected value. Any
data beyond the line implies that the data and the project should be examined and
followed to pass through only if clear evidence is found that this is a statistical
aberration.
Property of interest
Projects
1000
Relative
cost to
fix errors 100
50
10
5
Improving the quality and reducing the cost are the fundamental goals of the
software engineering process. This requires the evaluation of the existing process and
understanding the weakness in the process.
Control Information to
Management Process
Besides the entry and the exit criteria for the input and the output a
development step needs to produce some information for the management process.
The goal of management process is to control the development process.
Each phase begins soon after the completion of the previous phase.
Verification and validation activities are to be conducted to ensure that the output of
a phase is consistent with the overall requirements of the system. At the end of every
phase there will be an output. Outputs of earlier phases can be called as work
products and they are in the form of documents like requirement document and
design document. The output of the project is not just the final program along with
the user manuals but also the requirement document, design document, project plan,
test plan and test results.
System Detailed
Design System Design Document Design
Verification Verification
Coding
Testing and Integration
Verification Programs
Operations and
Installation Installation Report Maintenance
Requirement
Analysis
Code
Test
Requirement Analysis
Disadvantage
This approach will work only if successive increments can actually put into operation.
Problems
Termination
Planning Monitoring and control analysis
Management
process
Development
Metrics Process
Values
Management
Control
Time
Project monitoring and control phase includes all activities that the project
management has to perform while development is going on to ensure that project
objectives are met and the development process proceeds according to the plan. If the
objectives are not met, then this phase exerts suitable actions to control development
activities. Monitoring requires proper information about the project. This information
is obtained by the management process from the development process.
For effective project monitoring, the information coming from the development
process to the management process should be objective and quantitative data about
the project. The need for quantitative data from the process requires that software
metrics be used.
Configuration Management
Rejected
Optimizing
Continuously (5)
Improving
Process
Managed
Predictable (4)
Process
Defined
Standard, (3)
Consistent
Process
Repeatable
Disciplined
(2)
Process
Initial
(1)
The initial process (level 1) is essentially an adhoc process that has no formalized
method for any activity. Basic project controls for ensuring that activities are being
done properly and that the project plan is being adhered to are missing.
Organizations at this level can benefit most by improving project management,
quality assurance, and change control.
In a repeatable process (level 2), policies for managing a software project and
procedures to implement those policies exist. That is project management is well
developed in a process at this level.
At the defined level (level 3) the organization has standardized on a software process,
which is properly documented.
LEVEL 5 – OPTIMIZING
• Process change management
• Technology change management
• Defect prevention
LEVEL 4 – MANAGED
• Software quality management
• Quantitative process management
LEVEL 3 – DEFINED
• Organization process definition
• Training program
• Peer reviews
• Integrated software management
LEVEL 2 – REPEATABLE
• Software requirements management
• Software configuration management
• Project planning
• Project monitoring and control
For collecting proper data that will serve the purpose of process improvement,
the Goal/Question/Metrics (GQM) paradigm is frequently used. The GQM
paradigm suggests a general framework for collecting data from projects that
can be used for a specific purpose.
******