How do you implement Continuous Delivery? Part 1

Preview:

DESCRIPTION

Part 1 of our series on putting CD into practice.

Citation preview

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.

Recommended