A lean approach to building design systems

A presentation at WebCamp Zagreb in October 2019 in Zagreb, Croatia by Jan Toman

Slide 1

Slide 1

Lean Safe approach to building design systems Jan Toman, Kiwi.com Webcamp Zagreb, October 2019

Slide 2

Slide 2

Making travel better at Jan Toman Design System Lead at Kiwi.com Twitter: @HonzaTmn

Slide 3

Slide 3

A design system isโ€ฆ

Slide 4

Slide 4

A design system is a collection of reusable UI components,

Slide 5

Slide 5

A design system is a collection of reusable UI components, guided by clear standards,

Slide 6

Slide 6

A design system is a collection of reusable UI components, guided by clear standards, that can be assembled together to build any number of applications. Source: Invision Blog

Slide 7

Slide 7

Design systems are ๐Ÿš€ popular

Slide 8

Slide 8

@HonzaTmn

Slide 9

Slide 9

Slide 10

Slide 10

https://adele.uxpin.com @HonzaTmn

Slide 11

Slide 11

https://github.com/alexpate/awesome-design-systems @HonzaTmn

Slide 12

Slide 12

@HonzaTmn

Slide 13

Slide 13

@HonzaTmn

Slide 14

Slide 14

Slide 15

Slide 15

Slide 16

Slide 16

orbit.kiwi Launched last month @HonzaTmn

Slide 17

Slide 17

Color guidelines in Invision 2 years ago @HonzaTmn

Slide 18

Slide 18

Whatโ€™s the main difference? 2 years of small iterations @HonzaTmn

Slide 19

Slide 19

Change wonโ€™t happen overnight๐Ÿฆ‹ ๐Ÿ›

Slide 20

Slide 20

What do we want to change? ๐Ÿงž

Slide 21

Slide 21

๐ŸŽจ Visual design ๐Ÿ’ฌ Communication ๐Ÿš€ Technology Tools & processes ๐Ÿงฐ @HonzaTmn

Slide 22

Slide 22

๐ŸŽจ Visual design How designers design. ๐Ÿ’ฌ Communication How colleagues talk. ๐Ÿš€ Technology What tech stack devs use. Tools & processes How everyone works. ๐Ÿงฐ @HonzaTmn

Slide 23

Slide 23

How designers design. Which tech stack devs use. How colleagues talk. How everyone works. Design systems๐Ÿ™‡ are about people.

Slide 24

Slide 24

Slide 25

Slide 25

) You? When you want to change so many stuff for so many people, itโ€™s important to balance it very carefully

Slide 26

Slide 26

Balancing a change with a lean approach Case study with examples from Orbit, Kiwi.comโ€™s design system )๐Ÿคน

Slide 27

Slide 27

What is a lean approach? Itโ€™s maximizing value = speed of delivery, effectivity, quality while minimizing waste = building the right things

Slide 28

Slide 28

minimizing waste means doing informed decisions based on data #research โœ‚ User interface audits โ€žPeak into other design systemsโ€œ ๐Ÿ‘€ ๐Ÿ‘€ ๐Ÿ‘€ ๐Ÿ“ โ˜• โ˜• Talking with people !

t? a wh

Slide 29

Slide 29

โ˜• โ˜• Talking with people !

t? a wh

Slide 30

Slide 30

โ˜• โ˜• Talking with people ๐Ÿคฏ t What are the things that take you the most time in your daily job? โ€ข What are the most boring stuff you have to do? โ€ข How do the current design handoffs work? โ€ข How do you handle specifications for designers and developers? โ€ข What should our design system have? Why these things? โ€ข How could it go wrong? Daily routines ๐Ÿคœ๐Ÿค› a h #w โ€ข Designers & developers assets handover ๐Ÿงž Expectations from design system

Slide 31

Slide 31

โ˜• โ˜• Talking with people t a h #w http://bit.ly/ds-research

Slide 32

Slide 32

Top insights from our research ๐Ÿ“

Slide 33

Slide 33

๐Ÿ˜จ Fear for creativity A looot of tools Fear that the design system will limit them and will lead to worse UX Our design files were everywhere and nowhere. ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘ Support from devs They just hate coding something repeatedly. ๐Ÿ‘ ๐Ÿงฐ Existing styleguide ๐ŸŽจ No one used it, though. โœ Hmmmโ€ฆ @HonzaTmn

Slide 34

Slide 34

