wds leanengineering-141103233017-conversion-gate02

63
lean engineering how to make engineering a full lean UX partner Web Directions South 30 Oct 2014 @billwscott VP Engineering Retail | Merchant | Payments PayPal

Upload: shivam-prajapati

Post on 31-Jul-2015

24 views

Category:

Science


2 download

TRANSCRIPT

Page 1: Wds leanengineering-141103233017-conversion-gate02

lean engineering how to make engineering a full lean UX partner

Web Directions South 30 Oct 2014

@billwscottVP Engineering Retail | Merchant | Payments !PayPal

Page 2: Wds leanengineering-141103233017-conversion-gate02

continuous customer feedback (GOOB)

customer metrics drive everything

think it. build it. ship it. tweak it

fail fast. learn fast.

lots of experimentation... build/measure/learn

designing & engineering for experimentation

netflix view of customer

Page 3: Wds leanengineering-141103233017-conversion-gate02

paypal vs netflix contrast this with a large enterprise like paypal in

2011

Page 4: Wds leanengineering-141103233017-conversion-gate02
Page 5: Wds leanengineering-141103233017-conversion-gate02

In 2011, even a simple content copy change could take as much as 4-6 weeks to get live to site

Page 6: Wds leanengineering-141103233017-conversion-gate02

paypal way of engineering & design (in 2011)

roll your own. disconnected delivery experience. culture of long shelf life.

inward focus. risk averse.

Page 7: Wds leanengineering-141103233017-conversion-gate02

change is hard

Page 8: Wds leanengineering-141103233017-conversion-gate02

organizations contain anti-bodies that resist change

Page 9: Wds leanengineering-141103233017-conversion-gate02

behavior is deep seated and reinforced

Page 10: Wds leanengineering-141103233017-conversion-gate02

new dna insertedjan 2012fleshed out ui layer that could support rapid experimentation.

march 2012 david Marcus became president of PayPal. set a new charter for innovation.

april 2012formed lean ux team to reinvent checkout experience.

Page 11: Wds leanengineering-141103233017-conversion-gate02

reinvent checkout project lean ux/engineering in action

Page 12: Wds leanengineering-141103233017-conversion-gate02

reinvent checkout project lean ux/engineering in action

from whiteboard to code

Page 13: Wds leanengineering-141103233017-conversion-gate02

reinvent checkout project lean ux/engineering in action

from whiteboard to code from code to usability

Page 14: Wds leanengineering-141103233017-conversion-gate02

reinvent checkout project lean ux/engineering in action

from whiteboard to code from code to usabilitylearnings

Page 15: Wds leanengineering-141103233017-conversion-gate02

reinvent checkout project lean ux/engineering in action

from whiteboard to code from code to usabilitylearningsstart again

Page 16: Wds leanengineering-141103233017-conversion-gate02

before

Page 17: Wds leanengineering-141103233017-conversion-gate02

after

Page 18: Wds leanengineering-141103233017-conversion-gate02
Page 19: Wds leanengineering-141103233017-conversion-gate02
Page 20: Wds leanengineering-141103233017-conversion-gate02
Page 21: Wds leanengineering-141103233017-conversion-gate02
Page 22: Wds leanengineering-141103233017-conversion-gate02
Page 23: Wds leanengineering-141103233017-conversion-gate02
Page 24: Wds leanengineering-141103233017-conversion-gate02
Page 25: Wds leanengineering-141103233017-conversion-gate02

change has started working its way out

Page 26: Wds leanengineering-141103233017-conversion-gate02

LEAN ENGINEERING

enabling build/measure/learn

Page 27: Wds leanengineering-141103233017-conversion-gate02

LEAN ENGINEERING

enabling build/measure/learn

four principles

Page 28: Wds leanengineering-141103233017-conversion-gate02

1. enable learning

Page 29: Wds leanengineering-141103233017-conversion-gate02

most organizations biggest challenge is moving from a culture of delivery to a culture of learning

Page 30: Wds leanengineering-141103233017-conversion-gate02

enable continuous delivery

engineering has to make delivery a non-event

otherwise: delivery dates drive the experience feature-itus becomes prevalent BDUF & waterfall prevail little to no learning

Page 31: Wds leanengineering-141103233017-conversion-gate02

a tale of two trains

departs infrequently

“gotta get my features on this train or I will have to wait a long time”

