SlideShare a Scribd company logo
Software Process Models
Spring 2020
Shaukat Wasi
Some slides taken from Roddy
Level 1 – Ad
Hoc
Code & Fix
• The earliest approach
• Write code
• Fix it to eliminate any errors that have been
detected, to enhance existing functionality,
or to add new features
• Source of difficulties
and deficiencies
– impossible to predict
– impossible to manage
Models are needed
• Symptoms of inadequacy: the
software crisis
– scheduled time and cost exceeded
– user expectations not met
– poor quality
• The size and economic value of
software applications required
appropriate "process models"
Process model goals
(B. Boehm 1988)
“Determine the order of stages involved in
software development and evolution, and
to establish the transition criteria for
progressing from one stage to the next.
….
Thus a process model addresses the
following software project questions:
– What shall we do next?
– How long shall we continue to do it?"
Software Process Model
Attempt to organize the software life cycle by
• defining activities involved in software production
• order of activities and their relationships
Goals of a software process
– standardization, predictability, productivity, high
product quality, ability to plan time and budget
requirements
Software Process model with Umbrella
Activities
Choosing a Software Process Model
Process as a "black box"
Product
Informal
Requirements
Process
Process as a "white box"
Product
Informal
Requirements
Process
feedback
Waterfall Model
Waterfall model
• Invented in the late 1950s for large air
defense systems, popularized in the
1970s
• They organize activities in a sequential
flow
• Exist in many variants, all sharing
sequential flow style
Software process models shaukat wasi
Critical evaluation of the
waterfall model
+ software process subject to
discipline, planning, and
management
+ postpone implementation to
after understanding objectives
– linear, rigid, monolithic
– no feedback
– no parallelism
– a single delivery date
Problems with waterfall
• Estimates made when limited
knowledge available
• Difficult to gather all requirements once
and for all
– users may not know what they want
– requirements cannot be frozen
Best Suited for:
 Mission Critical Projects
 No choice for errors
 Well defined Requirements
 NOT Time critical
V Model
Waterfall model variation – V Model
V and V Combined
 Verification
 In the concept of verification in the V-Model, static analysis technique is carried
out without executing the code. This evaluation procedure is carried out at the
time of development to check whether specific requirements will meet or not.
 Validation
 This concept of V-Model comprises of dynamic analysis practice (both functional as
well as non-functional), and testing is done by code execution. The validation of a
product is done once the development is complete for determining if the software
meets up the customer hope needs.
 So both verification and validation are combined and work in parallel to make
the V-Model fully functional.
Incremental Model
Increment?
• Increment refers to the quantifiable outcome
of each iteration
• Increment has the obvious implication that
there should be more of something at the
end of an iteration than there was at the
start.
• Incremental development is a staging and
scheduling strategy ‘’in which the various
parts of the system are developed at
different times or rates, and integrated as
they are completed.’’
Iteration?
• Iteration refers to the cyclic nature of a
process in which activities are repeated
in a structured manner.
• Iterative development is a rework
scheduling strategy ‘’in which time is set
aside to revise and improve parts of the
system.’’
Iterative and
incremental
 Product vs Process:
• Incremental fundamentally
means add onto. Incremental
development helps you improve
your process.
• Iterative fundamentally means
re-do. Iterative development
helps you improve your
product.
In
Code:
while ( project.isRunning() ) {
project.bugsFixed++;
project.featuresComplete++;
}
Iterative VS
incremental
Incremental development
• Rather than deliver the system as a single
delivery, the development and delivery is
broken down into increments with each
increment delivering part of the required
functionality
• User requirements are prioritised and the
highest priority requirements are included in
early increments
• Once the development of an increment is
started, the requirements are frozen though
requirements for later increments can
continue to evolve
Evolutionary Models
Evolutionary Models
 Iterative + Incremental
 Usually a set of core product or system requirements is
well understood, but the details and extension have yet to
be defined.
 It is iterative that enables you to develop increasingly
more complete version of the software i.e. evolution of
software.
 Two Types: Prototyping and Spiral
