0% found this document useful (0 votes)
119 views

Software Engineering Process Models

Uploaded by

Nikhil Satav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views

Software Engineering Process Models

Uploaded by

Nikhil Satav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 26

A Comparison of

Software Development
Lifecycle (SDLC) Models

1
Agenda
 Introduction
 Generic SDLC Components
 Target SDLCs
 Sequential
 Iterative
 Evolutionary
 Agile
 Discussion of Each SDLC
 Process Model (graphical)
 Definition
 Advantages and Disadvantages
 Audience Experience
 Conclusion
2
Introduction
 Software development is a process
tracked by project managers, and
managed under various differing
models.
 The models affect largely development
effectiveness and product quality.
 SDLC – Software Development
LifeCycle
 Types – sequential, iterative,
evolutionary, and agile
3
Generic SDLC Components

 Requirements
 Plan
 Design
 Build
 Test
 Maintain

4
General SDLC Model

5
Generic SDLC Benefits
 Visibility
 Chunks o’work
 Task identification
 Management framework
 Budget and resource management
 Encourage systematic evaluation of
risks, progress and options
 A common and shared vocabulary
 … Et al., D. Dalcher
6
Sequential

 Classic
 Most common
 Linear-sequential lifecycle model
 Examples – Waterfall, Dotted-U, V-
Model

7
Sequential Model

8
Definition
 Each phase must be completed in its
entirety before the next phase can
begin.
 At the end of each phase, a review
takes place to determine if the project
is on the right path, and whether or not
to continue or discard the project.

9
Advantages
 Most common
 Simple to understand and use
 Easy to manage due to rigidity – each
phase has specific deliverables and a
review
 Phases are processed and completed
individually
 Works well for smaller projects, or
where requirements are well
understood
10
Disadvantages
 Adjusting scope during the lifecycle
can end a project
 No working software is produced until
late in the lifecycle
 High amounts of risk and uncertainty
 Poor model for complex or object-
oriented projects
 Poor model for long or ongoing
projects, or where requirements are
likely to change
11
Iterative

 Intuitive approach to the Waterfall


Model
 A.k.a. Incremental or progressive
lifecycle model
 Examples – Rapid Application
Development (RAD), Rational Unified
Process (RUP)

12
Iterative Model

13
Definition
 Multiple development cycles take place,
making the model a “multi-waterfall”
lifecycle; RAD includes business, data.
process modeling.
 Cycles are divided up into smaller,
more easily managed iterations. Each
iteration passes through each of the
phases (Requirements thru Testing).
 Working software is produced in
Iteration 1, and built upon during each
iteration thereafter.
14
Advantages
 Generates working software quickly
and early during the lifecycle
 More flexible – less costly to change
the scope or requirements
 Easier to test and debug during a
smaller iteration
 Easier to manage risk - risks are
identified and resolved during an
iteration; and each iteration is an easily
managed milestone
15
Disadvantages

 Each phase of an iteration is rigid with


no overlaps
 Costly system architecture or design
issues may arise because not all
requirements are gathered up front for
the entire lifecycle

16
Evolutionary
 Build and test working versions of
software to learn and acquire
information, and gradually evolving the
final design.
 Projects are defined in a limited sense
allowing a limited amount of work to
take place in each phase.
 A.k.a. Prototyping lifecycle model
 Examples – Adaptive Software
Development (ASD), Spiral
17
Evolutionary Model
PLANNING

RISK ANALYSIS

ENGINEERING

EVALUATION
$ PROJECT
$$ COST
$$$ $$$$

18
Advantages

 Increased risk analysis (especially for


Spiral)
 Good for large and mission-critical
projects
 Software is produced early and often in
the lifecycle, with customer evaluation

19
Disadvantages

 Can be costly to use


 Risk analysis requires highly specific
expertise
 Project’s progress is highly dependent
upon the risk analysis phase
 Does not work well for smaller projects

20
Agile
 Developed to address users' needs
based on requirements to develop
relevant business apps quicker and
cheaper.
 Approaches – test-driven (TDD), model-
driven (MDD), use case-driven (UCDD),
behavioral-driven (BDD), and feature-
driven (FDD)
 Examples – eXtreme Programming
(XP), AUP
21
Agile Model (AMDD)
ENVISIONING: Iteration 0
©© Scott Ambler, IBM

DEVELOPMENT : Iteration 1, …, n

(REVIEWS: Optional for all Iterations)

22
Definition
 Focused on user involvement through
teams and workshops, with business
analysts and development .
 Agile apps are delivered incrementally.
 Iterations are small with short delivery
periods.

23
Advantages
 Small numbers of rules and best
practices that are easy to employ.
 Good model for early partial working
solutions, and in environments that
change steadily.
 Supports concurrent development and
delivery within an overall planned
context.
 Can be a tool to improve teamwork,
inspire and motivate, and cross-train.
24
Disadvantages
 Managed by timeboxing (strict delivery
management which dictates the scope,
functionality to be delivered, and
adjustments to meet the deadlines).
 Poor model if there is fire-fighting
addiction. poor communications, prima
donnas or donalds, or
micromanagement.
 Does not work without an overall plan,
an Agile leader, and Agile PM
practices.
25
Conclusion
 Agile models (including XP) deliver the
biggest and most comprehensive products.
 Sequential models take the longest, have the
most written documentation, and the fewest
graphical docs. This adds up to delays in
considerations of technology, risk, and team
progress.
 Suitability – depends on people, processes,
and products

26

You might also like