The Internet Encyclopedia (Volume 3)

(coco) #1

P1: 61


Nyberg WL040/Bidgoli-Vol III-Ch-11 July 11, 2003 11:49 Char Count= 0


142 PROTOTYPING

Customer
Input / Feedback

Analysis &
(Re-)design

Test / Release Build / Extend

Project Start

Product Release

Evolutionary Spiral Model


Figure 1: The spiral development model.

updates to the system’s specifications, evaluation of ex-
isting modules for reuse, careful engineering and testing,
and subsequent customer evaluation. Even if initial pro-
totypes are not extended or reused, analysis and design
can produce specifications that are useful for a full-scale
implementation. Iterative prototyping fits a general form
of the Spiral Model, a development process model first
proposed by Boehm (1988); see Figure 1.

Flexible Product Development and the
Evolutionary Development Model
Web-based applications are just one example of systems
that are developed rapidly and evolve constantly over
time. Many other types of applications are created in
dynamic, unstable environments where technology and
customer requirements are in constant flux. High-quality
software can be developed in such an environment with
the use of iterative, evolutionary prototyping in a flexible
development process.

Early Prototyping in Product Development
A study of 29 completed development projects (MacCor-
mack, Verganti, & Iansiti, 2001) showed that the creation
of an early, incomplete prototype for customer evaluation
is an important predictor of software quality in dynamic,
unstable environments. After release of the first proto-
type, the development team must work to integrate the
customer’s feedback into the software design as it evolves
towards the final deliverable. This implies an evolutionary
development model, where active development of the final
product begins before the final requirements are known.
A series of evolutionary prototypes may be constructed
and evaluated before the requirements are frozen for
a major release of the product. Evolutionary develop-
ment will be more successful when the team has made

a substantial investment in a flexible, modular architec-
ture that supports rapid adjustments to an evolving prod-
uct design. Team members with past experience on sev-
eral different projects and software versions are more
likely to thrive in an evolutionary development environ-
ment.

A Flexible Development Process
The total time from project start to market introduction
(lead time) can be divided intoconcept timeandresponse
time(Iansiti & MacCormack, 1997). Concept time is the
window of opportunity for introducing requirements into
the system concept, and matching the technology with
users and application context. Response time is the time
taken to produce the deliverable system after the sys-
tem concept is frozen. In a traditional software devel-
opment process, system implementation does not begin
until all the requirements have been frozen. In a more
flexible model, implementation (e.g., evolutionary proto-
typing) begins before the requirements are frozen, and
response time can be shortened significantly. When sev-
eral incremental product versions are to be developed, it is
important to minimize the response time (during which
requirements are frozen). In the most dynamic formu-
lation, a flexible development process will constantly ac-
quire new information about customer requirements, test
alternative design solutions, and integrate both into co-
herent, high quality products. In a study by MacCormack
(2001), the software system with the earliest beta release
and the greatest number of beta releases—Netscape Nav-
igator 3.0—also received the highest score for perceived
software quality. See Figure 2.

Infrastructure Requirements
The flexible development process requires an investment
in development infrastructure, primarily in version con-
trol and testing. Organizations that have demonstrated
success with rapid product cycles, such as Netscape and

Requirements
Analysis & Design

Implementation

Requirements
Analysis & Design

Implementation

Traditional Approach


Flexible Approach


Project
Start

Market
Introduction

Concept Time Response
Time

Concept Time Response Time

Iteration

Figure 2: A flexible approach to development.
Free download pdf