SlideShare a Scribd company logo
8 principles for enabling build/measure/learn
lean engineering in action
eBay Classifieds TechCon
June 2013
@billwscott
Sr. Director
User Interface Engineering
@paypal
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
a different view of
engineering
paypal vs netflix
contrast this with a large enterprise like paypal (circa 2011)
guess what i found (in 2011)
roll your own. disconnected delivery
experience. culture of long shelf life.
inward focus. risk averse.
In 2011, even a simple
content copy change
could take as much as 6
weeks to get live to site
new dna inserted
jan 2012
fleshed out ui layer that could support rapid
experimentation
march 2012
david Marcus becomes president of PayPal
april 2012
formed lean ux team to reinvent checkout
experience
hermes project lean ux/engineering in action
from whiteboard to code from code to usability
learningsstart again
change has started working its way out
change has started working its way out
lean startup movement
founded on build/measure/learn cycle
get out of the building (GOOB)
invalidate your risky assumptions
fail fast, learn fast
get to the pivot
go for the minimal viable product (MVP)
lean ux
designing products for build/measure/learn
requires 3 rules to be followed at all times
get to & maintain a shared understanding
form deep collaboration across disciplines
keep continuous customer feedback flowing
purpose of lean engineering
build
measure
learn
LEANENGINEERING
EnablingBuild/
Measure/Learn
withLeanStartup
Principles
build
embrace
continuous delivery
make mistakes fast
measure learn
the etsy way. Kellan Elliott-McCrea, CTO etsy
use metrics driven
development
know that you made a
mistake
blameless post
mortem
learn from your
mistakes
LEANENGINEERING
8principlesforenabling
build/measure/learn
1. focus on learning, not delivery
one of our biggest challenges is moving
from a culture of delivery to a
culture of learning
too many teams can create silos within the
exerience
common silos that can affect experience:
• number of scrum teams
• specialization of skills
• device channels
• regional adaptations
CE2
don’t let delivery drive
experience
2. build a culture of rapid experimentation
long shelf life for software
when software is not dynamically updatable
when it takes herculean effort to deliver
result
engineers run the asylum
delivery dates drive the experience
BDUF & waterfall prevail
16 different test cells in the initial PS3 Launch (2010)
focus is on build/measure/learn
four distinct PS3 experiences launched on same day
typical netflix release
ramping vs experimenting
ramping model results in one
experience (with some tweaks along
the way) after a long ramp up time
experimentation model results in
many experiences being tested all
along the way
avoid disconnected
delivery experience
circa 1985
deliver to disk then to user
everything was focused on getting it
perfect for stamping on the disk
no user in the loop. experience
happened somewhere down the
supply chain
3. design for volatility
the epiphany
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 is thrown
away in a year
the ui layer is the
experimentation layer
experiences must learn
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
4. embrace open source
building experiences
circa 1985
merry band of three. dropped out of
college for semester. it was nirvana.
however...
roll your own “everything”
(close your eyes & imagine)
no internet. no google. no blogs. no email. no
blogs. no stackoverflow. no github. no twitter.
much of the software era has been about
building from scratch.
of course open source was gaining momentum.
unix. gnu. linux. perl. mozilla.
use open source religiously
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
give back to open source
we have projects that we will open source
node webcore (similar to yeoman)
we are contributing back to open source
contributions to bootstrap (for accessibility)
contributions to bootstrap (for internationalization)
core committer on dustjs project
using github for continuous *
use github for continuous integration
starting to use github repo model for continuous deployment
marketing pages
product pages
content updates & triggers into i18n, l10n, adaptation
components
5. map lean onto agile
btw, agile doesn’t have a brain...
agile has been a big step in the right direction
but is an engineering discipline
doesn’t address the full life cycle
agile has become big business and sometimes collapses under the weight
of “ceremonies” (process)
but agile is a good “engine” for delivery if you know what to roughly build
agile needs a brain...
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
6. make your product a living spec
create a living spec
enabling the prototype
learning
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
we blended prototype & production
we enabled the “ui bits” to be
portable between the prototyping
stack and the production stackjava (rhinoscript)node.js
{dust}
JS template
prototype
stack
production
stack
{dust}
JS template
either stack
java (rhinoscript)
production
stack
{dust}
JS template
one 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
7. refactor your way out of debt
technical debt
rarely do you have a clean slate
generally you will have to refactor your
way to a nimble framework
we separated the ui bits
code = JS
(backbone)
templates =
JS
{dust}
style = CSS
(less)
images
re-engineered the user
interface stack so that
the only artifacts are:
• javascript
• css
• images
ditched the server-side
mentality to creating UIs
• no more server-side
only templates
• no more server-side
components
• no more server-side
managing the ui
code = JS
(backbone)
templates =
JS
{dust}
style = CSS
(less)
images
we used javascript templating
templates get converted
to javascript
<p>Hello {name}</p>
JavaScript compiles to...
javascript
executed
to generate ui
we used natural web artifacts - “web bits”
server-side language independent
server/client agnostic
CDN ready
cacheable
rapid to create
code = JS
(backbone)
templates =
JS
{dust}
style = CSS
(less)
images
ensured we could run on new & legacy
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
java
(rhinoscript)
node.js
{dust}
JS template
prototype
stack
production
stack
{dust}
JS template
client OR
server
either stack
experience debt
don’t just think about our technical debt
consider our “experience debt”
cripples our ability to capture market and
inhibits learning
8. learn across all channels
mobile strategy ≠ just iOS app
native apps make it easier to create a rich
experience
however, they are limited in reach and in
learning capability
app install rates will only be a subset of the
customer base
you need both a native and html5 strategy in
order to maximize learning
html5 is critical to learning strategy
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.
summary
rethink engineering. every dimension of your engineering needs to be about
enabling build/measure/learn
technology. but not for tech sake. we are doing it for the experience to
support lean startup principles.
process. enabled lean ux and put a brain on agile.
people. revitalizing our existing talent and started attracting new talent.
before
after
designing web interfaces
O’Reilly
picture credits
http://www.flickr.com/photos/decade_null/2053134780/
http://www.flickr.com/photos/therevsteve/3104267109/
http://www.flickr.com/photos/juanpol/16287486/
http://www.flickr.com/photos/giesenbauer/4092794246/
http://www.flickr.com/photos/not_wise/182849352/
http://www.flickr.com/photos/mbiskoping/6075387388/
http://www.flickr.com/photos/37217398@N02/3442676067/
http://www.flickr.com/photos/proimos/3473264448/
http://www.flickr.com/photos/epsos/8463683689/
http://www.flickr.com/photos/stuckincustoms/2380543038/
http://www.flickr.com/photos/matthewpaulson/6176787688/
http://www.flickr.com/photos/90585146@N08/8222922317/
http://www.flickr.com/photos/cote/63914774/
http://www.flickr.com/photos/olvrbrown/4542851399/
http://www.flickr.com/photos/donpezzano/3257999898/
follow me on twitter
@billwscott
Designing Web Interfaces
O’Reilly
Bill Scott & Theresa Neil
Ad

