3.1.11-1 Prototyping

Table of Contents

Fork me on GitHub

1 Prototyping

From the Spec

-Students should:

  • understand what prototyping is
  • be able to discuss the advantages and disadvantages of using prototyping when developing solutions
  • have experience of using prototyping to create solutions to simple problems.

Learn It

  • A prototype is an early sample, model, or release of a software product built to test a concept or process or to act as a thing to be replicated or learned from.
  • A prototype typically allows a customer to evaluate a product or feature of a proposed software solution, rather than relying on interpretations of designs.

Learn It

  • The advantages of prototyping are:
    1. Evaluating whether or not the developed software matches the specification.
    2. Help clarify the clients requirements and improve the specification.
    3. Minimise budget and time overruns due to a mismatch between the client's and designers understanding of the specification.
    4. Allow the client to test features and offer improvements through feedback.
    5. Assist in producing a product that more closely matches the client's needs.

Learn It

  • The disadvantages of prototyping are:
    1. As prototyping usually focuses on a small part of the software, the whole project may not be taken into consideration, resulting in a poorly implemented final solution.
    2. The prototype may be perfect, but is unable to be scaled into a full solution.
    3. Client's may become confused between the prototype and the final solution, and think that the prototype should accurately model the final software.
    4. Developers can become attached to a prototype, having spent many hours producing it, and are reluctant to through away their work.
    5. Prototyping can take excessively long if not conducted properly. Prototyping needs to be rapid to be effective.
    6. Prototyping can be expensive. Developers need to be properly trained in prototyping tools and practices that they are not familiar with.

Try It

  • A client has requested a new computer game to be developed. It will be a multiplayer flight-combat simulator.
  • Detail some issues the designer might face if presenting a finished game to the client, that has not been prototyped.
  • Discuss what aspects of the game could be prototyped.
  • What might be the disadvantages to the developer or client of prototyping these aspects.