Replies: 3 comments 2 replies
-
❤️ Great write up! ❤️ It's interesting that you mentioned ownership. I've been subtly pondering the future of repos like |
Beta Was this translation helpful? Give feedback.
-
At what level of completeness should components in the kitchen be thought of? It's a tricky balance. We want to communicate that things might change but at the same time you want to encourage usage. |
Beta Was this translation helpful? Give feedback.
-
this came into being in #963 |
Beta Was this translation helpful? Give feedback.
-
Proposal
Extending design systems requires a lot of deep thought and collaboration across disciplines (design, UX, engineering). However there is value in moving quickly, experimenting with new ideas and sharing those ideas for wider input.
The development kitchen is where new components and patterns can be cooked up, tested and shared. There are minimal acceptance criteria. It’s okay to duplicate and break things. If a kitchen component proves valuable, its status may be updated to stable and it will move out of the kitchen.
Ownership
Kitchen components are unsupported by CSTI and owned by the team or teams consuming them. We don’t recommend individual contributors taking ownership of a component, as an individual may change teams, leave the company or otherwise become less inclined to support it.
Owners are defined in the
CODEOWNERS
file in the GitHub repo.Changes to components should be coordinated with their owners.
Evolution
Changes to kitchen components are to be expected. Components in the kitchen should be considered experimental and likely to change in ways that break things.
Owners of kitchen components have visibility over where they are currently being used. Owners should notify consumers of their component that changes are being considered, to ensure everyone is kept in the loop. This could happen at the pull request stage.
Components that are valuable may be promoted to stable. In order to achieve this, the component must meet Source’s acceptance criteria. The best way to meet these is for developers to work in close collaboration with design and UX when building and evolving a component. Not all code components have an equivalent in Figma, but components should express some pattern, rule or aspect of design that is governed by Source.
What problems does this solve?
Source is a library where teams can expect to find shared components. However Source requires components to be high quality and as such it takes a long time and a lot of effort for components to land in Source. Potential contributors are put off contributing directly to Source, as they they find it hard balance the time investment against their team's priorities. The cost of this is two-fold:
We believe the Development Kitchen will help teams share components quickly, by lowering the barrier to entry. It will allow teams to get fast feedback on new components, both from users and from other developers.
By providing an agile mechanism for iterating and improving, components can be brought up to the level of quality expected of Source components, and everyone can benefit from the work put into them.
Comments?
Does this sound like something you would use? Can you think of any other benefits, or do you have any concerns? Do you have any ideas for its implementation, or questions about how it would be consumed or maintained?
We are keen to hear from as many people as possible
Beta Was this translation helpful? Give feedback.
All reactions