More Related Content

What's hot (19)

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...
Balanced Team
 
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
Bill Scott
 
It is not supposed to fly but it does
It is not supposed to fly but it doesIt is not supposed to fly but it does
It is not supposed to fly but it does
Gabriele Lana
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary Architecture
Thoughtworks
 
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse UserGetting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse User
ZeroTurnaround
 
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
 
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
XebiaLabs
 
不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle
sam chiu
 
Explicit architecture
Explicit architectureExplicit architecture
Explicit architecture
Herberto Graça
 
Eclipse Vs Netbeans
Eclipse Vs NetbeansEclipse Vs Netbeans
Eclipse Vs Netbeans
SiliconExpert Technologies
 
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
 
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!
Caleb Jenkins
 
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
Solano Labs
 
Intelli j idea-report
Intelli j idea-reportIntelli j idea-report
Intelli j idea-report
Aravindharamanan S
 
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
Caleb Jenkins
 
Des ops101 : Overview - RH CoP UI/UX 9nov2018
Des ops101 : Overview - RH  CoP UI/UX 9nov2018Des ops101 : Overview - RH  CoP UI/UX 9nov2018
Des ops101 : Overview - RH CoP UI/UX 9nov2018
Samir Dash
 
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Burr Sutter
 
Dev conf 2018 DesOps - Prepare Today for Future of Design
Dev conf 2018 DesOps - Prepare Today for Future of Design Dev conf 2018 DesOps - Prepare Today for Future of Design
Dev conf 2018 DesOps - Prepare Today for Future of Design
Samir Dash
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tips
Daniel Bezerra
 
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...
Balanced Team
 
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
Bill Scott
 
