designing at scale: creating a global user experience

79
@jamesf3rguson Designing at Scale Creating a global user experience

Upload: james-ferguson

Post on 14-Apr-2017

958 views

Category:

Design


0 download

TRANSCRIPT

Page 1: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Designing at ScaleCreating a global user experience

Page 2: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m James and I’m a Designer + Maker with 12+ years experience in:

Page 3: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m James and I’m a Designer + Maker with 12+ years experience in:• product strategy

Page 4: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m James and I’m a Designer + Maker with 12+ years experience in:• product strategy• multi-device responsive and adaptive design

Page 5: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m James and I’m a Designer + Maker with 12+ years experience in:• product strategy• multi-device responsive and adaptive design• building and leading global design teams

Page 6: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m from Edinburgh!

Page 7: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m from Edinburgh!• Birthplace and home to inventor, Alexander Graham Bell

Page 8: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m from Edinburgh!• Birthplace and home to inventor, Alexander Graham Bell• Hosts festivals attracting visitors from all over the world

Page 9: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

I’m from Edinburgh!• Birthplace and home to inventor, Alexander Graham Bell• Hosts festivals attracting visitors from all over the world• And if enjoying a wee dram isn’t your thing, we even

make our own Edinburgh Gin!

Page 10: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 11: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 12: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

The world’s travel search engine

Page 13: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

The world’s travel search engine

Page 14: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Founded 2003, grown to 700+ employees with 9 global offices

Page 15: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

40m+ unique monthly

visitors

Founded 2003, grown to 700+ employees with 9 global offices

Page 16: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

40m+ unique monthly

visitors35m+

app downloads

Founded 2003, grown to 700+ employees with 9 global offices

Page 17: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

40m+ unique monthly

visitors35m+

app downloads

Founded 2003, grown to 700+ employees with 9 global offices

£93m 2014 revenue

Page 18: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

But let’s first rewind a year…

Page 19: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

think “boxes and arrows”

ux team

Page 20: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

think “colouring in”

graphic team

Page 21: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

who were time bound and decided to ‘simplify it a little’

engineering

Page 22: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

No one was happy.

Page 23: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

No one was happy.Let alone the user!

Page 24: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

But then, things changed.

Page 25: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

The entire organisation was re-structured.

Page 26: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

lean agile continuous delivery theory of constraints manufacturing

Page 27: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Designer Engineers Tester Product Owner

We created small ‘start-up’-esque, cross-functional teams, comprising of no more than 8 people.

Page 28: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

These teams, ‘squads’ are responsible for a specific part of the Skyscanner product.

They

Page 29: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

These teams, ‘squads’ are responsible for a specific part of the Skyscanner product.

They• have an enduring mission

Page 30: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

These teams, ‘squads’ are responsible for a specific part of the Skyscanner product.

They• have an enduring mission• have a product owner to prioritise work

Page 31: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

These teams, ‘squads’ are responsible for a specific part of the Skyscanner product.

They• have an enduring mission• have a product owner to prioritise work• own their codebase and choose their own technology

Page 32: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

These teams, ‘squads’ are responsible for a specific part of the Skyscanner product.

They• have an enduring mission• have a product owner to prioritise work• own their codebase and choose their own technology• establish & improve their own processes

Page 33: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

These teams, ‘squads’ are responsible for a specific part of the Skyscanner product.

They• have an enduring mission• have a product owner to prioritise work• own their codebase and choose their own technology• establish & improve their own processes

Page 34: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

So what does this all mean for design?

Page 35: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

We no longer sit with other designers. Instead we sit with engineers and other team mates.

Page 36: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

We no longer divide ux + graphic design. Instead we look for T-shaped designers.

Page 37: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

We experiment. Almost every thing we do, we measure to validate our learning.

Page 38: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

We iterate. Early and often.

Page 39: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

No more Photoshop. Well, less.

Page 40: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

We’ve come to learn that tools like Git, SASS, and Grunt are not just for developers.

Page 41: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

And even Terminal can be your friend. Honest :)

Page 42: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

So what challenges have we faced?

Page 43: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Syncing as a team of designers can be tricky.

Page 44: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 45: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 46: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 47: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 48: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 49: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 50: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 51: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 52: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 53: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 54: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Recommended Reading

Tools

Our Work

Conferences

Inspiration

Page 55: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Recommended Reading

Tools

Our Work

Conferences

InspirationVirtual

stand-up

Page 56: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Consistency at Scale

Page 57: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

The great green button debate

Page 58: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

The great green button debate

Page 59: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Select menus

Close buttons

Calendar icons Filters

Page 60: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Some questionable and then some almost identical colours have

infiltrated out site

#B2E57F

#FFA500#FF0027#F6A1B3

#E7E7E8

#4191D3

#6ACA26

#8265D9

#ED5173

#9CE708

#4C4C4C

#3B404D

#FFD726

#FA8A19

#FF5C4D

#B03743

#00BF96

#008075

#86DD41

#FFC506

#D0021B

#0084FF

#C9C9CE

#000000

#71A220

#C6DAA6

#F5F5F5

#AAE702

#FA7F19

#D00620

#B0B0B0

#17C0E9

#21D7EE

#00BBCC

#02BBC4

#1BA8BC

#006982

#21C4D9

#0094B8

#5BE2ED

#29A8BB

#9EE8ED

#C2EAEC

#1394B5

#E1A70A

#FAC25F

#E8B401

#C7D834

#AAE700

#34363D

#4D5059

#FAF3B0

Page 61: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

So how are we fixing it?We’re using some of our new skills and tools mentioned earlier…

Page 62: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Common styles service

Search form

Date Picker Filters

Search results

Summary bar

Booking panel

Page 63: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

CSS SASS Less

Stylus

Formats RGBA HEX

Units PX, EM, REM,

PT, SP, DIP

Base Colours

Typography Spacing

Icons Animations

etc.

Asset management

Icons Fonts

Graphics etc.

UI guidelines

Elements Forms

Buttons Surfaces

etc.

Specifies Stores Generates

Page 64: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Common styles service

Search form

Date Picker Filters

Search results

Summary bar

Booking panel

Page 65: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Common styles service

Search form

Date Picker Filters

Search results

Summary bar

Booking panel

SASS

LESS

Stylus

CSS

LESS

SASS

Page 66: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Common styles service

Search form

Date Picker Filters

Search results

Summary bar

Booking panel

SASS

LESS

Stylus

CSS

LESS

SASS

Backbone

AngularBackbone

Angular

Page 67: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Common styles service

Search form

Date Picker Filters

Search results

Summary bar

Booking panel

SASS

LESS

Stylus

CSS

LESS

SASS

Backbone

AngularBackbone

Angular

lodash

jQueryCoffeeScript

JavaScript

Handlebars

Polymer

Page 68: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

SASS LESS

Stylus Vanilla CSS

HTML JS (with jQuery)

SASS

CoffeeScript + jQuery

Luckily, the output always boils down to:

Page 69: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Page 70: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Want to change something?

Page 71: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Want to change something?•Clone a copy of the repo

Page 72: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Want to change something?•Clone a copy of the repo•Make the change

Page 73: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Want to change something?•Clone a copy of the repo•Make the change•Submit a merge request.

Page 74: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

What are the benefits?

Page 75: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Highly collaborative.

Page 76: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Everyone owns the product.

Page 77: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

We iterate often.

Page 78: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

Ultimately, One single source of truth for design

Page 79: Designing at Scale: Creating a Global User Experience

@jamesf3rguson

@jamesf3rguson