Prototyping
Also Known As
- Early Models
- Mockups
- Pilot Models
- Set-Based Concurrent Engineering (in Lean Software Development)
Related
Addresses / Mitigates
- Feature Fit Risk: Allows early validation of features and design with stakeholders.
- Communication Risk: Facilitates clear communication of concepts and requirements.
- Implementation Risk: Helps identify potential issues before full-scale development.
Attendant Risks
- Schedule Risk: Prototyping can be time-consuming and delay the project timeline.
- Funding Risk: Creating prototypes can incur additional costs.
Used By
- Lean Software Development: Lean uses set-based concurrent engineering to explore multiple options and narrow down to the best solution.
Description
"Prototyping is an iterative, trial-and-error method of system development in which requirements are converted to a working system that is continually revised through close work between an analyst and user until the latter is satisfied that an acceptable system has been developed." - Prototyping, Wikipedia
Prototyping in software development involves creating early models or mockups of the software to test concepts and gather feedback. This practice helps in validating design choices, identifying potential issues, and ensuring that the final product meets the users' needs and expectations.
Variations
| Prototype Type | Description | Reference |
|---|---|---|
| Throwaway Prototype | A quick model built to explore ideas, then discarded once requirements are clear. | Throwaway Prototyping, Wikipedia |
| Evolutionary Prototype | A working model that is refined iteratively into the final product. | Evolutionary Prototyping, Wikipedia |
| Wireframe/Mockup | Low-fidelity visual representations of the UI without functionality. | Wireframe, Wikipedia |
Used By
Lean Software Development
An Agile software development methodology that emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole.
Why: Lean uses set-based concurrent engineering to explore multiple options and narrow down to the best solution.
- Set-Based Concurrent Engineering