Existing styleguide ๐ŸŽจ No one used it, though. โœ Yes, but these component arenโ€™t flexible enough for what I need. Oh, we have some buttons already? ๐Ÿคท ๐Ÿ•ต Did you know that we already have UI library? 8 : I didnโ€™t know we have UI kit. Yes, but itโ€™s never up to date. I donโ€™t know where to find our icons. Itโ€™s faster to find it in Material. @HonzaTmn

Slide 35

Slide 35

Listen carefully. Be curious. Even small details matter. ๐Ÿ‘‚

Slide 36

Slide 36

Listen carefully. Be curious. Even small details matter. ๐Ÿ‘‚ Thatโ€™s how youโ€™ll find your problems or get ideas about what can be improved.

Slide 37

Slide 37

Design is not implemented in Synchronize the same waycomponents as delivered between design tools and code Itโ€™s all changing too fast Prepare our products for rapid change of design โ€žWe should have guidelines for writingconsistency microcopy.โ€ Improve People donโ€™t contribute toMake other easy partsto ofcontribute the product to other projects โ€žOur design shouldnโ€™t look outdated.โ€œ Improve visual design Mobile and desktop behavior Synchronize and behavior is design different across mobile and desktop People ask the same things Prepare documentation over and over again for designers and developers โ€žOur product should be accessible.โ€œ Improve accessibility Onboarding of new devs and designers takes too long Make onboarding easier โ€žWe should match our โ€žMatch our marketing campaigns marketing with the product.โ€œ with product visual There is a lot of misunderstanding Improvedesigners communication between and devs between designers and devs Itโ€™s complicated to create new whitelabels Prepare guidelines of our microcopy for our whitelabels & partners

Slide 38

Slide 38

Design is not implemented in the same way as delivered Itโ€™s all changing too fast Synchronize components between design tools and code Prepare our products for rapid change of design People donโ€™t contribute to other parts of the product โ€žOur design shouldnโ€™t look outdated.โ€œ Make easy to contribute to other projects Improve visual design People ask the same things over and over again โ€žOur product should be accessible.โ€œ Prepare documentation for designers and developers Improve accessibility โ€žWe should match our marketing with the product.โ€œ There is a lot of misunderstanding between designers and devs Match our marketing campaigns with product visual Improve communication between designers and devs โ€žWe should have guidelines for writing microcopy.โ€ Improve consistency of our microcopy Mobile and desktop behavior is different Synchronize design and behavior across mobile and desktop Onboarding of new devs and designers takes too long Make onboarding easier Itโ€™s complicated to create new whitelabels Prepare guidelines for our whitelabels & partners

Slide 39

Slide 39

This is your high-level roadmap ๐Ÿ‘‰ Where to start, though? Synchronize components between design tools and code Prepare our products for rapid change of design Improve consistency of our microcopy Make easy to contribute to other projects Improve visual design Synchronize design and behavior across mobile and desktop Prepare documentation for designers and developers Improve accessibility Make onboarding easier Match our marketing campaigns with product visual Improve communication between designers and devs Prepare guidelines for our whitelabels & partners

Slide 40

Slide 40

Value/Effort Matrix โ€ฆgenerated for users โ€ฆ required to deliver

Slide 41

Slide 41

Improve visual design Make onboarding easier Prepare guidelines for our whitelabels & partners Make easy to contribute to other projects Improve accessibility Improve consistency of our microcopy Improve communication between designers and devs Prepare our products for rapid change of design Prepare documentation for designers and developers Synchronize components between design tools and code Synchronize design and behavior across mobile and Match our marketing campaigns with product visual

Slide 42

Slide 42

Synchronize components between design tools and code Improve communication between designers and devs Prepare our products for rapid change of design Improve visual design Make onboarding easier Prepare documentation for designers and developers Synchronize design and behavior across mobile and desktop Improve accessibility Make easy to contribute to other projects Improve consistency of our microcopy Prepare guidelines for our whitelabels & partners Match our marketing campaigns with product visual

Slide 43

Slide 43

Synchronize components between design tools and code Improve communication between designers and devs Prepare our products for rapid change Improve visual design Make onboarding easier Prepare documentation for designers and developers Synchronize design and behavior across mobile and desktop Improve accessibility Make easy to contribute to other projects Improve consistency of our microcopy Prepare guidelines for our whitelabels & partners Match our marketing campaigns with product visual

Slide 44

Slide 44

Synchronize components between design tools and code Improve communication between designers and devs Prepare our products for rapid change Improve visual design Make onboarding easier Prepare documentation for designers and developers Synchronize design and behavior across mobile and desktop Improve accessibility Make easy to contribute to other projects Improve consistency of our microcopy Prepare guidelines for our whitelabels & partners Match our marketing campaigns with product visual

