Top Banner
Failing Continuous Delivery jDays, Gothenburg, 2015-03-17 Twitter: @DanielSawano @DanielDeogun
67
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Failing Continuous Delivery

Failing Continuous Delivery

jDays, Gothenburg, 2015-03-17

Twitter: @DanielSawano @DanielDeogun

Page 2: Failing Continuous Delivery

About Us…

Daniel Deogun Daniel Sawano

OmegapointStockholm - Gothenburg - Malmoe - Umea - New York

Page 3: Failing Continuous Delivery

Continuous Integration

“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.“

- Martin Fowler, ThoughtWorks

Page 4: Failing Continuous Delivery

Continuous Delivery

“…continuous delivery means making sure your software is always production ready throughout its entire lifecycle – that any build could potentially be released to users at the touch of a button using a fully automated process in a matter of seconds or minutes.”

- Jez Humble, ThoughtWorks

Page 5: Failing Continuous Delivery

Continuous Delivery or Continuous Deployment?

“I see the difference as a business decision about frequency of deployment into production. Continuous Deployment is actually deploying every change into production, every day or more frequently.”

“…continuous deployment implies continuous delivery the converse is not true. Continuous delivery is about putting the release schedule in the hands of the business, not in the hands of IT… any build could potentially be released to users at the touch of a button using a fully automated process in a matter of seconds or minutes”

- Martin Fowler, ThoughtWorks

- Jez Humble, ThoughtWorks

Page 6: Failing Continuous Delivery

[Candle Time]

What drives CD in an organization?

[Wallstreet]

IT Sales

CEO

Page 7: Failing Continuous Delivery

[Candle Time]

What drives CD in an organization?

[Wallstreet]

IT Sales

CEO

Page 8: Failing Continuous Delivery

[Candle Time]

What drives CD in an organization?

[Wallstreet]

IT Sales

CEO

Page 9: Failing Continuous Delivery

Core vs Supportive IT

Core Supportive[Atom] [Quad Hall]

Page 10: Failing Continuous Delivery

IT - Supportive or Core?

Page 11: Failing Continuous Delivery

IT - Supportive or Core?

Page 12: Failing Continuous Delivery

IT - Supportive or Core?

Page 13: Failing Continuous Delivery

IT - Supportive or Core?

Page 14: Failing Continuous Delivery

IT - Supportive or Core?

Bank of America

Page 15: Failing Continuous Delivery

The Challenges

Page 16: Failing Continuous Delivery

Organization

Current organization is not designed to continuously produce business value

Page 17: Failing Continuous Delivery

Organization

User

Business case

Design

Development

Test

Operations

Page 18: Failing Continuous Delivery

Organization

User

Business case

Design

Development

Test

Operations

Page 19: Failing Continuous Delivery

Organization

User

Business case

Design

Development

Test

Operations

Page 20: Failing Continuous Delivery

Conway’s Law

“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations”

- M. Conway, 1967

Page 21: Failing Continuous Delivery

Conway’s Law Applied to Business Value

“Organizations which design IT products are constrained to produce business value at a rate limited by the organizational

structure”

Page 22: Failing Continuous Delivery

Inverse Conway Maneuver

“… evolving your team and organizational structure to promote your desired architecture”

- ThoughtWorks Technology Radar

Page 23: Failing Continuous Delivery

Organization

Page 24: Failing Continuous Delivery

Organization

avoid organizationalinertia

embrace change

adapt

Page 25: Failing Continuous Delivery

Organization

think different

Page 26: Failing Continuous Delivery

Process

[Waterfall]

Page 27: Failing Continuous Delivery

Process

Know when to stop polishing the diamond

Page 28: Failing Continuous Delivery

Process

• The only way to know if an idea that looks good on paper will generate revenue is to test it on customers

• Release, measure, improve/abort

Page 29: Failing Continuous Delivery

Business

[Business]

Page 30: Failing Continuous Delivery

Business

• Todays market is increasingly competitive and demanding

• You need IT management

Page 31: Failing Continuous Delivery

Business

• IT and business is fused together

• New breed of managers

Page 32: Failing Continuous Delivery

IT

[Matrix Code]

Page 33: Failing Continuous Delivery

Cycle Time

“…the time it takes from deciding to make a change, whether a bug fix or a feature, to having it available to users.”

- Jez Humble, David Farley, Continuous Delivery

Hmm… what if…Developing

Testing

DevelopingTesting

Developing Testing

Users

Page 34: Failing Continuous Delivery

Manual Testing - Just Automate That Sh*t

[Testing]

Page 35: Failing Continuous Delivery

Implications of Just Automate That …

Page 36: Failing Continuous Delivery

Implications of Just Automate That …

