Lectue 4 - Incremental and Iterative Model
Lectue 4 - Incremental and Iterative Model
Intro to Software
Engineering
LECTURE 4: INCREMENTAL AND ITERATIVE MODEL
2
Discussion
Discuss
3
Iterate
to utter or do repeatedly
iteration n. – iterative adj
Increment n
1. amount of increase
2. a becoming greater or larger; increase
Definitions incremental adj
In incremental development,
You have all the requirements
you design the complete product first. You only leave
out details that you can safely decide later.
Then you slice it up into chunks and build each
separately.
When you finish a chunk, aka module, you integrate it
with previously completed parts, so they work as a
whole.
6
What is Iterative Development
INCREMENTAL MODEL
Iterative and incremental development
A style of development that involves
the iterative application of a set of
activities to incrementally produce
and refine an effective solution
Definition: It is iterative in that it involves the
Iterative and successive refinement of the solution
definition and implementation by
Incremental the repetitive application of the
Development core development activities
It is incremental in that each pass
through the iterative cycle grows the
understanding of the problem and
the capability offered by the
solution
10
11
INCREMENTAL
DEVELOPMENT
MODEL
12
13
Example
Incremental development
Develop the system in increments and
evaluate each increment before
proceeding to the development of the
next increment;
Normal approach used in agile methods;
Incremental Evaluation done by user/customer proxy.
14
15
Incremental delivery
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.
Incremental User requirements are prioritised and the
highest priority requirements are
delivery 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.
16
Requirements of the system are clearly
understood
When demand for an early release of a
product arises
When to use When software engineering team are
Incremental not very well skilled or trained
17
Customer value can be delivered with
each increment so system functionality
is available earlier
Early increments act as a prototype to
Incremental
help elicit requirements for later
delivery increments.
18
19
Incremental delivery problems
Most systems require a set of basic facilities that are used by different parts
of the system .
– As requirements are not defined in detail until an increment is to be
implemented, it can be hard to identify common facilities that are needed by
all increments.
The essence of iterative processes is that the specification is developed in
conjunction with the software.
However, this conflicts with the procurement model of many organizations,
where the complete system specification is part of the system development
contract.
Advantages and Disadvantages of Incremental 20
Model
Advantages Disadvantages
•The software will be generated quickly during •It requires a good planning
the software life cycle designing
•It is flexible and less expensive to change •Problems might cause due to
requirements and scope system architecture as such not
all requirements collected up
front for the entire software
•Throughout the development stages changes lifecycle
can be done •Each iteration phase is rigid and
•This model is less costly compared to others does not overlap each other
21
22
Iterative Model
Iteration: A
self-contained mini-project, with a
well-defined result, that results in a
stable, integrated and tested release
An iteration consists of
a distinct set of activities
Definition: conducted according to a
Iteration dedicated (iteration) plan
With
a set of objective,
measurable evaluation criteria
That provides business value
The release may be either an internal
release or an external release
23
24
Iterative Model
Each iteration has:
Clear objectives and activities
Agreed upon by all; unified efforts of all
Measurable evaluation criteria
Must be ‘measurable;’ and evaluated
objectively
A dedicated team
All dedicated to achieving the objectives of the
Iteration: A Self-
iteration. Focused!
A schedule
Contained Mgmt must agree to the schedule and note
how it impacts overall development plan.
Mini-Project … Iteration schedule may be simple: start / end
dates, or complicated – detailed task
descriptions
Produce a unique version of the product
Is objectively assessed against iteration’s objectives.
Continuously assessed during iteration;
summarized at end.
Used to control the project. Who assesses?
Must have a Well Defined Result!! More ➔
25
Thus, it must have specific plan that embodies
the unique set of activities to produce the well-
defined result.
Plan may vary in detail:
High risk ➔ more detailed planning (when
might this occur?)
27
Very important to understand this!
We spoke of a well-defined result, well:
Release can be both internal and external but
must be something measurable, tangible,
Clearly advances the project:
A real increment reduces risk and builds
capability!
Iteration Results Something of value is produced.
in an
Examples (a few)
Executable
29
30
Iterative Model
Disadvantages
Costly system architecture or
design issues may arise because
not all requirements are gathered
up front for the entire lifecycle
31
When to use iterative model