The incremental model is a method of software/ Information
System development where the model is
designed, implemented and tested incrementally until the product
is finished. It involves both development
and maintenance. This model combines the elements of the
waterfall model with the philosophy of
-An example of
this incremental approach is observed in the development of word processing
applications where the following services are provided on
Basic file management,
editing and document production functions
Advanced editing and
document production functions
Spell and grammar
Advance page layout
The first increment is usually the core product which addresses
the basic requirements of the system. This
maybe either be used by the client or subjected to detailed
review to develop a plan for the next increment.
This plan addresses the modification of the core product to
better meet the needs of the customer, and the
delivery of additionally functionality. More specifically, at
The client assigns a
value of functionality to each module not yet implemented
The developer estimates
cost of developing each module
value-to-cost ratio is the criterion used for selecting which module is
Essentially the module with the highest value-to-cost ratio is
the one that provides the client with the most
functionality (value) for the least cost. Using this method the
client has a usable product at all of the
development stages. Modules are also selected on the basis of
the customer requirements and needs apart
from the value to cost ratio.
20.1 Characteristics of the Incremental Model
The system development
is broken into many mini development projects
Partial systems are
successively built to produce a final total system.
requirements tackled early on.
Once an incremented
portion is developed, requirements for that increment are frozen.
20.2 Incremental Model-Evaluation
Working functionality is
produced earlier – computation of value to cost ratio
Reduces risks of change
in user requirements
flexibility in decision making.
Risk management is
Smaller scope for change
in user requirements
Larger picture cannot be
seen until the entire system is built
Difficult to break down
the total system at early stage of product development to determine reasonable
Iterative models are an approach for developing systems based on
frequently/repetitively. Each iteration, consisting of
requirements, analysis & design, implementation and
testing, results in the release of an executable subset of the
final product. These subsets grows incrementally
from iteration to iteration to become the final system. The
Procedure itself consists of three basic steps.
The Initialization step
-- creates a base version of the system. The goal for this initial
to create a product to which the user can react.
The iteration step involves
The redesign and
implementation of a task from project control list. The goal for the design and
implementation of any iteration is to be simple,
straightforward, and modular, supporting redesign
at that stage or as a task added to the project control list.
The analysis of the
current version of the system. The analysis of an iteration is based upon user
feedback and the program analysis facilities available. It
involves analysis of the structure,
modularity, usability, reliability, efficiency, and achievement
of goals. The project control list is
modified in light of the analysis results.
-- To guide the iteration
process, a project control list is created that
contains a record of all tasks that need to be performed. It
New features to be
Areas of redesign of the
The control list is constantly being revised as a result of the
20.3 Iterative Models – Evaluation
The Iterative Model can lead to "scope creep," since user
feedback following each phase may lead to
increased customer demands. As users see the system develop,
they may realize the potential of other
system capabilities which would enhance their work.
In fact, the context of
multiple iterations provides advantages in the use of measuring various aspects
of product development, such as
Effort to date
Logical, physical, and
The customer can tell
how product characteristics like size, complexity, coupling, and cohesion are
increasing or decreasing over time.
One can monitor the
relative change of the various aspects of the product or can provide bounds for
the measures to signal potential problems and anomalies.
20.4 Incremental vs. Iterative
These sound similar, and sometimes are equated but there is a
Incremental: add to the
product at each phase
Iterative: re-do the
product at each phase
Building a House
Incremental: Starts with
a modest house, keep adding rooms and upgrades to it.
design/construction map of the house is amended and improved and repeated
until all the requirements are fulfilled.