Software process models shaukat wasi
Software process models shaukat wasi
Spiral
Model
Spiral Model
 Iterative (multiple passes over the circuits) + Incremental
(Each circuit adds next level to development) + Risk
Driven
 Based on Water fall model (Same steps in sequence)
 The first circuit in the clockwise direction might result
in the product specification; subsequent passes
 around the spiral might be used to develop a prototype
and then progressively more sophisticated versions
 of the software. Each pass results in adjustments to
the project plan. Cost and schedule are adjusted based
 on feedback. Also, the number of iterations will be
adjusted by project manager.
3 Concerns on Evolutionary Processes
1. Planning is at Risk in prototyping model due to uncertain
no: of cycles required to reach the final product.
2. Development speed is some what slow as the iterations
need time to cover the improvements. Hence being too
fast will bring the process to chaos and being too slow will
effect the productivity.
3. High Quality VS Timely delivery tradeoff. Iterations do
improve but to what extent iterations are to be added is a
question.
Unified Process Modeling (UPM)
Unified Process Model (UPM)
 Integrating two seemingly contradicting insights:
 Definitive activities and deliverables as in the Waterfall Model.
 Iterative and incremental processes.
 A project is split into several phases:
 Each phase is split into several iterations. 
 Each iteration consists of the traditional process activities, known
as workflow.
 Each workflow places different emphasis on the activities
depending on the current iteration.
Software process models shaukat wasi
AGILE Process Models
Remember waterfall?
Work together!
Agile Manifesto
“We are uncovering better ways of developing software by
doing it and helping others do it.
Through this work we have come to value:
•Individuals and interactions over processes and tools
•Working software over comprehensive documentation
•Customer collaboration over contract negotiation
•Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.”
Kent Beck et al
Scrum
• Focus on software development without
defining phases and workproducts, only
focus on increments through sprints
• “Getting things done”
• Roles:
– Scrum Master
– Product Owner
– Team member
• Especially useful for experienced developers
Scrum
Scrum
Kanban
Similar to Scrum but Priority Based instead of Time Based
SCRUM VS KANBAN
https://www.developmentthatpays.com/files/DevelopmentThatPays-ScrumVsKanban-
CheatSheet-1_6.pdf
Extreme Programming
Extreme Programming – Top Principles
XP vs SCRUM
https://www.visual-paradigm.com/scrum/extreme-programming-vs-scrum/
Selection criteria for lifecycle
models
Conclusion
When to
embrace Agile
Methodologies
Choosing a Software Process Model

More Related Content

PDF
Agile Modeling
PDF
Effort Distribution on Waterfall and Agile
PPT
Introduction to Software Engineering
PPTX
Software Development Process Models (SCRUM Methodology)
PPT
Software process life cycles
PPTX
RUP model
PPT
Unified process
PDF
Agile model
Agile Modeling
Effort Distribution on Waterfall and Agile
Introduction to Software Engineering
Software Development Process Models (SCRUM Methodology)
Software process life cycles
RUP model
Unified process
Agile model

What's hot (20)

PPSX
PMI Vs SDLC
PDF
HKG15-904: Scrum and Kanban 101
PPT
SDLC Models and Their Implementation
PPTX
Generic process model
PDF
sdlc or Software Development LifeCycle
DOCX
The unified process
PDF
Agile method
PPT
Pressman ch-3-prescriptive-process-models
DOCX
Sdlc overview
PPT
SDLC or Software Development Life Cycle
PPTX
SDLC
PPTX
Agile Methodology PPT
PPSX
Advanced Web Development in PHP - Understanding Project Development Methodolo...
PPTX
Unified process,agile process,process assesment ppt
PPTX
V model presentation
ZIP
Unified Process
PPTX
Sdlc models
PPT
Presentation - Rational Unified Process
PPT
Rational Unified Process
PPT
Software Processes
PMI Vs SDLC
HKG15-904: Scrum and Kanban 101
SDLC Models and Their Implementation
Generic process model
sdlc or Software Development LifeCycle
The unified process
Agile method
Pressman ch-3-prescriptive-process-models
Sdlc overview
SDLC or Software Development Life Cycle
SDLC
Agile Methodology PPT
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Unified process,agile process,process assesment ppt
V model presentation
Unified Process
Sdlc models
Presentation - Rational Unified Process
Rational Unified Process
Software Processes
Ad

