30
HOW DO YOU IMPLEMENT CONTINUOUS DELIVERY? Part 1 of our series on putting CD into practice. Share this ebook. PERSPECTIVES

How do you implement Continuous Delivery? Part 1

Embed Size (px)

DESCRIPTION

Part 1 of our series on putting CD into practice.

Citation preview

Page 1: 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

Page 2: How do you implement Continuous Delivery? Part 1

WHY DO CD?Before we get to the how, let’s understand the why…

WHY DO CD?

Page 3: How do you implement Continuous Delivery? Part 1

Reliable delivery of software

WHY DO CD? Before we get to the how, let’s understand the why…

Page 4: How do you implement Continuous Delivery? Part 1

Faster time to market

WHY DO CD? Before we get to the how, let’s understand the why…

Reliable delivery of software

Page 5: How do you implement Continuous Delivery? Part 1

WHY DO CD?

Continuous Innovation

Before we get to the how, let’s understand the why…

Faster time to market

Reliable delivery of software

Page 6: How do you implement Continuous Delivery? Part 1

Let’s look at a “classic” release

Design Development Release

WHY DO CD?

Page 7: How do you implement Continuous Delivery? Part 1

The reality

Deployment Issues DefectsProduct changes

WHY DO CD?

Page 8: How do you implement Continuous Delivery? Part 1

Defect introduced

Feature incorrectly implemented

Stuff built on top

Deployment Issues DefectsProduct changes

WHY DO CD? The reality

Page 9: How do you implement Continuous Delivery? Part 1

HOW DOES CD HELP?

9

Page 10: How do you implement Continuous Delivery? Part 1

#1 Helps you build the right thing

Release small chunks

of functionality frequently.

Release

How does

CD help?

Page 11: How do you implement Continuous Delivery? Part 1

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

Page 12: How do you implement Continuous Delivery? Part 1

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

Page 13: How do you implement Continuous Delivery? Part 1

#2 Reduces risk of releasesHow does

CD help?

Page 14: How do you implement Continuous Delivery? Part 1

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.

Page 15: How do you implement Continuous Delivery? Part 1

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

Page 16: How do you implement Continuous Delivery? Part 1

#3 Delivers “real” progressHow does

CD help?

Page 17: How do you implement Continuous Delivery? Part 1

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

Page 18: How do you implement Continuous Delivery? Part 1

HOW DO I FIT CD INTO MY AGILE PROJECT?

18

Page 19: How do you implement Continuous Delivery? Part 1

An Agile releaseHow do I fit CD

into my

Agile project?

Each release comprises of

multiple iterations

Page 20: How do you implement Continuous Delivery? Part 1

How do I fit CD

into my

Agile project?

Each iteration comprises of

multiple stories

An Agile release

Page 21: How do you implement Continuous Delivery? Part 1

How do I fit CD

into my

Agile project?Each story

comprises of multiple commits

An Agile release

Page 22: How do you implement Continuous Delivery? Part 1

How do I fit CD

into my

Agile project?Each release is thus a

series of multiple commits

An Agile release

Page 23: How do you implement Continuous Delivery? Part 1

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

Page 24: How do you implement Continuous Delivery? Part 1

Thus releasing now is a business decision

How do I fit CD

into my

Agile project?

Release on Demand

Page 25: How do you implement Continuous Delivery? Part 1

Caution! How do I fit CD

into my

Agile project?Have your checks in place, as any commit could go live

Page 26: How do you implement Continuous Delivery? Part 1

How do I fit CD

into my

Agile project?Iterations should not be time-boxed, mini-waterfalls

Caution!

Page 27: How do you implement Continuous Delivery? Part 1

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!

Page 28: How do you implement Continuous Delivery? Part 1

How do I fit CD

into my

Agile project?Instead “Continuous” iterations serve only as checkpoints

Caution!

Page 29: How do you implement Continuous Delivery? Part 1

HOW DO I MANAGE MY CODEBASE?

29

Stay tuned for Part 2…

Page 30: How do you implement Continuous Delivery? Part 1

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.