1. Service Delivery Manual
  2. Guidance-tools
  3. Versioning-prototypes

Structuring and versioning prototypes

How to maintain and organise versions of prototypes for designers and researchers.

Naming conventions

If you use Heroku to host your prototype, make sure your app name starts with ho-. This helps to identify the prototype as a Home Office service which leads to better collaboration across government.

Avoid acronyms so designers know what services are before opening the link. For the same reason, give the prototype (and code repository) a descriptive title.

Name Heroku versions with the same name and add a suffix of -1 or -2 as new versions are created.

Versioning

Versioning helps teams find past versions of a prototype.

You can take snapshots of prototypes you’ve made using git tags. It’s also possible to keep archived versions without doing this tagging. Each time you want to store the current progress of a prototype, you create a new Heroku app instance with a version number (ho-project-v2). Then turn off automatic updates from GitHub and it will stay as a history state of the project.

Heroku allows you up to 100 apps (if you add a payment card - it doesn’t charge you).

Example of versioning prototypes from a Home Office project
This example is from our Sponsorship application project. We built an index page which kept a table of past versions linked from the ‘master’ prototype version. This helped document changes between iterations.

Keep a log of the changes you make

When you’re moving quickly and making a lot of changes to designs, it can be easy to lose track of your decisions. In your list of prototype versions, you can add a ‘changelog’ to each which describes the design changes and reasoning. This is useful for service assessments.

Ownership and transfer of ownership

Transferring ownership of prototypes should happen as part of any handover between designers.

You can transfer both GitHub repos and Heroku apps. Transferring GitHub repos

Transferring Heroku apps

Best practice for research

Researchers want to see and understand the iterations a prototype has been through. Using a ‘changelog’ to store important research insights will really help.

Make it easy for researchers to move through the prototypes. Clearly mark versions, what has changed and why. So when researchers are preparing for service assessments, the prototype versions and changelogs become a source of truth.

You may find the Making prototypes guidance on the GOV.UK Service Manual useful.


For more information

If you have feedback or want to suggest additional guidance, email design@digital.homeoffice.gov.uk.