There are benefits for users and creators when we reuse and repurpose.
- Get a more consistent and familiar experience that meets their needs
- Get an easier experience as they're not asked for information more than once
- Create a more consistent and familiar experience for users
- Minimise duplication of effort by using tools that are already proven and available, be they components, branding, data, research findings, expertise or other things
- Design and build in a way that is responsive to the rapidly changing environment
- Focus on creating the unique parts of the service, instead of starting from scratch
- Get tools that they can easily use and build on
- Provide value to others within government and the broader community by building on existing knowledge, designing for reuse and sharing back
To reuse and repurpose, we need to:
Identify and understand
- what components, branding, data, research findings, expertise or other tools are already available that we can reuse, repurpose or learn from. These could be from within and outside of government.
- the pros and cons of using these tools in the context of our projects (provided they’re not already a ‘mandatory bit’)
Use common approaches
Favour common approaches, where appropriate, so we’re consistent and minimising duplication. This includes using accessible open source code, common components and open standards, over bespoke solutions, so we can move between different technologies more easily and avoid vendor lock-in.
Think big picture
Identify how the service (or elements of it) can be reused so others can benefit and build on the work.
Design for reuse
Use modular architecture to design and build individual components that:
- can be reused for multiple purposes
- can be replaced without affecting the rest of the system
- are scalable
- meet the needs of developers so they can easily reuse the components (also known as ‘the developer experience’)
Collect data in a way that it can be reused by others so users only have to tell government once.
Contribute outputs and learnings to the Digital Design System community, unless there’s a good reason not to. For example:
- make source code open by publishing it on GitHub under appropriate licences
- publish data sets on data.NSW
Ensure consistency for things like the Waratah logo when acknowledging funding contributions for infrastructure
Website consolidation guidelines
Users find information more easily and helps government save money
Feedback Assist widget for customer facing websites
Provides users with a feedback point that is consistent across whole-of-Government
Learn about our responsibility to make data open by default, unless there is an overriding public interest against it. Understand how to make data discoverable and usable for all.
Pattern library of reusable open source code to build web interfaces (e.g. breadcrumbs, buttons, headings)
Create consistent services for users, and save time and effort by using tested, accessible code
Component library of reusable technology
Create consistent services for users, and save time and effort by using tested components
Access and contribute datasets that others can use to inform their work
Access department specific data sets (e.g. Health, Education and Transport) to inform the work
Understand what APIs are and when to use them to share and release data
Access NSW Government data in API format
Choosing the right technology guidance
Understand what to think about when choosing technology
Open source code guidance
Understand the benefits of open source code