4. releasing frequently
1. build the right thing
Customer
development
Agile product
development
Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
Tuesday, October 9, 12
5. innovate
You can't just ask
customers what
they want and then
try to give that to
them.
By the time you get
it built, they'll want
something new.
Steve Jobs
Tuesday, October 9, 12
6. scientific method
Ideas
create hypothesis
deliver minimum
viable product
get feedback
(repeat)
Tuesday, October 9, 12
Learn
Build
Code
Data
Measure
Eric Ries, “The Lean Startup” http://bit.ly/8ZoX5F
7. ask this question
“How long would it take your
organization to deploy a change that
involved just one single line of code? Do
you do this on a repeatable, reliable
basis?”
Mary and Tom Poppendieck, Implementing Lean Software Development, p59.
Tuesday, October 9, 12
8. releasing frequently
1. build the right thing
2. reduce risk of release
John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr
Tuesday, October 9, 12
10. optimize for mtrs
MTBF
MTRS
John Allspaw: “Building Resilience in Web Development and Operations”
http://www.usievents.com/en/conferences/8-paris-usi-2011/sessions/968-john-allspaw
Tuesday, October 9, 12
11. releasing frequently
1. build the right thing
2. reduce risk of release
3. real project progress
Tuesday, October 9, 12
12. agile manifesto
Our highest priority is to satisfy
the customer through early and
continuous delivery of
valuable software
Tuesday, October 9, 12
13. production-ready software
Fast, automated feedback on
the production readiness of
your applications every time
there is a change - to code,
infrastructure, or configuration
Tuesday, October 9, 12
19. build quality in
“Cease dependence on
mass inspection to
achieve quality.
Improve the process
and build quality into
the product in the first
place”
W. Edwards Deming
Tuesday, October 9, 12
20. different kinds of testing
Business facing
Functional acceptance
tests
Showcases
Usability testing
Exploratory testing
Unit tests
Integration tests
System tests
Non-functional
acceptance tests
(performance, scaling, ...)
AUTOMATED
Support programming
MANUAL
MANUAL / AUTOMATED
Critique project
AUTOMATED
Technology facing
Diagram invented by Brian Marick
Tuesday, October 9, 12
21. deployment pipeline
an automated implementation of your
system’s build, deploy, test, release process
visibility
feedback
control
Tuesday, October 9, 12
22. deployment pipeline
Delivery team
Version control
Check in
Build & unit
tests
Automated
acceptance tests
User acceptance
tests
Trigger
Feedback
Check in
Trigger
Trigger
Feedback
Feedback
Check in
Trigger
Feedback
Trigger
Feedback
Approval
Feedback
Tuesday, October 9, 12
Approval
Release
39. immune system
what if someone replaced your
“buy” button with spacer.gif?
T cells http://www.flickr.com/photos/gehealthcare/3326186490/
Tuesday, October 9, 12
46. people are the key
Get everyone together at the beginning
Keep meeting
Make it easy for everyone to see what’s
happening
Continuous improvement (kaizen)
Tuesday, October 9, 12