A design system can vastly improve your team's productivity, but most of all, it leads to better products! The challenge lies in creating a mature system and leading its adoption across the company successfully. Let's talk about how we learned to meet the needs of different designers and developers on different products, on different tech stacks, on different platforms. Attendees will go home with tips they can use to improve design systems of any stage.
3. Essentially, a design system is a collection of
products that help you solve the problem of scaling
your design practice.
4. Benefits Include
• Quick iteration on products
• Stronger brand awareness
• Everyone speaks the same language
• Empowers developers
• Improves user experience
5. Scale means getting the best results with the least
duplication of effort
AKA keeping our design DRY
6. Scaling your design means solving
duplication of
• Asset and UI creation
• Code creation
• Accessibility work
• Localization
• Testing
• …etc
11. We take care of the details so you can
do the hard stuff
• UI components
• Design files
• Code repos
• Documentation
• Design guidelines
• Code documentation
• Language/a11y/contribution/etc
35. • DNA + Tooling
• Design & Content
• Official Spectrum site
• Precursors
Spectrum
36. DNA
• Source of truth for design data
• Consumed by all frameworks (and some tools)
• Contains variables for things like colors, sizing, etc
• If we change a value here, it should propagate everywhere
37. Originally 2 repos
• Spectrum-origins & Balthazar
• Origins was a bunch of json
• Balthazar did some variable substitution and compiled to
different targets (scss, css, stylus, etc)
38. Combined into one tool
• One repo: Spectrum DNA
• We found that we didn’t actually need to be agnostic and it
wasn’t worth the effort. Balthazar was tightly coupled to
Origins
• JSON became standard JS
45. Growing pains
• We began having a unique structure for each template
where we inserted values for each section
• Didn’t scale. We had created new templates for each page
and had to maintain them.
46. Componentizing content
• I designed a new system where we essentially
componentized all of our content into what I call content
types
• Testable via JSON schema validation
• Consistent, context-independent
• Can be delivered via API more easily
49. Support
• Slack channel
• Office hours 3x/week
• Biweekly meetings with UI framework teams
• Attend each other’s sprint planning
• Quarterly hackathons
50. Releases
• Biweekly
• A snapshot of the system at that time (includes UI files and
DNA)
• We update the what’s new page on the site and post in the
#spectrum-bulletin slack
51. Roadmapping
• User testing to find out what components are most needed
and prioritizing on that
• Outcomes > Features
52. Measuring Success
• Spectrum Scorecard
• Understanding the meaningful indicators of adoption
• Determines the level of support
• Gives a quantitative view
53. Scorecard process
• 5 question Pre-Scorecard Assessment
• Product sends us the screens they want us to evaluate
• For each screen we ask questions that can be answered yes or no
• Scores are rolled up and averaged out in several topics
• Post-scorecard Self-Assessment
• Do we provide the things this product needs?
• How good of a job are we doing meeting the needs of
products?
54. Precursors
• Web app allows users to upload examples of spectrum-ish
designs
• These designs get approved or denied and the contribution
process begins
• Promotes transparency in the org
• Allows us to solve more problems faster
57. We’ve been known to tell a developer “If it isn’t
documented, it doesn’t exist.” Not only does it have to
be doc’d, but it has to be explained and taught and
demonstrated. Do that, and people will be excited —
not about your documentation, but about your product.
Mike Pope
58. Thank You!
@sarah_federman
Special thanks to @ammiller
Want to learn more?
• Look at style guides: http://styleguides.io/
• Look at more style guides: http://designguidelines.co/
• Listen to podcasts: http://styleguides.io/podcasts
• Slack group: designsystems.herokuapp.com
• Find out about events: https://www.sfdsc.co/