Professional Documents
Culture Documents
money staff
Project constraints
Computing
resources time
By changing the lifecycle model, we can
improve and/or tradeoff:
1. No administrative overhead
2. Signs of progress (code) early.
3. Low expertise, anyone can use it!
4. Useful for small “proof of concept” projects, e.g.
as part of risk reduction.
DISADVANTAGES
1. Dangerous!
No visibility/control
No resource planning
No deadlines
Mistakes hard to detect/correct
2. Impossible for large projects,
communication breakdown, chaos.
3. SPIRAL MODEL
Prototypes Operational
Review & Start P1 P2 P3 Prototype
commitment Requirements Concept
Design, Detailed design
plan Of Operation Validation
Development & Verification
plan Requirements
validation Coding
Integration &
Test plan Unit & Integration
Testing
End Acceptance Develop & verify
Plan next phase Testing
next-level product
SPIRAL QUADRANT
DETERMINE OBJECTIVES, ALTERNATIVES AND
CONSTRAINTS
Typical activities:
Create a design
Review design
Develop code
Inspect code
Test product
Spiral Quadrant
PLAN NEXT PHASE
Typical activities
Develop project plan
Develop configuration management plan
Develop a test plan
Develop an installation plan
ADVANTAGES
Iterate
Quick Design
Build Prototype
Customer Evaluation of
Prototype
The Rapid
Prototype Workflow Engineer Final
Product
ADVANTAGES OF EVOLUTIONARY
PROTOTYPING
1. Reduces risk of incorrect user requirements. A
more accurate end product. Unexpected
requirements accommodated
2. Good where requirements are
changing/uncommitted. Allows for flexible design
and development
3. Regular visible progress aids management.
Customers can “see” the system requirements as
they are being gathered
4. Supports early product marketing
5. Developers learn from customers
DISADVANTAGES OF
EVOLUTIONARY PROTOTYPING
1. An unstable/badly implemented prototype often
becomes the final product.
2. Requires extensive customer collaboration
Costs customers money
Needs committed customers
Difficult to finish if customer withdraws
May be too customer specific, no broad
market
DISADVANTAGES OF
EVOLUTIONARY PROTOTYPING
3. Difficult to know how long project will last
4. Easy to fall back into code-and-fix without
proper requirements analysis, design,
customer evaluation and feedback.
5. The customer may want the prototype
delivered.
(B)THROAWAY PROTOTYPING
Detailed Design – develop algorithms Unit testing – check that each module
for each architectural component acts as expected