Similar to Software process models shaukat wasi (20)

PPT
what-is-devops.ppt
PPT
Lecture46jacysnsvyyhjkcrukmactukk 02.ppt
PDF
Lect-4: Software Development Life Cycle Model - SPM
PPTX
Software Development Process Models in Software Engineering.pptx
PDF
SE_Unit 2.pdf it is a process model of it student
PPTX
Software Process Models
PPTX
Chapter 2 Intro to SE(SW Process Models.pptx)
PPT
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
PDF
Software Process Models
PPT
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
PPT
software engineering evolution and all of its models
PPTX
Object Oriented Software engineering.pptx
DOCX
process models- software engineering
PPTX
Software process
PPTX
Software Engineering Unit 1 PowerPoint presentation For AKTU University
DOC
Chapter 1,2,3,4 notes
PPT
Intoduction to software engineering part 2
PPTX
SE-03.pptx
PDF
Software engineering jwfiles 3
PPTX
Basics of Object-Oriented SE (OOSE).....
what-is-devops.ppt
Lecture46jacysnsvyyhjkcrukmactukk 02.ppt
Lect-4: Software Development Life Cycle Model - SPM
Software Development Process Models in Software Engineering.pptx
SE_Unit 2.pdf it is a process model of it student
Software Process Models
Chapter 2 Intro to SE(SW Process Models.pptx)
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
Software Process Models
4_25655_SE291_2020_1__2_1_Lecture 3 - Software Process Models.ppt
software engineering evolution and all of its models
Object Oriented Software engineering.pptx
process models- software engineering
Software process
Software Engineering Unit 1 PowerPoint presentation For AKTU University
Chapter 1,2,3,4 notes
Intoduction to software engineering part 2
SE-03.pptx
Software engineering jwfiles 3
Basics of Object-Oriented SE (OOSE).....
Ad

Recently uploaded (20)

PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Introduction to Artificial Intelligence
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
L1 - Introduction to python Backend.pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
history of c programming in notes for students .pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Design an Analysis of Algorithms I-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Operating system designcfffgfgggggggvggggggggg
Introduction to Artificial Intelligence
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Understanding Forklifts - TECH EHS Solution
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Odoo Companies in India – Driving Business Transformation.pdf
top salesforce developer skills in 2025.pdf
Digital Systems & Binary Numbers (comprehensive )
L1 - Introduction to python Backend.pptx
CHAPTER 2 - PM Management and IT Context
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
history of c programming in notes for students .pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms I-SECS-1021-03

