Contribution

Design systems are often built, maintained, and evolved by dedicated teams, but it’s the product teams who actually use that work. These teams can, in turn, contribute back to the design system to make it more useful for everyone.

Contribution to a design system typically occurs when product teams would like to use a token, component, or pattern from the system but doesn’t quite fit their needs. In such cases, the item might need to be modified and fed back into the system.

In organisations with dedicated product teams, there are usually clear guidelines and workflows on how to contribute back to the design system. This contribution process generally involves understanding why the design system’s current offering isn’t sufficient for the product team, assessing the impact of the change, and determining how updating or adding a contribution to the system will benefit other product teams.

Alt text:   A flowchart titled "Contribution process for Nord Design System" outlines the decision-making path for contributing to the system. It starts with checking if a component already exists. If it does, and it fulfills requirements, users are advised to "Use the library or propose 'light' contribution." If not, they assess whether it can be amended; if yes, they should "Propose 'medium' contribution."    If the component doesn't exist, the next step is to check if something similar exists. If not, users are prompted to prototype a concept and evaluate if it can be reused in more than one app. If yes, they are directed to "Propose 'heavy' contribution." If not, they are asked whether the solution can be made more generic. If it can, they proceed to propose a heavy contribution; if not, they are advised to "'Hardcode' directly to application." The chart uses color-coded labels for different types of contributions (light in green, medium in yellow, and heavy in red).
Nord's design system contribution process. Go to image source.

The contribution process typically involves understanding why the design systems current offering is not enough for the product team, understanding the impact of the change, and how updating or adding a contribution to the system will benefit other product teams.

An important part of the contribution process is working together, so to make sure that anything that is finally added to the system follows the same standards than anything else that already exists in is.

It should be noted that contribution workflows that are too restrictive may be seen as a hassle for product teams, who may prefer to design their custom implementations to go faster, impacting at the same time the consistency of the experience and the coverage of the design system.