Software Process
Software Process
Lecture 2
Remya Raghav. N
S6 IT
Govt. Engg. College
Idukki
• Process: a series of actions or steps taken in
order to achieve a particular end product
• Software Process:
a) An ordered set of steps to produce a high
quality software system
b) A process that deals with the technical and
management issues of software development
Processes, Projects, and Products
Software Process
• Predictability
• Support Testability and Maintainability
• Support Change
• Support Early Defect Removal and Defect
Prevention
• Process Improvement
Predictability
Requirements 10%
Design 20%
Coding 20%
Testing 50%
• Prototyping
• Spiral Model
1.Waterfall Model - Linear sequence of stages/phases
Project Outputs in Waterfall Model
• Requirements document
• Project plan
• Final code
• Review reports
Waterfall Advantages
• Critical Need: users must be educated that what they are seeing is ONLY
a prototype
– Users must understand that the prototype is going to be thrown away
– Otherwise, they will wonder why the development process is taking so
long!
Managing Costs
• Costs can be kept low by only building features needing clarification
Prototypin Helps reqs. elicitation Possibly higher cost and schedule Systems with novice users; or
g Reduces risk Encourages reqs. bloating areas with reqs. uncertainity
Better and more stable Disallows later change Heavy reporting based systems
final system can benefit from UI prototypes
Iterative Regular deliveries, Overhead of planning each For businesses where time is
leading to business iteration important, risk of long projects
benefit Total costs may increase cannot be taken
Can accommodate System architecture and design reqs not known and evolve with
changes naturally may suffer Time
Allows user feedback Rework may increase
Avoids reqs. bloating
Naturally prioritizes
reqs.
Allows reasonable exit
points
Reduces risks
Spiral Resolve risks Cost may increase Both works for development as
Represents cumulative well as enhancement projects
cost and progress
Summary
• Software Process is a means for producing high quality
software systems with high productivity
• A software process has many sub-processes performed
by multiple people playing different roles
• Many different types of development processes have
been proposed
o with different strengths and weaknesses
o one model will not necessarily be suitable for every
organization
Project Management Process
• Planning
• Termination analysis
Relationship between development and
management process
Planning
– Key activity that is performed before a project
development begins
– A critical ingredient for a successful project
– Provides fundamental basis for project management
– Tasks include
• Cost and schedule estimation
• Milestone determination
• Staffing
• Monitoring and Risk Management Plans
• Quality Assurance Plans
Monitoring and Control
• Process improvement
-Capability Maturity model
-Quality improvement Paradigm
QIP
• General method for improving a process
• Steps are
• Goal/Question/Metrics (GQM)