7

Supercharging your design system contribution model

 2 years ago
source link: https://uxdesign.cc/design-systems-why-contribution-models-are-tricky-to-get-right-1c4d13f72b5c
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Supercharging your design system contribution model

Contribution plays a central role in the growth and evolution of design systems, but identifying the right process to foster regular and valuable contributions isn’t always straightforward. Let’s talk about why…

Metaphor: 3d blocks representing design system components, one block is incomplete

In mature design systems, we expect to see high levels of adoption, advocation, and engagement. With this comes sustainability through regular and diverse contributions from a range of consumers, all actively engaged in growing the experience language. In an ideal world at least!

Contribution is when a consumer of a design system gives back — enriching the system by completing work to create, extend, or enhance one or more tangible assets.

Conversely, nascent systems can (and often do) struggle to establish supportive processes that foster and encourage this behavior.

Let me share with you why that might be, and what you can do to solve the challenge.

Let’s define “contribution”

Contribution is when a consumer of a design system gives back — completing work that enriches the system by creating, extending, or enhancing tangible assets. It requires a consumer to identify a gap, know how to fill it, and be compelled to invest the time in doing so.

wrote a fantastic article on defining contributions that’s well worth a read. As he explains, there are different types of contributions that range in effort, cost, and complexity.

Take a look at this.

Contribution scale. Increasing in cost, time, and complexity. Left to right: Minor engagement, small enhancement, medium enhancement, large enhancement, and major engagement.
Contribution scale

At the lower end of the scale, we see small ticket items like bug fixes or the addition of a new typographic setting. Small amendments can be made without causing ripples across the design system and in a somewhat autonomous fashion (without the support of the core team).

Contrast this with the contribution of a new pattern. This is a large enhancement that demands greater expertise on behalf of the consumer who must ensure the pattern is flexible and abstract enough to benefit the design system. To foster a complete contribution, the contributor of the new pattern would also need to understand how to engage the relevant disciplines to deliver an asset that could be easily rolled out.

You might have clocked two types of interactions that are not considered contributions. Nathan refers to these as participation and I like to think of them as engagements.

  • Minor engagements can be thought of as the day-to-day interaction with consumers.
  • Major engagements are probably driven by the design system team. They are long-term conversations that help to adjust the course of the system.

Why is contribution important?

Contribution gives us four key things, without which, establishing a design system is pretty tough:

  • 🙌 Englightenment — the injection of new ideas and perspectives, direct from the consumer’s mouth. Queue the hallelujah chorus.
  • 📣 Advocacy — If you can make the experience a positive one you can encourage further adoption and engagement
  • 🔥 Ignition — unlocking scale and reach that would not have been possible without the engagement
  • 📚Insight — an understanding of the appetite of consumers to contribute tells us about the perceived value of the design system.

The effect of team structure

The structure of a design system team (or network) can have a notable effect on the impact and frequency of contribution. Depending on which design system superpower you’re looking to leverage, there are three primary setups: centralized, decentralized, and hybrid.

Three circles orbiting within another ring of circles representing a centralized design system team
A ring of orbiting circles, representing a distributed, decentralized design system team.
Two consecutive rings of orbiting circles, illustrating a hybrid design system team.
Left-to-right: Centralized, decentralized, and hybrid.
  • Centralized — a central delivery team, responsible for the direction and growth of the system. As consumers scale the centralized team must also scale. Consumers are essentially customers that have a passive engagement with the design system.
  • Decentralized — there is no central team. Every consumer team is responsible for growing and shaping the system.
  • Hybrid — the central team is lean and responsible for the direction. Growth is pushed to the consumers, who drive the evolution of the system.

The centralized model can be a pretty hard sell for your investors (those footing the bill), especially right out of the gate. If one of the key objectives of a design system is to unlock efficiencies of scale in the development lifecycle, so it can seem a little counter-intuitive to spin up an unconnected team to achieve this.

In my experience, It's also not a great engagement model. Drawing a hard line between contributors and consumers of a design system can lead to low adoption and relevancy of solutions. Contribution potential, low 👎.

Depending on your goals, the decentralized model can work. It can also look attractive to sponsors, who don’t need to shell out for extra heads. While contribution potential is high, I see two problems with this approach:

  • No one is driving the ship. Strategic leadership of a design system is absolutely critical, especially in the early years, so having a responsible and empowered party is essential.
  • No dedicated resource = not prioritized. It takes a lot of effort to get even a simple system off the ground. If you’re entirely dependant on others to carve out time. Chances of success I’d say are pretty slim.

Most often, I see teams take a hybrid approach. where development of the foundational design system is driven by a small contingent of enthusiasts. As the system develops and adoption grows, the core team takes a strategic role in guiding evolution. Through contribution, consumers become the driving force for growth. Contribution potential, high 👍.

It’s worth mentioning that the hybrid model still requires the core team to grow as the design system matures. However, unlike the centralized team model, growth is not linear. Instead, the core team just needs to reach critical mass to balance work on strategic initiatives against supporting adoption and contribution.

