In 1999, PayPal's name was synonymous with innovation. In fact, the so called PayPal Mafia (original founders) went on to establish Tesla, SpaceX, YouTube, Skype and other startups. They also provided the early investments of many of the most innovative companies on the internet today. But over time that innovation slowed to a crawl.
In 2011 a number of things begin to come together for PayPal that started its journey back to innovation. This is the story of that reboot and how engineering has played a key role in partnering directly with product and design to move from a culture of products having a long shelf life, to one of rapid experimentation.
In this talk, Bill will outline the principles of Lean Engineering; principles for engineering that enable learning. Drawing from his experience leading User Interface Engineering at both Netflix & PayPal, Bill will walk you through the key principles your engineering team will need to adopt to be that enabler for product and design in your organization. This talk will not just inspire you, but it will also give you some hard earned advice on making this a reality in your organization.
Lean Engineering: How to make Engineering a full Lean UX partner
1. @billwscott
VP Engineering
Retail | Merchant | Payments
!
PayPal
Web Directions South
30 Oct 2014
lean engineering
how to make engineering a full lean UX partner
2. netflix view of customer
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
3. 2011
paypal vs netflix
contrast this with a large enterprise like paypal in
4.
5. In 2011, even a simple
content copy change
could take as much as
4-6 weeks to get live to
site
6. paypal way of engineering & design (in 2011)
roll your own. disconnected delivery
experience. culture of long shelf life.
inward focus. risk averse.
10. new dna inserted
jan 2012
fleshed out ui layer that could support rapid
experimentation.
march 2012
david Marcus became president of PayPal. set a
new charter for innovation.
april 2012
formed lean ux team to reinvent checkout
experience.
30. 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
31. 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”
32. enable prototyping in the engineering stack
because 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”
33. enable prototyping in the engineering stack
because 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
34. stack circa 2011/early 2012
simple change could take minutes
to see
follows an “enterprise application”
model. ui gets built into the “app”
restricted
capabilities*
server side
components**
jsp***
java
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
client
server
35. we blended prototype & production
we enabled the “ui bits” to be
portable between the prototyping
{dust}
JS template
{dust}
JS template
node.js java (rhino js eng) stack and the production stack
prototype
stack
production
stack
either stack
36. new single stack: prototype & production
{dust}
JS template
java (rhino js eng)
production
stack
{dust}
JS template
node.js
prototype
stack
the final step is we made the
prototype stack and production
stack the same technology
throughout the application stack
37. new single stack: prototype & production
{dust}
JS template
node.js
java (rhino eng)
prototype
stack
production
stack
the final step is we made the
prototype stack and production
stack the same technology
throughout the application stack
39. the netflix way
16 different test cells in the initial PS3 Launch (2010)
focus is on experimentation
!
40. the netflix way
16 different test cells in the initial PS3 Launch (2010)
focus is on experimentation
!
four distinct PS3 experiences launched on same day
42. 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
43. 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
44. html5 enabled netflix’s experimentation model
netflix gambled on html5 for mobile (iOS,
android) and for game consoles, bluray players,
hdtvs, etc.
why? build/measure/learn. network delivery.
new users will see your html5 experience
the onramp to onboarding is the lowly link
network delivery makes a/b testing
straightforward
45. experiences must adapt
All buildings are predictions.
All predictions are wrong.
There's no escape from this grim
syllogism, but it can be softened.
Stewart Brand
Our software is always tearing itself apart
(or should be)
Recognize that different layers change at
different velocities
46. enable lots of little bets
the big bet. ramping model results in
one experience (with some tweaks
along the way) after a long ramp up
time
vs
lots of little bets. experimentation
model results in many experiences
being tested all along the way
51. democratize the code base
starting 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
52. work in open source model
internal 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
55. 4. give agile a brain
credit: Krystal Higgins
http://bit.ly/18uP7N1
56. agile is just a machine
it 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
57. agile is just a machine
it 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
58. lean ux: enable a brain for agile
version 1.0
usability usability usability usability usability
lean ux - lean team track (prototyping)
user interface engineering - agile scrum team (production)
engineering sprint 0 - agile scrum team
release release release release
agile {
59. lean ux: enable a brain for agile
usability usability usability usability usability
lean ux - lean team track (prototyping)
user interface engineering - agile scrum team (production)
engineering sprint 0 - agile scrum team
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
60. how teams get the right mindset
shared
understanding
deep
collaboration
continuous
feedback
61. the mind of the team
does your team
“defend the solution” or
“embrace the problem”?
62. 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
63. picture credits http://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=~ohHUppP9dhMmMG
http://www.flickr.com/photos/matthewpaulson/6176787688/
http://www.flickr.com/photos/olvrbrown/4542851399/
http://www.flickr.com/photos/juanpol/16287486/
http://http://designing www.flickr.com/web photos/interfaces
olvrbrown/4542851399/
http://O’Reilly
www.flickr.com/photos/mbiskoping/6075387388/
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