Design & Mindset

Modularity

Complexity

IndependenceMaintainability

Good enough?

Page 37: Failing Continuous Delivery

Implications of Just Automate That …

Test Data

How to generate?

Ownership

Sampling

Stale data?

Sensitive

Design & Mindset

Modularity

Complexity

IndependenceMaintainability

Good enough?

Page 38: Failing Continuous Delivery

Implications of Just Automate That …

Test Data

How to generate?

Ownership

Sampling

Stale data?

Sensitive

Design & Mindset

Modularity

Complexity

IndependenceMaintainability

Good enough?

Cost vs Savings

Hardware

Risk analysisBug preemption

Training

Page 39: Failing Continuous Delivery

Implications of Just Automate That …

Test Data

How to generate?

Ownership

Sampling

Stale data?

Sensitive

Design & Mindset

Modularity

Complexity

IndependenceMaintainability

Good enough?

System Dependencies

Legacy

DowntimeData flow Cost vs Savings

Hardware

Risk analysisBug preemption

Training

Page 40: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

Page 41: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Here are the requirements

Business IT

Page 42: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

Hmm… ok, are they prioritzed?

Page 43: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

Ehh… sure. We want them all!

Page 44: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

No really, we need them to be prioritzed?

Page 45: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

It’s only must haves. Do em’ all!

Page 46: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

Ok… then we’ll do a lot of small releases

Page 47: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

What?!? No way! Last time you did that…

Page 48: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

all systems went banana and we lost ££$$€€kr

Page 49: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

But…

Page 50: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

No buts … we need to REDUCE risk

Page 51: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

and release LESS often with MORE features!

Page 52: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

Ehh… wouldn’t that INCREASE risk?

Page 53: Failing Continuous Delivery

The Risk Reduction -Release Dilemma

Business IT

What? No, of course not. Let’s get this project started. Time is money

Page 54: Failing Continuous Delivery

Why is Business Acting this way?

Big feature sets

Less frequent releases

System dependencies

“Must haves”

Page 55: Failing Continuous Delivery

Key Take Aways

Page 56: Failing Continuous Delivery

Key Take Aways

Core or Supportive IT

Page 57: Failing Continuous Delivery

Key Take Aways

Cycle Time

Core or Supportive IT

Page 58: Failing Continuous Delivery

Key Take Aways

Cycle Time

Core or Supportive IT

Processes & Organization

Page 59: Failing Continuous Delivery

Key Take Aways

Cycle Time

Core or Supportive IT

Cultural Shift

Processes & Organization

Page 60: Failing Continuous Delivery

Key Take Aways

Page 61: Failing Continuous Delivery

Key Take Aways

Competence

Page 62: Failing Continuous Delivery

Key Take Aways

CompetenceIT Management

Page 63: Failing Continuous Delivery

Key Take Aways

CompetenceIT Management

Minimum Viable Product

Page 64: Failing Continuous Delivery

Key Take Aways

Competence

Company Vision

IT Management

Minimum Viable Product

Page 65: Failing Continuous Delivery

Q & A

[Questions]

Page 66: Failing Continuous Delivery

Awesome images

1. [Wallstreet - https://flic.kr/p/peyuqz] by Micha D. under license http://www.creativecommons.org/licenses/by/2.0/

2. [Candle Time - https://flic.kr/p/asTDXx] by Henti Smith under license https://creativecommons.org/licenses/by-nc-nd/2.0/

3. [Quad Hall - https://flic.kr/p/uFrux] by Scott Wang under license https://creativecommons.org/licenses/by-nc-nd/2.0/

4. [Atom - https://flic.kr/p/b6qS4V] by Brian Westin under license https://creativecommons.org/licenses/by-nc/2.0/

5. [Think Different - https://flic.kr/p/aUwPzp] by Luigi Torreggiani under license https://creativecommons.org/licenses/by-nc/2.0/

6. [Waterfall - https://flic.kr/p/pjeytJ ] by Vincent Moschetti under license https://creativecommons.org/licenses/by-nc-nd/2.0

7. [Matrix Code - https://flic.kr/p/2Poor] by David.Asch under license https://creativecommons.org/licenses/by-nc-nd/2.0/

8. [Business - https://flic.kr/p/4qAhiw] by thinkpanama under license https://creativecommons.org/licenses/by-nc/2.0/

9. [Questions - https://flic.kr/p/9ksxQa] by Damián Navas under license https://creativecommons.org/licenses/by-nc-nd/2.0/

10. [Testing - https://flic.kr/p/gEnFDA] by cta web under license https://creativecommons.org/licenses/by-nd/2.0/

Page 67: Failing Continuous Delivery

Thank you!@DanielSawano @DanielDeogun