Software process models shaukat wasi

  • 1. Software Process Models Spring 2020 Shaukat Wasi Some slides taken from Roddy
  • 2. Level 1 – Ad Hoc
  • 3. Code & Fix • The earliest approach • Write code • Fix it to eliminate any errors that have been detected, to enhance existing functionality, or to add new features • Source of difficulties and deficiencies – impossible to predict – impossible to manage
  • 4. Models are needed • Symptoms of inadequacy: the software crisis – scheduled time and cost exceeded – user expectations not met – poor quality • The size and economic value of software applications required appropriate "process models"
  • 5. Process model goals (B. Boehm 1988) “Determine the order of stages involved in software development and evolution, and to establish the transition criteria for progressing from one stage to the next. …. Thus a process model addresses the following software project questions: – What shall we do next? – How long shall we continue to do it?"
  • 6. Software Process Model Attempt to organize the software life cycle by • defining activities involved in software production • order of activities and their relationships Goals of a software process – standardization, predictability, productivity, high product quality, ability to plan time and budget requirements
  • 7. Software Process model with Umbrella Activities
  • 8. Choosing a Software Process Model
  • 9. Process as a "black box" Product Informal Requirements Process
  • 10. Process as a "white box" Product Informal Requirements Process feedback
  • 12. Waterfall model • Invented in the late 1950s for large air defense systems, popularized in the 1970s • They organize activities in a sequential flow • Exist in many variants, all sharing sequential flow style
  • 14. Critical evaluation of the waterfall model + software process subject to discipline, planning, and management + postpone implementation to after understanding objectives – linear, rigid, monolithic – no feedback – no parallelism – a single delivery date
  • 15. Problems with waterfall • Estimates made when limited knowledge available • Difficult to gather all requirements once and for all – users may not know what they want – requirements cannot be frozen
  • 16. Best Suited for:  Mission Critical Projects  No choice for errors  Well defined Requirements  NOT Time critical
  • 19. V and V Combined  Verification  In the concept of verification in the V-Model, static analysis technique is carried out without executing the code. This evaluation procedure is carried out at the time of development to check whether specific requirements will meet or not.  Validation  This concept of V-Model comprises of dynamic analysis practice (both functional as well as non-functional), and testing is done by code execution. The validation of a product is done once the development is complete for determining if the software meets up the customer hope needs.  So both verification and validation are combined and work in parallel to make the V-Model fully functional.
  • 21. Increment? • Increment refers to the quantifiable outcome of each iteration • Increment has the obvious implication that there should be more of something at the end of an iteration than there was at the start. • Incremental development is a staging and scheduling strategy ‘’in which the various parts of the system are developed at different times or rates, and integrated as they are completed.’’
  • 22. Iteration? • Iteration refers to the cyclic nature of a process in which activities are repeated in a structured manner. • Iterative development is a rework scheduling strategy ‘’in which time is set aside to revise and improve parts of the system.’’
  • 23. Iterative and incremental  Product vs Process: • Incremental fundamentally means add onto. Incremental development helps you improve your process. • Iterative fundamentally means re-do. Iterative development helps you improve your product. In Code: while ( project.isRunning() ) { project.bugsFixed++; project.featuresComplete++; }
  • 25. Incremental development • Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality • User requirements are prioritised and the highest priority requirements are included in early increments • Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve
  • 27. Evolutionary Models  Iterative + Incremental  Usually a set of core product or system requirements is well understood, but the details and extension have yet to be defined.  It is iterative that enables you to develop increasingly more complete version of the software i.e. evolution of software.  Two Types: Prototyping and Spiral
  • 31. Spiral Model  Iterative (multiple passes over the circuits) + Incremental (Each circuit adds next level to development) + Risk Driven  Based on Water fall model (Same steps in sequence)  The first circuit in the clockwise direction might result in the product specification; subsequent passes  around the spiral might be used to develop a prototype and then progressively more sophisticated versions  of the software. Each pass results in adjustments to the project plan. Cost and schedule are adjusted based  on feedback. Also, the number of iterations will be adjusted by project manager.
  • 32. 3 Concerns on Evolutionary Processes 1. Planning is at Risk in prototyping model due to uncertain no: of cycles required to reach the final product. 2. Development speed is some what slow as the iterations need time to cover the improvements. Hence being too fast will bring the process to chaos and being too slow will effect the productivity. 3. High Quality VS Timely delivery tradeoff. Iterations do improve but to what extent iterations are to be added is a question.
  • 34. Unified Process Model (UPM)  Integrating two seemingly contradicting insights:  Definitive activities and deliverables as in the Waterfall Model.  Iterative and incremental processes.  A project is split into several phases:  Each phase is split into several iterations.  Each iteration consists of the traditional process activities, known as workflow.  Each workflow places different emphasis on the activities depending on the current iteration.
  • 39. Agile Manifesto “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: •Individuals and interactions over processes and tools •Working software over comprehensive documentation •Customer collaboration over contract negotiation •Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.” Kent Beck et al
  • 40. Scrum • Focus on software development without defining phases and workproducts, only focus on increments through sprints • “Getting things done” • Roles: – Scrum Master – Product Owner – Team member • Especially useful for experienced developers
  • 41. Scrum
  • 42. Scrum
  • 43. Kanban Similar to Scrum but Priority Based instead of Time Based
  • 46. Extreme Programming – Top Principles
  • 48. Selection criteria for lifecycle models
  • 51. Choosing a Software Process Model