Build for reuse
Design for reuse
Identify how to build your service (or elements of it) for reuse and so it can be scaled up.
It is easier to build for reuse if you reuse what is already available. The NSW Design System contains reusable patterns and solutions. Adapting these to your design will help create a consistent experience for NSW customers and enable other government agencies to access and build on your solution.
Consider how you can integrate solutions that enable customers to communicate their information once to government, safely, securely and in one place.
Also use modular architecture to design and build patterns that you can:
- reuse for multiple purposes
- replace without affecting the rest of the system
- easily integrate with other systems
- scale
- easily develop (also known as 'the developer experience').
You should also consider how to design your solution so it's accessible to agencies seeking to reuse it. This will help address some of the key constraints around reuse regarding hosting, security and access controls.
Publish application programming interfaces
An application programming interface (API) provides a software to software connection so that two applications can communicate directly without any user intervention.
APIs enable agencies to share and release data in the most usable forms and to reuse existing technology functions for a variety of purposes.
Ensure you make your data available through APIs.
You can browse repositories of NSW Government APIs and Commonwealth Government APIs to access data and other functions.
Contribute back
Document your solution so that it can be easily understood. Try and include things like its purpose, core functions and interfaces.
Share outputs and learnings to the NSW Design System community, unless there's a good reason not to.
For example, you can:
- make source code for patterns open by publishing it on GitHub under appropriate licences
- publish open data sets on data.NSW.
- publish reusable solutions and services on the NSW Design System.