Slide 45

Slide 45

Synchronize components between design tools and code Improve communication between designers and devs Prepare our products for rapid change Improve visual design Make onboarding easier Prepare documentation for designers and developers Synchronize design and behavior across mobile and desktop Improve accessibility Make easy to contribute to other projects Improve consistency of our microcopy Prepare guidelines for our whitelabels & partners Match our marketing campaigns with product visual

Slide 46

Slide 46

Improve visual design

Slide 47

Slide 47

Improve visual design Photo credit: https://twitter.com/SlavenSmojver/status/1182582695634853888

Slide 48

Slide 48

Improve visual design ๐Ÿ’ธ โŒ›๐Ÿ”ฎ

Slide 49

Slide 49

Improve visual design

Slide 50

Slide 50

Improve visual design Important decision โ€žLetโ€™s just polish what we already have.โ€œ

Slide 51

Slide 51

Improve visual design โ‰ ๐Ÿคฏโ“ Define clear styleguide (colors, typography) Define basic icon set โ“ Create common components Which colors do we need? How many color accents? โ€ฆ How many icons do we need? Which icon style is used in our product? โ€ฆ Which components are needed the most? Do designers needs different variations? โ€ฆ Tip: Never guess.

Slide 52

Slide 52

Improve visual design Audit colors and typography Define clear styleguide (colors, typography) Audit icons Define basic icon set Audit components & prioritize them by their value Create common components

Slide 53

Slide 53

Improve visual design B C Phase 1: Research Phase 2: Design Collecting useful data. Doing informed decisions. Audit colors and typography Define clear styleguide (colors, typography) Audit icons Define basic icon set Audit components & prioritize them by their value Create common components

Slide 54

Slide 54

Existing color palettes Existing typography styles B Phase 1: Research Collecting useful data. Colors defined in CSS (from production website) Audit colors and typography Audit icons Audit components & prioritize them by their value Styles from main flow

Slide 55

Slide 55

Icons from main flow B Phase 1: Research Collecting useful data. Audit colors and typography Audit icons Audit components & prioritize them by their value Material icons defined in some old Sketch file

Slide 56

Slide 56

Existing button set in Sketch Buttons from production website B Phase 1: Research Collecting useful data. Audit colors and typography Audit icons Audit components & prioritize them by their value Buttons from mobile applications

Slide 57

Slide 57

Improve visual design B C Phase 1: Research Phase 2: Design Collecting useful data. Doing informed decisions. Audit colors and typography Audit icons Audit components & prioritize them by their value ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ Define clear styleguide (colors, typography) Define basic icon set Create common components

Slide 58

Slide 58

Existing C Phase 2: Design Doing informed decisions. Define clear styleguide (colors, typography) Define basic icon set Create common components Existing Colors defined in

Slide 59

Slide 59

Icons from main flow C Phase 2: Design Doing informed decisions. Define clear styleguide (colors, typography) Define basic icon set Create common components

Slide 60

Slide 60

Buttons from main flow C Phase 2: Design Doing informed decisions. Define clear styleguide (colors, typography) Buttons from mobile applications Define basic icon set Create common components

Slide 61

Slide 61

Improve visual design B Phase 1: Research Collecting useful data. Audit colors and typography Audit icons Audit components & prioritize them by their value C Phase 2: Design Doing informed decisions. ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ Define clear styleguide (colors, typography) Define basic icon set Create common components ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ Done?

Slide 62

Slide 62

Improve visual design B Phase 1: Research Collecting useful data. Audit colors and typography Audit icons Audit components & prioritize them by their value C Phase 2: Design Doing informed decisions. ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ Define clear styleguide (colors, typography) Define basic icon set Create common components ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ E Phase 3: Validate by expert review

Slide 63

Slide 63

E Phase 3: Validate by expert review โ€žYou decide if itโ€™s enough.โ€œ If not? Iterate, improve, let them check again.

Slide 64

Slide 64

Improve visual design B Phase 1: Research Collecting useful data. Audit colors and typography Audit icons Audit components & prioritize them by their value C Phase 2: Design Doing informed decisions. ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ Define clear styleguide (colors, typography) Define basic icon set Create common components ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ E Phase 3: Validate by expert review ๐ŸŽ‰

Slide 65

Slide 65

๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ ๐ŸŽ‰ ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘ So now itโ€™s done! Is it, though?

