# Iterative Model – #Incremental Model Design#
Iterative Model : is also called an incremental model in which particular project
or software broken down into large numbers of iterations, where each iteration
is a complete development loop resulting in a release of executable product or
software. A subset of the final product under development, which grows from
iteration to iteration to become the final product or software. agile
development, Rapid Application development are the examples of iterative
model.
An iterative
Life cycle model does not attempt to start with a full specification of
requirements. Instead, development begins by specifying and implementing
just part of the software, which is then reviewed to identify further
requirements. This process is then repeated, producing a new version of the
software at the end of each iteration of the model.
The following illustration is a representation of the Iterative and Incremental
model :
Iterative and Incremental development is a combination of both iterative
design or iterative method and incremental build model for development.
"During software development, more than one iteration of the software
development cycle may be in progress at the same time." This process may be
described as an "evolutionary acquisition" or "incremental build" approach."
In this incremental model, the whole requirement is divided into various
builds. During each iteration, the development module goes through the
requirements, design, implementation and testing phases.
Graphic Design
The advertising agencies creative department has 2 weeks to produce an ad
print to a customer. They have a proposition to present to their clients days
within. With the time the deadline encompassing they would have previously
gone over recurring series of responses from customers and are convinced
that it will perform and would be affirmed by the customer.
Marketing
An e-commerce fashion website nevermore begins designed again to displace
a website which is old. Alternatively, the UI (user interface) is steadily
contentious altered and perfected. Track the metrics and correlate with
alterations. The development by firms are expert established on practices that
are incomparable to its industry
user interface : In the Industrial Design field of human-computer interaction, in the
space where interactions between human an machines occur.
Iterative Model - Pros and Cons
The advantage of this model is that there is a working model of the system at a
very early stage of development, which makes it easier to find functional or
design flaws.
Finding issues at an early stage of development enables to take corrective
measures in a limited budget.
The disadvantage with this SDLC model is that it is applicable only to large
and bulky software development projects.
This is because it is hard to break a small software system into further small
serviceable increments/modules.
The advantages of the Iterative and Incremental SDLC Model are as follows −
1. Some working functionality can be developed quickly and early in the
life cycle.
2. Results are obtained early and periodically.
3. Parallel development can be planned.
4. Progress can be measured.
5. Less costly to change the scope/requirements.
6. Testing and debugging during smaller iteration is easy.
7. Risks are identified and resolved during iteration; and each iteration is
an easily managed milestone.
8. Easier to manage risk - High risk part is done first.
9. With every increment, operational product is delivered.
10. Issues, challenges and risks identified from each increment can be
utilized/applied to the next increment.
11. Risk analysis is better.
12. It supports changing requirements.
13. Initial Operating time is less.
14. Better suited for large and mission-critical projects.
15. During the life cycle, software is produced early which facilitates
customer evaluation and feedback.
The disadvantages of the Iterative and Incremental SDLC Model are as follows
1. More resources may be required.
2. Although cost of change is lesser, but it is not very suitable for
changing requirements.
3. More management attention is required.
4. System architecture or design issues may arise because not all
requirements are gathered in the beginning of the entire life cycle.
5. Defining increments may require definition of the complete system.
6. Not suitable for smaller projects.
7. Management complexity is more.
8. End of project may not be known which a risk is.
9. Highly skilled resources are required for risk analysis.
10. Projects progress is highly dependent upon the risk analysis phase.