Prototyping is an important technique for eliciting, analysing, demonstrating and validating requirements. Analysts often complain that the business stakeholders do not know what they want, and that as a result, it is difficult to define the requirements. However, it can be difficult to envisage requirements for the future without having a sense of what is possible. It is much easier to review a suggested solution and identify where there are errors or problems. Prototypes offer a way of showing the stakeholders how the new processes or system might work, and provide a concrete basis for evaluation and discussion. If the business users are unclear
about their requirements, using a prototype often releases the blocks to thinking and can result in greater understanding and clarity. Iterative approaches to systems development, such as the DSDM Atern and the Scrum framework, use evolutionary prototyping as an integral part of their systems development lifecycles.
Prototyping involves building simulations of a system in order to review them with the users to increase understanding about the system requirements.
Working with prototypes can help business users to visualise the new system and hence give them greater insight into possible requirements. There is a range of approaches to building prototypes. They may be built using the organisation’s system development environment so that they exactly mirror the future system.
Alternatively, images of the screens and navigation may be built using presentation software packages such as Microsoft PowerPoint, or they may be mock-ups on paper. A quick but effective form of prototyping is to use flipchart sheets, pens and packs of Post-it notes and work with the users to develop paper prototypes.
This will enable the users to develop screens, identify navigation paths, define the data they must input or refer to, and prepare lists of specified values that they know will apply. This approach can also be used to develop prototypes of a business process.
There is a strong link between scenarios and prototyping because scenarios can be used as the basis for developing prototypes that demonstrate how the system will handle the requirements identified in the scenario. As well as confirming requirements, prototyping can often help the users to identify ones that they had not considered previously.