Why is a Contribution Model important for your Design System?

Issac Teh
4 min readJun 27, 2024

--

In Design Systems, a big part of the work is fielding questions and making decisions about component contributions. As design organisations grow, it’s important to have a contribution model to codify how you handle contribution so that you can respond quicker with predefined steps and processes.

Conversations between a product designer and the Design Systems team often start with questions like:

“Do you think this is a new component?”
“Where should my team build this component?”
“Who is responsible for building this component?”

At first, you probably would have to think about what next steps might be, who to involve and how to come to a decision. However, once you’ve answered these questions a few times, you should be able to recognise some of the patterns that emerge in how your team responds and use that to build your contribution model.

Let’s delve into some of the things that you can include to build up that contribution model.

Definitions

Part of a contribution model is making it very clear to everyone involved what type of components exist in the ecosystem.

We often have an idealised view that a Design System should contain every single component that might exist in your product — this doesn’t reflect the way products are built. Especially with larger teams, new features will always push the boundaries and limits of what the Design System components can do.

For example, a design system might have a set of Core and Feature components:

  • Core — reusable and primitive
  • Feature — feature specific components

Defining this helps us to determine which components the Design Systems team should spend time and effort maintaining and documenting.

Criteria

Having checklist of criteria that a component needs to meet can help with decision making, and ensure quality of the components that are included in your Core set of components.

Some of the criteria you might include are:

  • Is the component used in 3 or more places across different contexts and products?
  • Have we ensured no other component solves the same problem or could be used instead?
  • Is the component accessible?
  • Is the component project agnostic? (e.g. does not contain any proprietary logic, smartness or complexity tied to a specific project? Is flexible and extensible enough to use across multiple products or services?)

Deciding whether a component should be a part of your Design System can be challenging. Establishing clear criteria can streamline discussions and guide you toward meaningful next steps.

Process

Now that the types of components have been defined, we need a way to organise new ones as they are being proposed. This is when processes come in. Here are a few tools my team uses to help us to determine these as they happen:

Decision tree

This tool maps the journey of a new component from proposal to decision, ensuring we ask the right questions at the right times. By incorporating essential elements like a criteria checklist, it facilitates more efficient and structured decision-making processes.

When situations become ambiguous and human intervention is needed, the decision tree can also guide your team on when to convene a Design System Guild, ensuring the right stakeholders are involved in the decision-making process.

Decision canvas

For decisions that fall outside our predefined definitions and criteria, this tool facilitates discussions and supports asynchronous workflows. It formalises the process of understanding the problem, gathering research and insights, and developing solutions. Additionally, it includes actionable “implementation” prompts, keeping engineering in mind for decision-making.

You can create this on a FigJam board and replicate it as needed. These boards also serve as valuable records of past decisions, providing a reference for future processes.

Outcomes

Implementing a contribution model can change the types of conversations that your team can have with other parts of the organisation. With a clear “go to”, you’ll be ready for any questions that come up and can resolve anything quickly.

--

--

Issac Teh
Issac Teh

No responses yet