departs all the time

“if I miss this train another one comes in a few minutes”

Page 32: Wds leanengineering-141103233017-conversion-gate02

enable prototyping in the engineering stackbecause engineering teams are not trying to solve the learning problem, they see prototyping as outside the engineering discipline !

this is a real engineering challenge

engineer for the “living spec”

Page 33: Wds leanengineering-141103233017-conversion-gate02

enable prototyping in the engineering stackbecause engineering teams are not trying to solve the learning problem, they see prototyping as outside the engineering discipline !

this is a real engineering challenge

engineer for the “living spec”make prototyping a first

class member of tech stack

Page 34: Wds leanengineering-141103233017-conversion-gate02

stack circa 2011/early 2012

simple change could take minutes to see

follows an “enterprise application” model. ui gets built into the “app”

java

jsp***

restricted capabilities*

prototyping was hard

“ui bits” could only live here

* assumed client developers were low-skill* required server side java eng for simple client changes ** java server pages. server-side java templating solution

server side components**

client

server

Page 35: Wds leanengineering-141103233017-conversion-gate02

we blended prototype & production

we enabled the “ui bits” to be portable between the prototyping stack and the production stack java (rhino js eng)node.js

{dust} JS template

prototype stack

production stack

{dust} JS template

either stack

Page 36: Wds leanengineering-141103233017-conversion-gate02

java (rhino js eng)

production stack

{dust} JS template

new single stack: prototype & production

node.js

{dust} JS template

prototype stack

the final step is we made the prototype stack and production stack the same technology throughout the application stack

Page 37: Wds leanengineering-141103233017-conversion-gate02

java (rhino js eng)

production stack

{dust} JS template

new single stack: prototype & production

node.js

{dust} JS template

prototype stack

the final step is we made the prototype stack and production stack the same technology throughout the application stack

Page 38: Wds leanengineering-141103233017-conversion-gate02

2. design for experimentation

Page 39: Wds leanengineering-141103233017-conversion-gate02

16 different test cells in the initial PS3 Launch (2010)

focus is on experimentation

!

the netflix way

Page 40: Wds leanengineering-141103233017-conversion-gate02

16 different test cells in the initial PS3 Launch (2010)

focus is on experimentation

!

four distinct PS3 experiences launched on same day

the netflix way

Page 41: Wds leanengineering-141103233017-conversion-gate02

the epiphany

Page 42: Wds leanengineering-141103233017-conversion-gate02

you have to engineer for volatility

change is the norm

experimentation is not a one time event

launching a product is giving birth to the product. the product’s life just begins.

!

design for throwaway-ability

majority of the experience code

written was thrown away in a year

Page 43: Wds leanengineering-141103233017-conversion-gate02

you have to engineer for volatility

change is the norm

experimentation is not a one time event

launching a product is giving birth to the product. the product’s life just begins.

!

design for throwaway-ability

majority of the experience code

written was thrown away in a year

the ui layer is the

experimentation layer

Page 44: Wds leanengineering-141103233017-conversion-gate02

html5 enabled netflix’s experimentation model

new users will see your html5 experience

the onramp to onboarding is the lowly link

network delivery makes a/b testing straightforward

netflix gambled on html5 for mobile (iOS, android) and for game consoles, bluray players, hdtvs, etc.

why? build/measure/learn. network delivery.

Page 45: Wds leanengineering-141103233017-conversion-gate02

experiences must adapt

Our software is always tearing itself apart (or should be)

Recognize that different layers change at different velocities

All buildings are predictions. All predictions are wrong.

There's no escape from this grim syllogism, but it can be softened.

Stewart Brand

Page 46: Wds leanengineering-141103233017-conversion-gate02

enable lots of little betsthe big bet. ramping model results in one experience (with some tweaks along the way) after a long ramp up time

lots of little bets. experimentation model results in many experiences being tested all along the way

vs

Page 47: Wds leanengineering-141103233017-conversion-gate02

3. democratize innovation

Page 48: Wds leanengineering-141103233017-conversion-gate02

two pizza team?

Page 49: Wds leanengineering-141103233017-conversion-gate02

two pizza team?

Page 50: Wds leanengineering-141103233017-conversion-gate02

keep teams small

Page 51: Wds leanengineering-141103233017-conversion-gate02

democratize the code basestarting to use git repo model for continuous deployment