It is not supposed to fly but it does
It is not supposed to fly but it doesIt is not supposed to fly but it does
It is not supposed to fly but it does
Gabriele Lana
 
Neal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary ArchitectureNeal Ford Emergent Design And Evolutionary Architecture
Neal Ford Emergent Design And Evolutionary Architecture
Thoughtworks
 
Getting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse UserGetting Started with IntelliJ IDEA as an Eclipse User
Getting Started with IntelliJ IDEA as an Eclipse User
ZeroTurnaround
 
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
 
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
XebiaLabs
 
不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle不只自動化而且更敏捷的Android開發工具 gradle
不只自動化而且更敏捷的Android開發工具 gradle
sam chiu
 
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
 
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!
Caleb Jenkins
 
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
Solano Labs
 
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
Caleb Jenkins
 
Des ops101 : Overview - RH CoP UI/UX 9nov2018
Des ops101 : Overview - RH  CoP UI/UX 9nov2018Des ops101 : Overview - RH  CoP UI/UX 9nov2018
Des ops101 : Overview - RH CoP UI/UX 9nov2018
Samir Dash
 
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Teaching Elephants to Dance (and Fly!): A Developer's Journey to Digital Tran...
Burr Sutter
 
Dev conf 2018 DesOps - Prepare Today for Future of Design
Dev conf 2018 DesOps - Prepare Today for Future of Design Dev conf 2018 DesOps - Prepare Today for Future of Design
Dev conf 2018 DesOps - Prepare Today for Future of Design
Samir Dash
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tips
Daniel Bezerra
 

Viewers also liked (10)

User-Centered Interaction Design
User-Centered Interaction DesignUser-Centered Interaction Design
User-Centered Interaction Design
Chris Avore
 
Week 2 IxD History: Interaction Design before Computers
Week 2 IxD History: Interaction Design before ComputersWeek 2 IxD History: Interaction Design before Computers
Week 2 IxD History: Interaction Design before Computers
Karen McGrane
 
Metro UI interaction design guidelines @Microsoft Tech.Days 2011
Metro UI interaction design guidelines @Microsoft Tech.Days 2011Metro UI interaction design guidelines @Microsoft Tech.Days 2011
Metro UI interaction design guidelines @Microsoft Tech.Days 2011
David Chen
 
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
Bill Scott
 
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)
Bill Scott
 
101 Things I Learned In Interaction Design School - Web Directions South
101 Things I Learned In Interaction Design School - Web Directions South101 Things I Learned In Interaction Design School - Web Directions South
101 Things I Learned In Interaction Design School - Web Directions South
Shane Morris
 
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
Bill Scott
 
Interaction design workshop
Interaction design workshopInteraction design workshop
Interaction design workshop
Shyamala Prayaga
 
Foundations of Interaction Design
Foundations of Interaction DesignFoundations of Interaction Design
Foundations of Interaction Design
Karen McGrane
 
Bringing Change to Life
Bringing Change to LifeBringing Change to Life
Bringing Change to Life
Bill Scott
 
User-Centered Interaction Design
User-Centered Interaction DesignUser-Centered Interaction Design
User-Centered Interaction Design
Chris Avore
 
Week 2 IxD History: Interaction Design before Computers
Week 2 IxD History: Interaction Design before ComputersWeek 2 IxD History: Interaction Design before Computers
Week 2 IxD History: Interaction Design before Computers
Karen McGrane
 
Metro UI interaction design guidelines @Microsoft Tech.Days 2011
Metro UI interaction design guidelines @Microsoft Tech.Days 2011Metro UI interaction design guidelines @Microsoft Tech.Days 2011
Metro UI interaction design guidelines @Microsoft Tech.Days 2011
David Chen
 
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
Bill Scott
 
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)
Bill Scott
 
101 Things I Learned In Interaction Design School - Web Directions South
101 Things I Learned In Interaction Design School - Web Directions South101 Things I Learned In Interaction Design School - Web Directions South
101 Things I Learned In Interaction Design School - Web Directions South
Shane Morris
 
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
Bill Scott
 
Interaction design workshop
Interaction design workshopInteraction design workshop
Interaction design workshop
Shyamala Prayaga
 
Foundations of Interaction Design
Foundations of Interaction DesignFoundations of Interaction Design
Foundations of Interaction Design
Karen McGrane
 
Bringing Change to Life
Bringing Change to LifeBringing Change to Life
Bringing Change to Life
Bill Scott
 
Ad

Similar to 8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action (20)

Enabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in ActionEnabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Hyperdrive Agile Leadership (powered by Bratton & Company)
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
Shivam Prajapati
 
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Rosenfeld Media
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
Kim Moir
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
Cédric Brun
 
Dean4j@Njug5
Dean4j@Njug5Dean4j@Njug5
Dean4j@Njug5
ทวิร พานิชสมบัติ
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
How to Become a Full-Stack Developer Beginner’s Guide.docx.doc
How to Become a Full-Stack Developer Beginner’s Guide.docx.docHow to Become a Full-Stack Developer Beginner’s Guide.docx.doc
How to Become a Full-Stack Developer Beginner’s Guide.docx.doc
TCCI Computer Coaching
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
Angus Fox
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
Linards Liep
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
Karthik Gaekwad
 
Shuzworld Analysis
Shuzworld AnalysisShuzworld Analysis
Shuzworld Analysis
Brenda Thomas
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
Yuri Visser
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Luciano Resende
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
gillygize
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
DicodingEvent
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
Ivo Jansch
 
Desenvolvimento moderno de aplicativos android
Desenvolvimento moderno de aplicativos androidDesenvolvimento moderno de aplicativos android
Desenvolvimento moderno de aplicativos android
Diego Figueredo
 
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Steve Feldman
 
Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02Wds leanengineering-141103233017-conversion-gate02
Wds leanengineering-141103233017-conversion-gate02
Shivam Prajapati
 
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Lean Engineering: Engineering for Learning & Experimentation in the Enterpris...
Rosenfeld Media
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
Kim Moir
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
Cédric Brun
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
Toma Velev
 
How to Become a Full-Stack Developer Beginner’s Guide.docx.doc
How to Become a Full-Stack Developer Beginner’s Guide.docx.docHow to Become a Full-Stack Developer Beginner’s Guide.docx.doc
How to Become a Full-Stack Developer Beginner’s Guide.docx.doc
TCCI Computer Coaching
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
Angus Fox
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
Linards Liep
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
Karthik Gaekwad
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
Yuri Visser
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Luciano Resende
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
gillygize
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
DicodingEvent
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
Ivo Jansch
 
Desenvolvimento moderno de aplicativos android
Desenvolvimento moderno de aplicativos androidDesenvolvimento moderno de aplicativos android
Desenvolvimento moderno de aplicativos android
Diego Figueredo
 
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Ensure Optimal Performance and Scalability: Implementing a Robust and Reliabl...
Steve Feldman
 
Ad

More from Bill Scott (14)

Keeping a Startup Ethos
Keeping a Startup EthosKeeping a Startup Ethos
Keeping a Startup Ethos
Bill Scott
 
Lean UX Anti-Patterns
Lean UX Anti-PatternsLean UX Anti-Patterns
Lean UX Anti-Patterns
Bill Scott
 
Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)
Bill Scott
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code Camp
Bill Scott
 
Designing for Interesting Moments
Designing for Interesting MomentsDesigning for Interesting Moments
Designing for Interesting Moments
Bill Scott
 
Bringing Design to Life
Bringing Design to LifeBringing Design to Life
Bringing Design to Life
Bill Scott
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web Interfaces
Bill Scott
 
Back To The Future
Back To The FutureBack To The Future
Back To The Future
Bill Scott
 
Hacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIsHacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIs
Bill Scott
 
Improving Netflix Performance Experience
Improving Netflix Performance ExperienceImproving Netflix Performance Experience
Improving Netflix Performance Experience
Bill Scott
 
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
Bill Scott
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scripting
Bill Scott
 
Ajax 101 Workshop
Ajax 101 WorkshopAjax 101 Workshop
Ajax 101 Workshop
Bill Scott
 
Designing For Ajax
Designing For AjaxDesigning For Ajax
Designing For Ajax
Bill Scott
 
Keeping a Startup Ethos
Keeping a Startup EthosKeeping a Startup Ethos
Keeping a Startup Ethos
Bill Scott
 
Lean UX Anti-Patterns
Lean UX Anti-PatternsLean UX Anti-Patterns
Lean UX Anti-Patterns
Bill Scott
 
Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)Designing With Lenses (UxLx, CHIFOO, BigD)
Designing With Lenses (UxLx, CHIFOO, BigD)
Bill Scott
 
DHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code CampDHTML Prototyping: Silicon Valley Code Camp
DHTML Prototyping: Silicon Valley Code Camp
Bill Scott
 
Designing for Interesting Moments
Designing for Interesting MomentsDesigning for Interesting Moments
Designing for Interesting Moments
Bill Scott
 
Bringing Design to Life
Bringing Design to LifeBringing Design to Life
Bringing Design to Life
Bill Scott
 
Designing Web Interfaces
Designing Web InterfacesDesigning Web Interfaces
Designing Web Interfaces
Bill Scott
 
Back To The Future
Back To The FutureBack To The Future
Back To The Future
Bill Scott
 
Hacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIsHacking Netflix - Netflix APIs
Hacking Netflix - Netflix APIs
Bill Scott
 
Improving Netflix Performance Experience
Improving Netflix Performance ExperienceImproving Netflix Performance Experience
Improving Netflix Performance Experience
Bill Scott
 
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
Bill Scott
 
Protoscript - Simplified prototype scripting
Protoscript - Simplified prototype scriptingProtoscript - Simplified prototype scripting
Protoscript - Simplified prototype scripting
Bill Scott
 
Ajax 101 Workshop
Ajax 101 WorkshopAjax 101 Workshop
Ajax 101 Workshop
Bill Scott
 
Designing For Ajax
Designing For AjaxDesigning For Ajax
Designing For Ajax
Bill Scott
 

Recently uploaded (20)

Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 

