Upload
justina-logan
View
222
Download
0
Embed Size (px)
Citation preview
enabling lean with techlessons learned applying lean at paypal
enabling lean with techlessons learned applying lean at paypal
bill scott (@billwscott)sr. director, user interface engineering, paypal
Lean Startup in the Enterprise. The Lean Startup Conference with Jeff Gothelf.Dec. 4, 2012. San Francisco, CA
bill scott (@billwscott)sr. director, user interface engineering, paypal
Lean Startup in the Enterprise. The Lean Startup Conference with Jeff Gothelf.Dec. 4, 2012. San Francisco, CA
at Netflix 90% or more of the “ui bits” were thrown away every year.doesn’t take too many tests to result in lots of throw away code.
followed buid/test/learn
designed for volatility
new dna @paypalnew dna @paypalmarch 2012
david Marcus becomes president of PayPal
april 2012
we form lean startup team to reinvent checkout experience
march 2012
david Marcus becomes president of PayPal
april 2012
we form lean startup team to reinvent checkout experience
in the midst of transformationin the midst of transformation
tangled up technology
tangled up technologybig problem. technology and processes not geared to build/test/learn.
big problem. technology and processes not geared to build/test/learn.
a tale of two stacksa tale of two stacks
two non-standard stacks
new stack tied to Java
“one word” change could take 6 weeks to fix
two non-standard stacks
new stack tied to Java
“one word” change could take 6 weeks to fix
long long releasreleas
e e cyclescycles
c++c++ javajava
xmlxml jspjsp
non-non-standard standard
UIUI
non-non-standard standard
UIUI
oldold newnew
leave the old behindleave the old behind
we can rule out the old stackwe can rule out the old stack
c++c++ javajava
xmlxml jspjsp
non-non-standard standard
UIUI
non-non-standard standard
UIUIXoldold newnew
need to design for volatilityneed to design for volatility
but still the new stack is not conducive to prototyping
follows an “enterprise application” model. ui gets built into the “app”
but still the new stack is not conducive to prototyping
follows an “enterprise application” model. ui gets built into the “app”
javajava
jspjsp
non-non-standard standard
UIUI
prototyping
is hard“ui bits”
could only live
here
1. set the ui bits free1. set the ui bits free
separate the ui bitsseparate the ui bits
engineered the user interface stack so that the only artifacts are:
• javascript• css• images
engineered the user interface stack so that the only artifacts are:
• javascript• css• images
code = JScode = JStemplates = JStemplates = JS style = CSSstyle = CSS imagesimages
separate the ui bitsseparate the ui bits
templates get converted to javascript
<p>Hello {name}</p>
we use dust.js
templates get converted to javascript
<p>Hello {name}</p>
we use dust.js
code = JScode = JStemplates = JStemplates = JS style = CSSstyle = CSS imagesimages
JavaScriptJavaScript
separate the ui bitsseparate the ui bits
language independent
server/client agnostic
CDN ready
cacheable
rapid to create
language independent
server/client agnostic
CDN ready
cacheable
rapid to create
code = JScode = JStemplates = JStemplates = JS style = CSSstyle = CSS imagesimages
make the ui bits portablemake the ui bits portable
JS templating can be run in client browser or server on the production stack
we can drag & drop the ui bits from prototyping stack to the production stack
JS templating can be run in client browser or server on the production stack
we can drag & drop the ui bits from prototyping stack to the production stack
javajavanode.jsnode.js
open source open source JS templateJS template
open source open source JS templateJS template
open source open source JS templateJS template
prototypeprototypestackstack
productionproductionstackstack
free to work togetherfree to work together
whiteboardto code code to usability
product/design team
user interfaceengineers
usability/customers
co-located lean ux team
node.jsnode.js
code = JScode = JStemplates = JStemplates = JS style = CSSstyle = CSS imagesimages
free to turn sketch to codefree to turn sketch to codeforcing function. it brings about a close collaboration between engineering and designit creates a bridge for shared understanding
requires a lot of confidence and transparency
forcing function. it brings about a close collaboration between engineering and designit creates a bridge for shared understanding
requires a lot of confidence and transparency
free to test frequently with usersfree to test frequently with users
free to iterate independent of agilefree to iterate independent of agile
user interface engineering - agile scrum teamuser interface engineering - agile scrum team
lean ux - lean team tracklean ux - lean team track
engineering - agile scrum teamengineering - agile scrum teamsprint 0sprint 0
usabilityusability usabilityusability usabilityusability usabilityusability usabilityusability
releaserelease releaserelease releaserelease releaserelease
{{agileagile
2. embrace open source2. embrace open source
use open source religiouslyuse open source religiously
work in open source modelwork in open source modelinternal github revolutionized our internal development
rapidly replaced centralized platform teams
innovation democratized
every developer encouraged to experiment and generate repos to share as well as to fork/pull request
internal github revolutionized our internal development
rapidly replaced centralized platform teams
innovation democratized
every developer encouraged to experiment and generate repos to share as well as to fork/pull request
give back to open sourcegive back to open sourcewe have a string of projects that will be open sourcednode bootstrap (similar to yeoman)contributions to bootstrap (for accessibility)contributions to bootstrap (for internationalization)component repository framework for github (similar to bower)and more...
we have a string of projects that will be open sourcednode bootstrap (similar to yeoman)contributions to bootstrap (for accessibility)contributions to bootstrap (for internationalization)component repository framework for github (similar to bower)and more...
1. set the ui bits free
2. embrace open source
1. set the ui bits free
2. embrace open source