A presentation at JDays 2015 in in Gothenburg, Sweden by Daniel Sawano
Failing
Continuous Delivery
jDays,
Gothenburg, 2015-03-17
Twitter: @DanielSawano @DanielDeogun
About Us… Daniel Deogun Daniel Sawano Omegapoint Stockholm - Gothenburg - Malmoe - Umea - New York
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. “
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. ”
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 ”
[Candle Time] What drives CD in an organization? [Wallstreet] IT Sales CEO
[Candle Time] What drives CD in an organization? [Wallstreet] IT Sales CEO
[Candle Time] What drives CD in an organization? [Wallstreet] IT Sales CEO
Core vs Supportive IT Core Supportive [Atom] [Quad Hall]
IT - Supportive or Core?
IT - Supportive or Core?
IT - Supportive or Core?
IT - Supportive or Core?
IT - Supportive or Core? Bank of America
The Challenges
Organization
Current organization is not designed to continuously produce business value
Organization
User Business case Design Development Test Operations
Organization
User Business case Design Development Test Operations
Organization
User Business case Design Development Test Operations
Conway’s Law
“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations ”
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 ”
Inverse Conway Maneuver
“… evolving your team and organizational structure to promote your desired architecture ”
Organization
Organization
avoid organizational inertia embrace change adapt
Organization
think different
Process [Waterfall ]
Process Know when to stop polishing the diamond
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
Business [Business]
Business • Todays market is increasingly competitive and demanding • You need IT management
Business • IT and business is fused together • New breed of managers
IT [Matrix Code]
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.”
Manual Testing
Implications of
Just Automate That …
Implications of
Just Automate That …
Design & Mindset
Modularity
Complexity
Independence
Maintainability
Good enough?
Implications of
Just Automate That …
Test Data
How to generate?
Ownership
Sampling
Stale data?
Sensitive
Design & Mindset
Modularity
Complexity
Independence
Maintainability
Good enough?
Implications of
Just Automate That …
Test Data
How to generate?
Ownership
Sampling
Stale data?
Sensitive
Design & Mindset
Modularity
Complexity
Independence
Maintainability
Good enough?
Cost vs Savings
Hardware
Risk analysis
Bug preemption
Training
Implications of
Just Automate That …
Test Data
How to generate?
Ownership
Sampling
Stale data?
Sensitive
Design & Mindset
Modularity
Complexity
Independence
Maintainability
Good enough?
System Dependencies
Legacy
Downtime
Data flow
Cost vs Savings
Hardware
Risk analysis
Bug preemption
Training
The Risk Reduction - Release Dilemma Business IT
The Risk Reduction -
Release Dilemma
Here are the
requirements
Business
IT
The Risk Reduction -
Release Dilemma
Business
IT
Hmm… ok, are
they prioritzed?
The Risk Reduction -
Release Dilemma
Business
IT
Ehh… sure.
We want them
all!
The Risk Reduction -
Release Dilemma
Business
IT
No really, we
need them to
be prioritzed?
The Risk Reduction -
Release Dilemma
Business
IT
It’s only must
haves. Do em’ all!
The Risk Reduction -
Release Dilemma
Business
IT
Ok… then we’ll
do a lot of small
releases
The Risk Reduction -
Release Dilemma
Business
IT
What?!? No way!
Last time you did
that…
The Risk Reduction -
Release Dilemma
Business
IT
all systems went
banana and we
lost ££$$
€€
kr
The Risk Reduction - Release Dilemma Business IT But…
The Risk Reduction -
Release Dilemma
Business
IT
No buts … we
need to REDUCE
risk
The Risk Reduction -
Release Dilemma
Business
IT
and release LESS
often with MORE
features!
The Risk Reduction -
Release Dilemma
Business
IT
Ehh… wouldn’t
that INCREASE
risk?
The Risk Reduction -
Release Dilemma
Business
IT
What? No, of
course not. Let’s get
this project started.
Time is money
Why is Business Acting this way? Big feature sets Less frequent releases System dependencies “Must haves”
Key Take Aways
Key Take Aways Core or Supportive IT
Key Take Aways Cycle Time Core or Supportive IT
Key Take Aways Cycle Time Core or Supportive IT Processes & Organization
Key Take Aways Cycle Time Core or Supportive IT Cultural Shift Processes & Organization
Key Take Aways
Key Take Aways Competence
Key Take Aways Competence IT Management
Key Take Aways Competence IT Management Minimum Viable Product
Key Take Aways Competence Company Vision IT Management Minimum Viable Product
Q & A [Questions]
Awesome images 1. [Wallstreet - https://flic.kr/p/peyuqz] by Micha D. under license http://www.creativecommons.org/licenses/by/2.0/
[Candle Time - https://flic.kr/p/asTDXx] by Henti Smith under license https://creativecommons.org/licenses/by-nc-nd/2.0/
[Quad Hall - https://flic.kr/p/uFrux] by Scott Wang under license https://creativecommons.org/licenses/by-nc-nd/2.0/
[Atom - https://flic.kr/p/b6qS4V] by Brian Westin under license https://creativecommons.org/licenses/by-nc/2.0/
[Think Different - https://flic.kr/p/aUwPzp] by Luigi Torreggiani under license https://creativecommons.org/licenses/by-nc/2.0/
[Waterfall - https://flic.kr/p/pjeytJ ] by Vincent Moschetti under license https://creativecommons.org/licenses/by-nc-nd/2.0
[Matrix Code - https://flic.kr/p/2Poor] by David.Asch under license https://creativecommons.org/licenses/by-nc-nd/2.0/
[Business - https://flic.kr/p/4qAhiw] by thinkpanama under license https://creativecommons.org/licenses/by-nc/2.0/
[Questions - https://flic.kr/p/9ksxQa] by Damián Navas under license https://creativecommons.org/licenses/by-nc-nd/2.0/
[Testing - https://flic.kr/p/gEnFDA] by cta web under license https://creativecommons.org/licenses/by-nd/2.0/
Thank you! @DanielSawano @DanielDeogun
This presentation was given by Daniel Deogun and Daniel Sawano at the JDays conference, Gothenburg, 2015.
The concepts and techniques on how to implement continuous delivery have been around for quite a while and is moving away from the exclusive club of early adopters. The tooling and technology around CD have evolved and allows us to fairly easy implement delivery pipelines and the necessary infrastructure. But why is it that many organizations still seem to struggle? As it turns out, the technical solutions of CD is not where the challenges lie. Instead, the hard part is to transform business processes and workflows to a mindset of continuously delivering value. It also puts new challenges on the individual to adopt a new view on how to develop software. In this presentation, we will look at common pitfalls and challenges in implementing CD, and share our experiences from the trenches.