Labs ICT
โญ Pro Login

Prototyping Approaches

Explore evolutionary and throwaway prototyping for requirements validation.

Prototyping Approaches

Prototyping is the practice of building a preliminary version of a system to explore ideas, validate requirements, and gather user feedback before committing to full development. It reduces risk by detecting misunderstandings early.

Types of Prototypes

Type Purpose Fate
Throwaway Explore requirements, answer questions Discarded after validation
Evolutionary Build incrementally toward final system Becomes the production system
Incremental Build functional pieces early Integrated into final system

Throwaway Prototype

Process:
1. Build quick, rough prototype
2. Show to users for feedback
3. Gather requirements insights
4. Discard prototype
5. Build the real system from specifications

Characteristics:
- Fast to build (hours or days)
- Uses rapid development tools
- May lack error handling, security
- Not optimized for performance
- Purpose is learning, not production

Evolutionary Prototype

Process:
1. Build a minimal working version
2. Show to users for feedback
3. Refine and expand based on feedback
4. Repeat until the system is complete

Characteristics:
- Built with production-quality tools
- Evolves into the final system
- Requires flexible architecture
- Risk: may accumulate design debt

Throwaway vs Evolutionary

Aspect Throwaway Evolutionary
Goal Learn requirements Build the final system
Quality Low (rough draft) High (production-ready)
Time Very short Longer (iterative)
Cost Low (discarded) Higher (retained)

Rapid Application Development (RAD)

RAD is a development methodology that heavily relies on prototyping. It emphasizes rapid iteration, user involvement, and the use of CASE tools to accelerate development.

  • Short development cycles (60-90 days)
  • Extensive user participation
  • Iterative prototyping and refinement
  • Use of visual development tools

When to Use Prototyping

  • Requirements are unclear or poorly understood
  • Users have difficulty articulating needs
  • Testing new interface concepts
  • Validating technical feasibility
  • Building stakeholder confidence and buy-in

Summary

Prototyping is a powerful technique for reducing uncertainty and improving requirements quality. Choosing between throwaway and evolutionary approaches depends on project goals, timeline, and risk tolerance.

๐Ÿงช Quick Quiz

An evolutionary prototype is: