CSE 470 – Incremental and
Iterative Model
BRAC University
Sequential Process
Model Customer
Don’t Know
Customer
what they
know What
want !!!
they Want
Team
Lead
Evolutionary
Process Models
1. Can change requirements as you
want.
2. Can go back to previous phases,
such as after coding, we can go
back to communication phase for
requirement collection again.
Incremental Process Model
A software process model where the software
will be delivered in increments
1. Customer wants to use the software
from the very beginning of the project
2. Customer is quite well-known about the
requirements
3. The software is divided into fixed
number of increments to be delivered
to customers
Incremental Process Model
1. For example, in first increment Login
module is delivered. In second
Increme
increment, another new module
nt 1
such as Navigation module is also
added. In third, one more added.
2. That is, this model “adds onto” new
Increme section as increments.
nt 2
Increme
nt 3
Increme
nt 4
Increme
When to use
1. You are ready with thin slices of the overall software pieces.
2. Customer wants prototype version of the software from the
beginning of the project
3. Parallel stages such as requirement collection, planning etc.
can take place.
4. Increments needs to be prioritized by customers, so better
chance of success
5. Better for small or medium size projects
🞂
Iterative Process Model
A software process model where the software
will be delivered in iterations
1. Customer is not sure about the
requirements
2. Even development team may not be sure
about which technology, algorithms may
be used.
3. There is no fixed limit of iterations, that is
time is set aside.
1. For example, in first iteration Login
module is delivered. In second
iteration, Login module is updated
again. In third iteration, Navigation
Iteratio module is added . And in fourth
n1 iteration some refinement is done.
2. That is, this model “changes or
reworks” on same section in
iterations until customer accepts it.
Iteratio
n2
Iteratio
n3
Iteratio
n4
Iteratio
When to use
1. Requirements are not fixed
2. Technological tools or requirements are not identified yet.
3. Instead of fixed time, quality of the features is refined with
time
4. Customer feedbacks with repetitive iterations increase the
product quality
5. Better for long-term and complex projects
🞂
Example Case
1. Being a project manager of a software company,
you have got a project request for developing a
corona virus awareness app. The customers initially
want the app to show testing info, take
appointments, visualize affected area data and
many more. Currently, the software should support
only Bangla language, however English language
support can be added later if the app gets
promising feedbacks.
In such a case, which would you apply – Waterfall,
Incremental or Iterative?