Why is contribution hard?

For organizations with well-established collaboration practices and high maturity among disciplines, contribution might not be that hard. If the concept of connecting creative and technical teams on a common experience language is novel, it can be more challenging.

Either way, there are a few universal complications that are worth knowing about.

⏲ Time and context

Teams are often resource-rich and time and expensive context-switching isn’t always an attractive proposition.

As teams scale with added busyness, we see silos form. Silos often get a bad wrap, but they are a natural reaction to growth because they help us to compartmentalize the workforce and allow teams to isolate and focus on specific problem spaces.

Unfortunately, design systems are the antitheses of silos. They look across teams and organizations in an effort to make holistic decisions that benefit the wider ecosystem.

Contributing to a design system asks the contributor to switch from their local context and consider whether their solution makes sense within a global context. This can be a real challenge and increases the likelihood that a contribution will either be incomplete or incompatible without the engagement of the central team.

👩‍🚀 Expertise

Systems design and systems engineering are niche skillsets.

Contributors aren’t often systems-folk. It’s one thing to design or engineer a pattern to meet a direct use case and quite another to abstract that pattern into a flexible, extensible, and robust asset that supports a network of related use cases.

👬 Support and understanding

Looking at a standard distribution of consumers, you will have a few who are actively engaged, a similar number who never engage, and the majority will have some form of irregular engagement.

More than likely you'll have some process that the consumer will need to find and relearn with each contribution.

If you follow the hybrid model, there is an added complication of ensuring you have enough capacity to offer timely support on the contribution request.

Ingredients of a good contribution process

Taking into account the challenges and consumer dynamics we have discussed, here are some top tips on creating a process that people want to engage with.

🙌 Be clear and concise

  • Identify different types of contribution (See Defining Contribution) and build processes around each.
  • Keep processes short and sweet, preferably in a bulleted list.
  • Let consumers know their responsibilities and yours. You can alleviate any worry about a consumer’s lack of context or understanding.
  • Define timescales and points of communication throughout the engagement to help set expectations.
  • Don’t overload processes with the “why”. Your approach can be held elsewhere for reference.

👩‍🏫 Guided

  • Frame contribution as a collaboration between the consumer and the design system team. Let your consumers know that you’re there to support them in the contribution.
  • Look for opportunities to align your process with existing and familiar practices. My mind always jumps to PR templates in Github which can be used to collect essential information about the contribution.
  • Make the first step of contribution a conversation. As a design system team, you are the best people to help refine a solution. Instead of waiting for a contribution to land on your desk, reduce the potential for rework and frustration by helping the contributor to refine their solution into one that is in line with the design systems goals before work begins.

🎙 Well communicated

  • Create a well-formatted guide for contribution.
  • Create guides that document key considerations and quality benchmarks that all contributions must pass. If you find that the benchmark is too high, consider investing in a maturity program for new contributions to help readjust the bar.
  • Hold this guide in a central space that is accessible to all of your consumers, and distribute links across any of your consumer touchpoints; slack channels, emails, onboarding guides, etc…
  • Provide a visual guide for visual learners.
  • Everyone loves to be appreciated. Encourage people to get involved by publically highlighting your gratitude for contributors and finding opportunities to get your top contributors to talk about the process.

👯 Well staffed

  • Ensure you have enough reactive capacity to engage with contributions. Collect metrics on the frequency and effort of contributions to help you track the growth of the system.
  • Communicate your capacity for contribution to consumers and sponsors alike. A high volume of contribution against a low capacity for engagement suggests you might need to grow your core team to meet demand.

Closing thoughts

Finding the right contribution process is absolutely a journey, so don’t be too disheartened if you’re finding it a little challenging.

If you are struggling, reframe the problem as a design thinking opportunity. Put yourself in your consumer’s shoes, identify the pain points, and consider what steps can be taken to make contribution a valuable part in their day-to-day workflow.

I’ve been working with my team to adjust and refine our process over the past four years and it continues to flex as we learn more about our consumers, their environment, and their needs.

We’ve recently piloted the guided contribution approach. With every contribution opportunity, we sit down with the consumer team and sculpt out the end-to-end solution. As partners in contribution, we bring domain knowledge to help the team understand the scope of work and key integration points. This is really helping to alleviate consumer anxiety and resulting in rewarding engagements for both parties.

We are seeing unparalleled levels of engagement through this model, but it is requiring us to rebalance our portfolio of work to allow for more time spent partnering with consumers.

So, what’s working for you? I welcome you to share your advice and experience in the comments…

Further reading

0*lRprQk47J60U248w.png?q=20
design-systems-why-contribution-models-are-tricky-to-get-right-1c4d13f72b5c
The UX Collective donates US$1 for each article we publish. This story contributed to World-Class Designer School: a college-level, tuition-free design school focused on preparing young and talented African designers for the local and international digital product market. Build the design community you believe in.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK