Question

The spiral model is a risk-driven SDLC model. There are many diagrams that describe this SDLC model. Here is one of them: enter image description here

As we can see there are many iterations (one for concept of operation, requirements and so on), every iteration has its own prototype.

For example, there is a prototype associated with the requirements analysis iteration but what is the meaning of this prototype developed for this iteration? The same can be asked for the design iteration? So please someone explain these prototypes with an example if possible. One more question, how prototyping could reduce risks?

Was it helpful?

Solution

In the original paper of Boehm about the spiral model, he explains that the prototyping is meant for "building twice", a principle suggested by Royce in his paper about improving the waterfall approach.

Applied to a requirement analysis, the prototype can be as simple as a first mock, to explain and discuss the first ideas with the stakeholders. This is the same approach as RAD: with some tools you build a prototype that is not functional, but that allows to show screens to the users so that they can better imagine what is going to be build and fine-tune their requirements.

In the design phase, the prototype would entail some more concrete coding, to assess the feasibility and robustness of the architecture and some core ideas of the design.

This prototyping approach is very different from the incremental development that we are used to nowadays, and where you'd implement something that is really working to show to the user. A prototype is generally made for experimental needs and then thrown away: you'd see what works and what doesn't, and then you'd start to develop using the right approach.

About your last question, a prototype contributes to risk reduction in several means:

  • it demonstrates feasibility of an idea
  • it allows to verify that requirements have been well understood
  • if reveals if requirements were incomplete and more needs to be done
  • it allows to experiment with the architecture and design and verify some properties there of (e.g. can the architecture cope with high volumes).

P.S: you may be interested also in this answer to another question

OTHER TIPS

The modern take on prototyping that Christophe mentions is a "click-through" prototype made using tools that are purpose-built to build a prototype concept in a matter of hours. This is now a specialist designer skill set know as UX which stands for "User eXperience".

Licensed under: CC-BY-SA with attribution
scroll top