8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action

  • 1. 8 principles for enabling build/measure/learn lean engineering in action eBay Classifieds TechCon June 2013 @billwscott Sr. Director User Interface Engineering @paypal
  • 2. 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 a different view of engineering
  • 3. paypal vs netflix contrast this with a large enterprise like paypal (circa 2011)
  • 4. guess what i found (in 2011) roll your own. disconnected delivery experience. culture of long shelf life. inward focus. risk averse.
  • 5. In 2011, even a simple content copy change could take as much as 6 weeks to get live to site
  • 6. new dna inserted jan 2012 fleshed out ui layer that could support rapid experimentation march 2012 david Marcus becomes president of PayPal april 2012 formed lean ux team to reinvent checkout experience
  • 7. hermes project lean ux/engineering in action from whiteboard to code from code to usability learningsstart again
  • 8. change has started working its way out
  • 9. change has started working its way out
  • 10. lean startup movement founded on build/measure/learn cycle get out of the building (GOOB) invalidate your risky assumptions fail fast, learn fast get to the pivot go for the minimal viable product (MVP)
  • 11. lean ux designing products for build/measure/learn requires 3 rules to be followed at all times get to & maintain a shared understanding form deep collaboration across disciplines keep continuous customer feedback flowing
  • 12. purpose of lean engineering build measure learn LEANENGINEERING EnablingBuild/ Measure/Learn withLeanStartup Principles
  • 13. build embrace continuous delivery make mistakes fast measure learn the etsy way. Kellan Elliott-McCrea, CTO etsy use metrics driven development know that you made a mistake blameless post mortem learn from your mistakes
  • 15. 1. focus on learning, not delivery
  • 16. one of our biggest challenges is moving from a culture of delivery to a culture of learning
  • 17. too many teams can create silos within the exerience common silos that can affect experience: • number of scrum teams • specialization of skills • device channels • regional adaptations CE2 don’t let delivery drive experience
  • 18. 2. build a culture of rapid experimentation
  • 19. long shelf life for software when software is not dynamically updatable when it takes herculean effort to deliver result engineers run the asylum delivery dates drive the experience BDUF & waterfall prevail
  • 20. 16 different test cells in the initial PS3 Launch (2010) focus is on build/measure/learn four distinct PS3 experiences launched on same day typical netflix release
  • 21. ramping vs experimenting ramping model results in one experience (with some tweaks along the way) after a long ramp up time experimentation model results in many experiences being tested all along the way
  • 22. avoid disconnected delivery experience circa 1985 deliver to disk then to user everything was focused on getting it perfect for stamping on the disk no user in the loop. experience happened somewhere down the supply chain
  • 23. 3. design for volatility
  • 25. 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 is thrown away in a year the ui layer is the experimentation layer
  • 26. experiences must learn 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
  • 27. 4. embrace open source
  • 28. building experiences circa 1985 merry band of three. dropped out of college for semester. it was nirvana. however...
  • 29. roll your own “everything” (close your eyes & imagine) no internet. no google. no blogs. no email. no blogs. no stackoverflow. no github. no twitter. much of the software era has been about building from scratch. of course open source was gaining momentum. unix. gnu. linux. perl. mozilla.
  • 30. use open source religiously
  • 31. 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
  • 32. give back to open source we have projects that we will open source node webcore (similar to yeoman) we are contributing back to open source contributions to bootstrap (for accessibility) contributions to bootstrap (for internationalization) core committer on dustjs project
  • 33. using github for continuous * use github for continuous integration starting to use github repo model for continuous deployment marketing pages product pages content updates & triggers into i18n, l10n, adaptation components
  • 34. 5. map lean onto agile
  • 35. btw, agile doesn’t have a brain... agile has been a big step in the right direction but is an engineering discipline doesn’t address the full life cycle agile has become big business and sometimes collapses under the weight of “ceremonies” (process) but agile is a good “engine” for delivery if you know what to roughly build agile needs a brain...
  • 36. 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
  • 37. 6. make your product a living spec
  • 38. create a living spec enabling the prototype learning
  • 39. 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
  • 40. we blended prototype & production we enabled the “ui bits” to be portable between the prototyping stack and the production stackjava (rhinoscript)node.js {dust} JS template prototype stack production stack {dust} JS template either stack
  • 41. java (rhinoscript) production stack {dust} JS template one 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
  • 42. 7. refactor your way out of debt
  • 43. technical debt rarely do you have a clean slate generally you will have to refactor your way to a nimble framework
  • 44. we separated the ui bits code = JS (backbone) templates = JS {dust} style = CSS (less) images re-engineered the user interface stack so that the only artifacts are: • javascript • css • images ditched the server-side mentality to creating UIs • no more server-side only templates • no more server-side components • no more server-side managing the ui
  • 45. code = JS (backbone) templates = JS {dust} style = CSS (less) images we used javascript templating templates get converted to javascript <p>Hello {name}</p> JavaScript compiles to... javascript executed to generate ui
  • 46. we used natural web artifacts - “web bits” server-side language independent server/client agnostic CDN ready cacheable rapid to create code = JS (backbone) templates = JS {dust} style = CSS (less) images
  • 47. ensured we could run on new & legacy 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 java (rhinoscript) node.js {dust} JS template prototype stack production stack {dust} JS template client OR server either stack
  • 48. experience debt don’t just think about our technical debt consider our “experience debt” cripples our ability to capture market and inhibits learning
  • 49. 8. learn across all channels
  • 50. mobile strategy ≠ just iOS app native apps make it easier to create a rich experience however, they are limited in reach and in learning capability app install rates will only be a subset of the customer base you need both a native and html5 strategy in order to maximize learning
  • 51. html5 is critical to learning strategy 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.
  • 52. summary rethink engineering. every dimension of your engineering needs to be about enabling build/measure/learn technology. but not for tech sake. we are doing it for the experience to support lean startup principles. process. enabled lean ux and put a brain on agile. people. revitalizing our existing talent and started attracting new talent.
  • 54. after
  • 55. designing web interfaces O’Reilly picture credits http://www.flickr.com/photos/decade_null/2053134780/ http://www.flickr.com/photos/therevsteve/3104267109/ http://www.flickr.com/photos/juanpol/16287486/ http://www.flickr.com/photos/giesenbauer/4092794246/ http://www.flickr.com/photos/not_wise/182849352/ http://www.flickr.com/photos/mbiskoping/6075387388/ http://www.flickr.com/photos/37217398@N02/3442676067/ http://www.flickr.com/photos/proimos/3473264448/ http://www.flickr.com/photos/epsos/8463683689/ http://www.flickr.com/photos/stuckincustoms/2380543038/ http://www.flickr.com/photos/matthewpaulson/6176787688/ http://www.flickr.com/photos/90585146@N08/8222922317/ http://www.flickr.com/photos/cote/63914774/ http://www.flickr.com/photos/olvrbrown/4542851399/ http://www.flickr.com/photos/donpezzano/3257999898/ follow me on twitter @billwscott Designing Web Interfaces O’Reilly Bill Scott & Theresa Neil