How do you implement Continuous Delivery? Part 4: Automated Testing
How do you implement Continuous Delivery? Part 1
-
Upload
thoughtworks -
Category
Technology
-
view
1.114 -
download
0
description
Transcript of How do you implement Continuous Delivery? Part 1
HOW DO YOU IMPLEMENT CONTINUOUS DELIVERY?Part 1 of our series on putting CD into practice.
Share this ebook.
PERSPECTIVES
WHY DO CD?Before we get to the how, let’s understand the why…
WHY DO CD?
Reliable delivery of software
WHY DO CD? Before we get to the how, let’s understand the why…
Faster time to market
WHY DO CD? Before we get to the how, let’s understand the why…
Reliable delivery of software
WHY DO CD?
Continuous Innovation
Before we get to the how, let’s understand the why…
Faster time to market
Reliable delivery of software
Let’s look at a “classic” release
Design Development Release
WHY DO CD?
The reality
Deployment Issues DefectsProduct changes
WHY DO CD?
Defect introduced
Feature incorrectly implemented
Stuff built on top
Deployment Issues DefectsProduct changes
WHY DO CD? The reality
HOW DOES CD HELP?
9
#1 Helps you build the right thing
Release small chunks
of functionality frequently.
Release
How does
CD help?
Release small chunks
of functionality frequently.
Release
How does
CD help?
Get regular customer validation
of the product’s value
Get Feedback
#1 Helps you build the right thing
Release small chunks
of functionality frequently.
Release
How does
CD help?
Get regular customer validation of the product’s value
Get FeedbackImprove
Incorporate feedback rapidly. Fail fast and
learn fast.
#1 Helps you build the right thing
#2 Reduces risk of releasesHow does
CD help?
1 1
2
1
2
3
1
2
3
4
1
2
3
4
5
2
3
4
5
1
6
2
3
4
5
1
6
7
How does
CD help?
Time
Unreleased
#2 Reduces risk of releases
Unreleased changes = RISK.
How does
CD help?
Released changes = VALUE
#2 Reduces risk of releases
1
1
1
2
1
3
2
1
4
3
2
1 2
3
4
5
1
3
4
5
6
2
1
3 4 5 6 72 Unreleased
Released
#3 Delivers “real” progressHow does
CD help?
How does
CD help?
RELEASE CHECKLIST:Regression Testing Integration TestingUser Acceptance Testing Infrastructure SetupPerformance TestingSecurity Audit…
“Done” is no longer “dev-complete”, but is thoroughly validated as only a release can.
#3 Delivers “real” progress
HOW DO I FIT CD INTO MY AGILE PROJECT?
18
An Agile releaseHow do I fit CD
into my
Agile project?
Each release comprises of
multiple iterations
How do I fit CD
into my
Agile project?
Each iteration comprises of
multiple stories
An Agile release
How do I fit CD
into my
Agile project?Each story
comprises of multiple commits
An Agile release
How do I fit CD
into my
Agile project?Each release is thus a
series of multiple commits
An Agile release
An Agile release…with CD applied
How do I fit CD
into my
Agile project?With CD, that is reversed. Each commit is now a potential release candidate
Thus releasing now is a business decision
How do I fit CD
into my
Agile project?
Release on Demand
Caution! How do I fit CD
into my
Agile project?Have your checks in place, as any commit could go live
How do I fit CD
into my
Agile project?Iterations should not be time-boxed, mini-waterfalls
Caution!
How do I fit CD
into my
Agile project? Iterations should not be time-boxed, mini-waterfalls…That require stories to be re-ordered
Caution!
How do I fit CD
into my
Agile project?Instead “Continuous” iterations serve only as checkpoints
Caution!
HOW DO I MANAGE MY CODEBASE?
29
Stay tuned for Part 2…
LEARN MORE
Deploy a great product faster.Agile teams deliver working software early and often.Go automates and streamlines the build-test-release cycle for worry-free, continuous delivery of your product.
Share this ebook.
Visit our Continuous Delivery Channel for more posts like this.