Prototyping
A prototype allows the team to test and explore ideas before developing them. You can share ideas with users early and often, so that you can find issues with the design and make improvements based on user research.
Prototyping is important because it:
- helps you to make sure you're building the right service for your users
- helps your whole team to get a shared understanding about the future of your service
- allows your team to explore design ideas much faster and at lower risk than using your production code
There are different types of prototypes that you should use at different stages of your design - from sketches to code prototypes using the GOV.UK Prototype Kit.
You must use prototypes to pass your service assessment.
Types of prototype
Prototypes can vary in style from a quick pen and paper sketch to a code prototype that works like a fully interactive website.
The main types of prototype are:
- sketches - explore and discuss basic ideas with colleagues
- click-through - use a design tool to visualise an early idea and get feedback from colleagues or users
- code - show or test a realistic version of your service that looks and behaves like GOV.UK (best for user research)
You should use the type of prototype that best meets your needs at the time.
Why we use code prototypes
The advantages of code prototypes are that you can:
- create a service that looks and behaves like the real thing, on mobile and desktop
- test on the user's device and with assistive technology (for example, a screen reader)
- show different pages based on user input (called 'branching') to test journey flows
- share them by publishing on the web
- make design decisions within the constraints of the web
- share understanding of design ideas, flows and behaviours with the whole team
- use common tools like Git and GitHub for collaboration and project history
Prototype code vs. production code
The point of prototyping in code is to test ideas as quickly as possible, it does not need to be perfect. If an idea tests well, you may want to work with a developer to make your code a bit clearer so that it’s easier for others to work with.
You must not use prototype code for production. When your service is ready to move into production, the code needs to meet different standards. For example, it needs to be secure and perform well with large volumes of traffic.