SlideShare a Scribd company logo
1 of 23
Download to read offline
enabling lean with tech
lessons 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
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
@paypal
march 2012
david Marcus becomes
president of PayPal


april 2012
we form lean startup team to
reinvent checkout experience
in the midst of transformation
tangled up
technology
big problem. technology and
processes not geared to
build/test/learn.
a tale of two stacks
    non-                         long
                  non-         release
 standard UI   standard UI      cycles



                             two non-standard
    xml            jsp
                             stacks

    c++           java       new stack tied to Java

                             “one word” change
     old          new        could take 6 weeks to
                             fix
leave the old behind



 X
    non-          non-
 standard UI   standard UI

                             we can rule out the old
    xml            jsp
                             stack

    c++           java

     old          new
need to design for volatility
prototyping        non-
                standard UI
     is hard
                              but still the new stack is
    “ui bits”       jsp
                              not conducive to
 could only                   prototyping
   live here       java
                              follows an “enterprise
                              application” model. ui
                              gets built into the “app”
1. set the ui bits free
separate the ui bits
  templates = JS   code = JS   style = CSS       images




                               engineered the user
                               interface stack so that
                               the only artifacts are:
                                •   javascript
                                •   css
                                •   images
separate the ui bits
  templates = JS   code = JS    style = CSS          images




                               templates get converted
                               to javascript
                               <p>Hello {name}</p>


                                 JavaScript




                               we use dust.js
separate the ui bits
  templates = JS   code = JS   style = CSS       images




                               language independent

                               server/client agnostic

                               CDN ready

                               cacheable

                               rapid to create
make the ui bits portable
  open source    open source
  JS template    JS template



                 open source   JS templating can be
                 JS template   run in client browser or
                               server on the production
   node.js         java        stack

                               we can drag & drop the
  prototype     production
                               ui bits from prototyping
    stack          stack
                               stack to the production
                               stack
free to work together
co-located lean ux team




                 whiteboard
                  to code                      code to usability


product/design                user interface                       usability/customers
team                          engineers
free to work together
co-located lean ux team




                    whiteboard
                     to code                           code to usability


product/design                   user interface                              usability/customers
team                             engineers


   templates = JS       code = JS            style = CSS                   images



                                    node.js
free to turn sketch to code
forcing function.
 it brings about a close collaboration between engineering
 and design
 it creates a bridge for shared understanding


requires a lot of confidence and transparency
free to test frequently with users
free to iterate independent of agile

        usability         usability      usability         usability               usabili


 lean ux - lean team track




         {
                    user interface engineering - agile scrum team

agile

                    sprint 0   engineering - agile scrum team


                               release           release               release   release
2. embrace open source
use open source religiously
work in open source model
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 source
we have a string of projects that will be open sourced
 node 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

More Related Content

What's hot

10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition
Caleb Jenkins
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
Elizabeth Quinn-Woods
 
Testing and beyond at startups
Testing and beyond at startupsTesting and beyond at startups
Testing and beyond at startups
Mona Soni
 

What's hot (20)

Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)
 
10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition10 Reasons Your Software Sucks - Election 2012 Edition
10 Reasons Your Software Sucks - Election 2012 Edition
 
Intelli j idea-report
Intelli j idea-reportIntelli j idea-report
Intelli j idea-report
 
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
 
Effective prototyping
Effective prototypingEffective prototyping
Effective prototyping
 
Effective prototyping (for Vermont Code Camp)
Effective prototyping (for Vermont Code Camp)Effective prototyping (for Vermont Code Camp)
Effective prototyping (for Vermont Code Camp)
 
Scaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the EnterpriseScaling Scrum with UX in the Enterprise
Scaling Scrum with UX in the Enterprise
 
JDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile TeamsJDD Effective Code Review In Agile Teams
JDD Effective Code Review In Agile Teams
 
01-a-Intro-BetterDev
01-a-Intro-BetterDev01-a-Intro-BetterDev
01-a-Intro-BetterDev
 
Explicit architecture
Explicit architectureExplicit architecture
Explicit architecture
 
Efficient Code Organisation
Efficient Code OrganisationEfficient Code Organisation
Efficient Code Organisation
 
Coding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever ChangedCoding With JRebel - Java Forever Changed
Coding With JRebel - Java Forever Changed
 
Testing and beyond at startups
Testing and beyond at startupsTesting and beyond at startups
Testing and beyond at startups
 
Courageous Design
Courageous DesignCourageous Design
Courageous Design
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous delivery
 
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
 
StudyManiaPresentation.pdf
StudyManiaPresentation.pdfStudyManiaPresentation.pdf
StudyManiaPresentation.pdf
 
Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics Short Introduction of software engineering for bioinformatics
Short Introduction of software engineering for bioinformatics
 

Similar to Enabling Lean with Tech: lessons learned applying lean at paypal

Busy developer-html5-javaee7
Busy developer-html5-javaee7Busy developer-html5-javaee7
Busy developer-html5-javaee7
Geertjan Wielenga
 

Similar to Enabling Lean with Tech: lessons learned applying lean at paypal (20)

Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptx
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdf
 
Busy developer-html5-javaee7
Busy developer-html5-javaee7Busy developer-html5-javaee7
Busy developer-html5-javaee7
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
 
