Professional Documents
Culture Documents
Agile 101
"Agile" team
Analysis + Design
Centralized QA
IT Operations
Development
Integration + QA
Testing + Showcase
Customer
Iteration
web 2.0
disrupting traditional businesses
http://code.flickr.com/
releasing frequently
feedback from users
Customer
developent
Agile product
development
releasing frequently
feedback from users
reduce risk of release
releasing frequently
feedback from users
reduce risk of release
real project progress
agile manifesto
Our highest priority is to satisfy
the customer through early and
continuous delivery of
valuable software
production-ready software
Fast, automated feedback on
the production readiness of
your applications every time
there is a change - to code,
infrastructure, or configuration
continuous delivery
Customer
Delivery team
Product
planning and
estimation
Product
discovery
3 days 1 week
10 days
Final testing
and approval
Development
7 weeks
1 week
Value-added time
2
hours
Elapsed time
1 week
10 days
3 days
5 days
2 days
Release
deployment pipeline
Delivery team
Version control
Check in
Automated
acceptance tests
User acceptance
tests
Trigger
Feedback
Check in
Trigger
Trigger
Feedback
Feedback
Check in
Trigger
Feedback
Trigger
Feedback
Approval
Feedback
Approval
Release
deployment pipeline
deployment pipeline
principles
create a repeatable, reliable process for releasing software
automate almost everything
keep everything in version control
if it hurts, do it more often, and bring the pain forward
build quality in
done means released
everybody is responsible for delivery
continuous improvement
practices
only build your binaries once
deploy the same way to every environment
smoke test your deployments
keep your environments similar
if anything fails, stop the line
continuous integration
Professor Plum P1
P2
P1
Mainline
P3
P2
G1
P1
P3
P2
B1
G1
Reverend Green
P4
P4
P3
P5
B2
G2
G3
P4
P5
B2
B1
G1
P4
B1
P1-2
G2
B2
P3
G2
P4-5
G3
G2
G4
G3
G4
G3
G5
G5
G6
G6
G4
MANUAL
Functional acceptance
tests
Showcases
Usability testing
Exploratory testing
Unit tests
Integration tests
System tests
Non-functional
acceptance tests
(performance, scaling, ...)
AUTOMATED
MANUAL / AUTOMATED
Critique project
Support programming
Business facing
Technology facing
canary releasing
data migration
objections
Visibility and control over locking down
Compliance - automation over documentation
Auditing - see who does what
Make it easy to remediate outages
thank you!
http://continuousdelivery.com/
http://studios.thoughtworks.com/go
http://thoughtworks.com/