marketing pages product pages content updates & triggers into i18n, l10n, adaptation components

works well with cloud deployment (devops model)

enables the train to be leaving all the time

Page 52: Wds leanengineering-141103233017-conversion-gate02

work in open source modelinternal github revolutionizing our internal development

rapidly replacing centralized platform teams

innovation democratized

every developer encouraged to experiment and generate repos to share as well as to fork/pull request

Page 53: Wds leanengineering-141103233017-conversion-gate02
Page 54: Wds leanengineering-141103233017-conversion-gate02

use open source religiously

nconf

async

q

supertest

Page 55: Wds leanengineering-141103233017-conversion-gate02

4. give agile a brain

credit: Krystal Higgins http://bit.ly/18uP7N1

Page 56: Wds leanengineering-141103233017-conversion-gate02

agile is just a machineit will crank ‘stuff’ out

it can be good or bad stuff

please don’t waste the machine

have a tight loop with our users

iterate to get experience “in the ballpark”

make it easy to iterate designs ahead of agile sprints

Page 57: Wds leanengineering-141103233017-conversion-gate02

agile is just a machineit will crank ‘stuff’ out

it can be good or bad stuff

please don’t waste the machine

have a tight loop with our users

iterate to get experience “in the ballpark”

make it easy to iterate designs ahead of agile sprints

the “brain” is our user

Page 58: Wds leanengineering-141103233017-conversion-gate02

lean ux: enable a brain for agile

user interface engineering - agile scrum team (production)

lean ux - lean team track (prototyping)

engineering - agile scrum teamsprint 0

usability usability usability usability usability

release release release release

{agile

version 1.0

Page 59: Wds leanengineering-141103233017-conversion-gate02

lean ux: enable a brain for agile

user interface engineering - agile scrum team (production)

lean ux - lean team track (prototyping)

engineering - agile scrum teamsprint 0

usability usability usability usability usability

release release release release

{agile

stories, user interface code come over from the leanux stream!n+2 is more feasible because it actually bootstraps the agile stream

version 1.0

Page 60: Wds leanengineering-141103233017-conversion-gate02

shared understanding

deep collaboration

continuous feedback

how teams get the right mindset

Page 61: Wds leanengineering-141103233017-conversion-gate02

the mind of the team

does your team “defend the solution” or “embrace the problem”?

Page 62: Wds leanengineering-141103233017-conversion-gate02

rethink engineering in the light of lean

1. enable learning 2. design for experimentation 3. democratize engineering 4. give agile a brain

LEAN ENGINEERING

!

!

Engineering for build/measure/learn

Page 63: Wds leanengineering-141103233017-conversion-gate02

designing web interfacesO’Reilly

picture creditshttp://www.flickr.com/photos/decade_null/2053134780/http://www.flickr.com/photos/not_wise/182849352/http://www.flickr.com/photos/37217398@N02/3442676067/http://www.flickr.com/photos/hongiiv/4151964823/Photo by Kim White: http://readwrite.com/2013/09/05/paypal-app-update-in-store-payments#awesm=~ohHUppP9dhMmMGhttp://www.flickr.com/photos/matthewpaulson/6176787688/http://www.flickr.com/photos/olvrbrown/4542851399/http://www.flickr.com/photos/juanpol/16287486/http://www.flickr.com/photos/olvrbrown/4542851399/http://www.flickr.com/photos/mbiskoping/6075387388/http://www.flickr.com/photos/giesenbauer/4092794246/http://www.flickr.com/photos/kowani/5565778790/http://www.flickr.com/photos/ahockley/2657296577/http://www.flickr.com/photos/90585146@N08/8222922317/http://www.flickr.com/photos/therevsteve/3104267109/Stewart Brand: How Buildings Learn (illustrations)http://www.flickr.com/photos/light_seeker/7444052000/Krystal Higgins: http://www.kryshiggins.com/sketchnotes-of-bringing-design-to-life-with-lean-ux-lean-engineering/http://www.flickr.com/photos/epsos/8463683689/http://www.flickr.com/photos/proimos/3473264448/http://www.flickr.com/photos/janed42/5033842895/sizes/z/http://www.flickr.com/photos/9619972@N08/1350940605/http://www.flickr.com/photos/alanenglish/483251259/sizes/z/http://www.flickr.com/photos/stuckincustoms/2380543038/ !

follow me on twitter @billwscott