AngularJS - Architecture decisions in a large project 
AngularJS - Architecture decisionsin a large project AngularJS - Architecture decisionsin a large project 
AngularJS - Architecture decisions in a large project 
 
Building assets on the fly with Node.js
Building assets on the fly with Node.jsBuilding assets on the fly with Node.js
Building assets on the fly with Node.js
 
Bhavin_Resume
Bhavin_ResumeBhavin_Resume
Bhavin_Resume
 
Jquery
JqueryJquery
Jquery
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
Visual Studio2010 Product Overview
Visual Studio2010 Product OverviewVisual Studio2010 Product Overview
Visual Studio2010 Product Overview
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem
 
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer WorkspaceWSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
 
Boilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development ProcessBoilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development Process
 

More from Bill Scott

More from Bill Scott (18)

Keeping a Startup Ethos
Keeping a Startup EthosKeeping a Startup Ethos
Keeping a Startup Ethos
 
Bringing Change to Life | YOW 2016 | Melbourne, Brisbane, Sydney - Australia
Bringing Change to Life | YOW 2016 | Melbourne, Brisbane, Sydney - AustraliaBringing Change to Life | YOW 2016 | Melbourne, Brisbane, Sydney - Australia
Bringing Change to Life | YOW 2016 | Melbourne, Brisbane, Sydney - Australia
 
Bringing Change to Life
Bringing Change to LifeBringing Change to Life
Bringing Change to Life
 
Anti-Patterns that Stifle Lean UX Teams
Anti-Patterns that Stifle Lean UX TeamsAnti-Patterns that Stifle Lean UX Teams
Anti-Patterns that Stifle Lean UX Teams
 
Lean UX Anti-Patterns
Lean UX Anti-PatternsLean UX Anti-Patterns
Lean UX Anti-Patterns
 
Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code Camp
 
Designing for Interesting Moments
Designing for Interesting MomentsDesigning for Interesting Moments
Designing for Interesting Moments
 
Bringing Design to Life
Bringing Design to LifeBringing Design to Life
Bringing Design to Life
 
Designing Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly WebcastDesigning Web Interfaces Book - O'Reilly Webcast
Designing Web Interfaces Book - O'Reilly Webcast
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web Interfaces
 
Back To The Future
Back To The FutureBack To The Future
Back To The Future
 
Hacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIsHacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIs
 
Improving Netflix Performance Experience
Improving Netflix Performance ExperienceImproving Netflix Performance Experience
Improving Netflix Performance Experience
 
Design Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web ExperienceDesign Anti Patterns - How to Design a Poor Web Experience
Design Anti Patterns - How to Design a Poor Web Experience
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scripting
 
Ajax 101 Workshop
Ajax 101 WorkshopAjax 101 Workshop
Ajax 101 Workshop
 
Designing For Ajax
Designing For AjaxDesigning For Ajax
Designing For Ajax
 

Recently uploaded

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Enabling Lean with Tech: lessons learned applying lean at paypal

  • 1. enabling lean with tech lessons 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
  • 2. 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
  • 3. new dna @paypal march 2012 david Marcus becomes president of PayPal april 2012 we form lean startup team to reinvent checkout experience
  • 4. in the midst of transformation
  • 5. tangled up technology big problem. technology and processes not geared to build/test/learn.
  • 6. a tale of two stacks non- long non- release standard UI standard UI cycles two non-standard xml jsp stacks c++ java new stack tied to Java “one word” change old new could take 6 weeks to fix
  • 7. leave the old behind X non- non- standard UI standard UI we can rule out the old xml jsp stack c++ java old new
  • 8. need to design for volatility prototyping non- standard UI is hard but still the new stack is “ui bits” jsp not conducive to could only prototyping live here java follows an “enterprise application” model. ui gets built into the “app”
  • 9. 1. set the ui bits free
  • 10. separate the ui bits templates = JS code = JS style = CSS images engineered the user interface stack so that the only artifacts are: • javascript • css • images
  • 11. separate the ui bits templates = JS code = JS style = CSS images templates get converted to javascript <p>Hello {name}</p> JavaScript we use dust.js
  • 12. separate the ui bits templates = JS code = JS style = CSS images language independent server/client agnostic CDN ready cacheable rapid to create
  • 13. make the ui bits portable open source open source JS template JS template open source JS templating can be JS template run in client browser or server on the production node.js java stack we can drag & drop the prototype production ui bits from prototyping stack stack stack to the production stack
  • 14. free to work together co-located lean ux team whiteboard to code code to usability product/design user interface usability/customers team engineers
  • 15. free to work together co-located lean ux team whiteboard to code code to usability product/design user interface usability/customers team engineers templates = JS code = JS style = CSS images node.js
  • 16. free to turn sketch to code forcing function. it brings about a close collaboration between engineering and design it creates a bridge for shared understanding requires a lot of confidence and transparency
  • 17. free to test frequently with users
  • 18. free to iterate independent of agile usability usability usability usability usabili lean ux - lean team track { user interface engineering - agile scrum team agile sprint 0 engineering - agile scrum team release release release release
  • 19. 2. embrace open source
  • 20. use open source religiously
  • 21. work in open source model 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
  • 22. give back to open source we have a string of projects that will be open sourced node bootstrap (similar to yeoman) contributions to bootstrap (for accessibility) contributions to bootstrap (for internationalization) component repository framework for github (similar to bower) and more...
  • 23. 1. set the ui bits free 2. embrace open source