Slide 66

Slide 66

I didnโ€™t know we have UI kit. Remember this? Hint: it โ€˜s from our research! 8 Oh, we have some buttons already? ๐Ÿคท

Slide 67

Slide 67

Continuous effort To raise awareness. Over-communication is a key to success. ๐Ÿ— E

Slide 68

Slide 68

E Continuous effort To raise awareness. @HonzaTmn

Slide 69

Slide 69

E Continuous effort To raise awareness. @HonzaTmn

Slide 70

Slide 70

E Continuous effort To raise awareness. @HonzaTmn

Slide 71

Slide 71

E Continuous effort To raise awareness. @HonzaTmn

Slide 72

Slide 72

A lot of small changes. As much as you can. @HonzaTmn

Slide 73

Slide 73

Giving people control. Always. @HonzaTmn

Slide 74

Slide 74

Silent weekly updates To management, PMs, devsโ€ฆ @HonzaTmn

Slide 75

Slide 75

๐Ÿคœ๐Ÿค› Itโ€™s all about gaining trust.

Slide 76

Slide 76

Check our roadmap ๐ŸŽฏ

Slide 77

Slide 77

Synchronize components between design tools and code Improve communication between designers and devs Improve visual design Prepare our products for rapid change Prepare documentation for designers and developers Make onboarding easier Synchronize design and behavior across mobile and desktop Improve accessibility Prepare guidelines for our whitelabels & partners Make easy to contribute to other projects Improve consistency of our microcopy Match our marketing campaigns with product visual

Slide 78

Slide 78

Synchronize components between design tools and code Improve communication between designers and devs Improve visual design Prepare our products for rapid change Prepare documentation for designers and developers Make onboarding easier Synchronize design and behavior across mobile and desktop Improve accessibility Prepare guidelines for our whitelabels & partners Make easy to contribute to other projects Improve consistency of our microcopy Match our marketing campaigns with product visual

Slide 79

Slide 79

Synchronize components between design tools and code Improve communication between designers and devs Improve visual design Prepare our products for rapid change Prepare documentation for designers and developers Make onboarding easier Synchronize design and behavior across mobile and desktop Improve accessibility Prepare guidelines for our whitelabels & partners Make easy to contribute to other projects ๐Ÿ‘ Improve consistency of our microcopy ๐Ÿ‘ Support from devs Match our marketing campaigns with product visual They just hate coding something repeatedly. ๐Ÿ‘ ๐Ÿ‘

Slide 80

Slide 80

Synchronize components between design tools and code Improve communication between designers and devs Improve visual design Prepare our products for rapid change Prepare documentation for designers and developers Make onboarding easier Synchronize design and behavior across mobile and desktop Improve accessibility Prepare guidelines for our whitelabels & partners Make easy to contribute to other projects ๐Ÿ‘ Improve consistency of our microcopy ๐Ÿ‘ Support from devs Match our marketing campaigns with product visual They just hate coding something repeatedly. ๐Ÿ‘ ๐Ÿ‘

Slide 81

Slide 81

Synchronize components between design tools and code Improve communication between designers and devs Improve visual design Prepare our products for rapid change Prepare documentation for designers and developers Make onboarding easier Synchronize design and behavior across mobile and desktop Improve accessibility Prepare guidelines for our whitelabels & partners Make easy to contribute to other projects Improve consistency of our microcopy Match our marketing campaigns with product visual

Slide 82

Slide 82

โ€œNothing is invented and perfected at the same time.โ€œ - John Ray

Slide 83

Slide 83

Benefits of this approach

Slide 84

Slide 84

๐Ÿฅณ Delivering small parts that matter ๐Ÿงž

Slide 85

Slide 85

๐Ÿ‘ Delivering small parts that matter Continuous proof of value ๐Ÿ‘ ๐Ÿ‘ ๐Ÿ‘

Slide 86

Slide 86

Delivering small parts that matter Continuous proof of value Getting frequent feedback ๐Ÿ™‹ L

Slide 87

Slide 87

๐Ÿš€ Delivering small parts that matter Continuous proof of value Getting frequent feedback Increasing awareness N ๐Ÿ“ฃ

Slide 88

Slide 88

Change wonโ€™t happen overnight๐Ÿฆ‹ ๐Ÿ› Be persistent. Be transparent. Be there for them.

Slide 89

Slide 89

)๐Ÿคน Thank you. ๐Ÿฆ Reach out to me on Twitter: @HonzaTmn https://joind.in/talk/9d110