AboutDraft
Feature systems
Feature systems are for design elements that are used within a specific feature only. Centralization should only be done when necessary, as keeping elements close to their respective features provides easy access and facilitates efficient design workflows. Responsibility for design elements in feature systems lies with their respective feature teams.
Local systems
Local systems are a place to share design elements that are tailored for specific products or audiences. Feature teams drive growth and evolution of local systems. The Design Systems team manage (stewards) local systems by providing guidelines, setting standards, and to identify and monitor potential candidates for Telescope.
Telescope
Telescope serves as the central repository for core design elements used across Pleo products. Design elements in local systems may be considered for Telescope if they are worth sharing globally. Priority will often be given to elements that resolve multiple conflicting designs or those that have become overly generic due to widespread use.
Why not just centralise everything?
Excessive centralisation leads to complex, hard-to-maintain systems. By only sharing what really needs to be shared, we can prioritise quality, maintainability and scalability where it truly matters. Consider this table:
Telescope | Local System | Feature system | |
---|---|---|---|
Scope | Pleo | A product | A feature |
Quality standards | High | Medium | Low |
Governance level | Rigorous | Moderate | Lenient |
Maintainance cost | Expensive | Affordable | Cheap |
Documentation requirements | Comprehensive | Moderate | Minimal |
Then when should we centralise?
As demonstrated above, there is a significant cost to centralisation. Therefore, we advocate for an approach where centralisation is commonly done in order to:
- Consolidate multiple, competing, design elements
- Reuse a design element discovered in another feature
- Address a poor and/or unnopinionated abstraction
Practical guidelines for element placement
Consider the following when placing design elements:
Are you creating a new design element while working on a feature?
Place it near that feature. Don't centralize until necessary.
Do you want to reuse a design element discovered in another feature?
Promote it to the local system within the product you're working on and make both features use it from there.
Have you encountered multiple (competing) design elements?
Reach out to the Design Systems team, it could be a candidate for Telescope.
Is a design element too complex or unspecific to use effectively?
Reach out to the Design Systems team, it could be a candidate for Telescope.
By following these guidelines, our systems can stay organized and easy to maintain.