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

Evolutionary Software Process Model

The document discusses different evolutionary software process models, including the Incremental Model, Spiral Model, and WIN-WIN Spiral Model. The Incremental Model combines elements of the linear sequential model and iterative prototyping. It delivers software in a series of incremental builds until completion. The Spiral Model couples iterative prototyping with controlled development like the linear model, providing incremental versions through risk-reduced prototyping. The WIN-WIN Spiral Model aims to satisfy both customer and developer needs through negotiation and defining objectives at key process milestones.

Uploaded by

Rakesh Injam
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
270 views

Evolutionary Software Process Model

The document discusses different evolutionary software process models, including the Incremental Model, Spiral Model, and WIN-WIN Spiral Model. The Incremental Model combines elements of the linear sequential model and iterative prototyping. It delivers software in a series of incremental builds until completion. The Spiral Model couples iterative prototyping with controlled development like the linear model, providing incremental versions through risk-reduced prototyping. The WIN-WIN Spiral Model aims to satisfy both customer and developer needs through negotiation and defining objectives at key process milestones.

Uploaded by

Rakesh Injam
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

1.

Evolutionary Software Process Model

Model Types

Software Products can be perceived as evolving over a time period.

However, neither the Linear Sequential Model nor the Prototype Model apply this
aspect to software production. The Linear Sequential Model was designed for
straight-line development. The Prototype Model was designed to assist the
customer in understanding requirements and is designed to produce a visualization
of the final system.

But the Evolutionary Models take the concept of “evolution” into the engineering
paradigm. Therefore Evolutionary Models are iterative. They are built in a manner
that enables software engineers to develop increasingly more complex versions of
the software.

The Incremental Model

The Incremental Model combines elements of the Linear Sequential Model


(applied repetitively) with the iterative philosophy of prototyping. When an
Incremental Model is used, the first increment is often the “core product”. The
subsequent iterations are the supporting functionalities or the add-on features that a
customer would like to see. More specifically, the model is designed, implemented
and tested as a series of incremental builds until the product is finished.

Increment 1: Analysis-->Design-->Code-->Test (Delivery of 1st Increments.


Normally '''Core Product''')
Increment 2: Analysis-->Design-->Code-->Test (Delivery of 2nd
Increments)
...............................................................

..............................................................
.
Increment n: Analysis-->Design-->Code-->Test (Delivery of nth
Increments)

Advantages•

 It is useful when staffing is unavailable for the complete implementation.


 Can be implemented with fewer staff people.
 If the core product is well received then the additional staff can be added.
 Customers can be involved at an early stage.
 Each iteration delivers a functionally operational product and thus customers
can get to see the working version of the product at each stage.

The Spiral Model

The Spiral Model is an evolutionary software process model that couples the
iterative nature of prototyping with the controlled and systematic aspects of
the Linear Sequential Model. Using the Spiral Model the software is developed in
a series of incremental releases. Unlike the Iteration Model where in the first
product is a core product, in the Spiral Model the early iterations could result in a
paper model or a prototype. However, during later iterations more complex
functionalities could be added.
A Spiral Model, combines the iterative nature of prototyping with the controlled
and systematic aspects of the Waterfall Model, therein providing the potential for
rapid development of incremental versions of the software. A Spiral Model is
divided into a number of framework activities, also called task regions. These task
regions could vary from 3-6 in number and they are:

 Customer Communication - tasks required to establish effective


communication between the developer and customer.

 Planning - tasks required to define resources, timelines and other project


related information /items.

 Risk Analysis - tasks required to assess the technical and management risks.

 Engineering - tasks required to build one or more representation of the


application.

 Construction & Release - tasks required to construct, test and support (eg.
Documentation and training)

 Customer evaluation - tasks required to obtain periodic customer feedback


so that there are no last minute surprises.

Advantages of the Spiral Model


 Realistic approach to the development because the software evolves as the
process progresses. In addition, the developer and the client better
understand and react to risks at each evolutionary level.

 The model uses prototyping as a risk reduction mechanism and allows for
the development of prototypes at any stage of the evolutionary development.

 It maintains a systematic stepwise approach, like the classic waterfall model,


and also incorporates into it an iterative framework that more reflect the real
world.

Disadvantages of the Spiral Model

 One should possess considerable risk-assessment expertise


 It has not been employed as much proven models (e.g. the Waterfall Model)
and hence may prove difficult to ‘sell’ to the client.

The WIN-WIN Spiral Model

In this model the developer and the customer both together strive for a “win-win”
result. The customer wins by getting the system or product that satisfies the
majority of the customer needs and the developer wins by working on realistic and
achievable goals, budgets and deadlines. Rather than a single customer
communication activity the following activities are defined:

 Identification of the Key Stakeholders in the organization.


 Determination of the Key Stakeholders “Win conditions” - a crucial step.
 Negotiating of the stake holders win conditions into a set of win-win
conditions for all including the developers, management, customers and the
various other stake holders.

In addition to the negotiations, the WINWIN spiral model also introduces three
process milestones (anchor points) which help completion of one cycle around the
spiral and provides the decision milestones. The three process milestones are:

 1. Life Cycle Objective (LCO) – defines a set of activity for each major
software engineering activity. Eg. Defining the top-level system/product
requirements.
 Life Cycle Architecture (LCA) – defines the objectives that must be met as
the system and software architecture is defined. Eg. The software team can
demonstrate that they have evaluated the applicability of the software and
also considered the impact on architectural decisions.

3. Initial Operational Capability (IOC) – defines the set of objectives

that must be prepared for software installations/distribution, site preparation prior


to installation and assistance required by all parties that will use or support the
system.

Advantages:

• Faster software production facilitated through collaborative involvement of the


relevant stake holders.

• Cheaper software via rework and maintenance reductions

You might also like