1
0
Fork 0
why-cant-we-deploy-today/index.html

212 lines
7.0 KiB
HTML
Raw Normal View History

2012-10-21 03:14:50 +02:00
<!doctype html>
<html lang="en">
2023-05-19 20:08:46 +02:00
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>reveal.js</title>
<link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/black.css">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="plugin/highlight/monokai.css">
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<section data-markdown>
# About me
* Dirk Nederveen, [@dirk@blog.ndrvn.nl](https://blog.ndrvn.nl/u/dirk)
* Husband, father of 3, Streaming Engineer (QA) @Jet-Stream
* Interests:
- Theology
- Neurospychology
- Reading
- Beer brewing
</section>
</section>
<section id="toc">
<h1>TOC</h1>
<ol style="list-style: lower-roman;">
<li><a href="#/deployment-anxiety-disorder">Deployment Anxiety Disorder</a></li>
<li><a href="#/feedback-latency">Feedback latency</a></li>
</ol>
</section>
<section id="deployment-anxiety-disorder">
<section>
<em>
Please raise your hand if you ever...
</em>
<ul>
<li class="fragment">deployed code that you didn't trust
<span class="fragment">with a service disruption as a consequence 😱💥</span>
</li>
<li class="fragment">deployed code that you <em>did</em> trust
<span class="fragment">that did boom anyway 😱💥</span>
</li>
<li class="fragment">worked with an acceptance/staging environment
<span class="fragment">and production still did boom 😱💥</span>
</li>
<li class="fragment">held off a deployment on a Friday, to avoid '😱💥'</li>
<li class="fragment">... on a Thursday</li>
</ul>
</section>
<section data-markdown>
# Deployment Anxiety Disorder
2023-05-19 21:03:30 +02:00
*A troublesome fear that prod go 💥. Symptoms may include:*
2023-05-19 20:08:46 +02:00
- excessive or insufficient release planning
- difficulty to perform updates
- panic attacks
- CYA strategies
- entertaining thoughts about working at Hornbach
</section>
<section data-markdown>
# Stress hormones
* natural response to stress
* acute stress: adrenaline
- fight-or-flight response
- prepares your body for action
* prolonged stress: cortisol
- freeze response
- restlessness
- anxiety disorders, depression
* mortal enemy AND big ally
- big ally if you learn to regulate the body response to stress hormones
</section>
<section data-markdown style="font-family: 'Comic Sans','Comic Neue';">
# Regulation 🏗️
* Respond to stress hormones for your benefit
- from *fight* to *take control*
- from *flight* to *take a break*
- from *freeze* to *accept*
* Apply brakes
2023-05-19 21:03:30 +02:00
* Build trust
2023-05-19 20:08:46 +02:00
* Control emotions
</section>
<section data-markdown style="font-family: 'Comic Sans','Comic Neue';">
# Emotional regulation in software delivery 🏗️🏗️
* Apply brakes
- Commit to an *acceptable* workload
- Communicate about your needs
2023-05-19 21:03:30 +02:00
* Build trust
- Deliver quality software
2023-05-19 20:08:46 +02:00
</section>
2023-05-19 21:03:30 +02:00
</section>
<section id="continuous-delivery">
<h1>Continuous delivery</h1>
<div style="width: 80%; float: left" data-markdown="">
* Build quality in
* Work in small batches
* Computers perform repetitive tasks, people solve problems
* Relentlessly pursue continuous improvement
* Everyone is responsible
</div>
<div style="float: right; width: 20%; height: 8em">
<a href="https://www.bol.com/nl/nl/p/accelerate/9200000080652224">
<img src="accelerate.jpg" style="height: 50%;">
</a><br>
<a href="https://www.informit.com/store/continuous-delivery-reliable-software-releases-through-9780321770424?ranMID=24808">
<img src="cd-book.png" style="height: 50%;">
</a>
</div>
2023-05-19 20:08:46 +02:00
</section>
<section>
<section data-markdown>
# Value stream mapping
How does the value stream through the organisation?
2023-05-19 21:03:30 +02:00
👇
2023-05-19 20:08:46 +02:00
</section>
<section data-markdown>
- Customer calls with a question about sending an invoice on Monday 1 May, Support Hero logs ticket BS-1234 in
Jira
- Product Owner, Tech Lead and Support Hero have triage meeting on Thursday 4 May, bug confirmed, priority
'Highest'
- Product Owner and Tech Lead have backlog grooming meeting on Friday 5 May
- Team has Sprint Planning meeting on Monday 8 May, commit to BS-1234 for 2 Story Points
2023-05-19 21:03:30 +02:00
👇
2023-05-19 20:08:46 +02:00
</section>
<section data-markdown>
- Jr. Dev picks up BS-1234, needs clarification and sends Customer an email on Wednesday 10 May
- Customer responds Thursday 11 May, 16:00
- Jr. Dev starts implementation on Monday 15 May, opens PR #2345 in GitHub
- Sr. Dev responds to PR #2345 on Tuesday 16 May 16:00, needs improvement
2023-05-19 21:03:30 +02:00
👇
2023-05-19 20:08:46 +02:00
</section>
<section data-markdown>
- Jr. Dev processes feedback on Thursday 18 May, 10:00
- Sr. Dev merges PR #2345 on Thursday 18 May 🎉
- Operations Team prepares release after Sprint end, and deploys update on Tuesday, 23 May
</section>
2023-05-19 21:03:30 +02:00
<section data-markdown="">
Why is this process slow?
* Closed Sprint (1 week)
* Hand-offs:
- Support Hero ➡️ Tech Team
- Jr. Dev ➡️ Sr. Dev
- Dev Team ➡️ Ops team
* Delays in process
- Asynchronous PR review
- Separate release team
</section>
<section data-markdown="">
# What to do this Monday?
* Draw the value stream in your org
*
</section>
2023-05-19 20:08:46 +02:00
</section>
</div>
</div>
<script src="dist/reveal.js"></script>
<script src="plugin/notes/notes.js"></script>
<script src="plugin/markdown/markdown.js"></script>
<script src="plugin/highlight/highlight.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
// - https://revealjs.com/config/
Reveal.initialize({
hash: true,
// Learn about plugins: https://revealjs.com/plugins/
plugins: [RevealMarkdown, RevealHighlight, RevealNotes]
});
</script>
<script>
document.querySelectorAll('.slides section a[href^="http"]').
forEach(a => a.setAttribute('target', '_blank'))
</script>
</body>
</html>