2. How often did you give a gift that made the other person happy?
How often did the gift not make happy?
What makes you feel better?
Before we begin…
3.
4.
5.
6. 60%–90% of ideas do not improve the
metrics they were intended to improve.
7. Feature & Delivery Pressure
1/3 of ideas created a statistically significant
positive change
1/3 produced no statistically significant difference
1/3 created a statistically significant
negative change
10. Our highest priority is to satisfy the customer through
early and continuous delivery of valuable software.
1st principle behind the Agile Manifesto
20. If you mix Sugar, Flour, Cocoa, Salt, Baking Soda and a
few other things together, you don’t get
SugFloCocSalBak, you get a cake.
– Ken Mugrage
Classic Definition of DevOps - Part 3
http://www.kenmugrage.com/post/my-new-definition-of-devops/
21. DevOps helps to get user feedback faster
https://www.thoughtworks.com/insights/blog/agile-and-user-centered-design
26. Each delivery step in the project is a step on the value stream map
How to start drawing a Value Stream Map (VSM)
27. Highlight "non-value creation time" and "value creation time"
Which jobs can run in parallel to get faster feedback?
A Value Stream Map - Note down the duration of each step
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
5min 15min 2min 15min 2min 15min 2w 5min 15min
28. Time wasted on waiting for ticket approval. Clicking the approval
takes very little time.
A Value Stream Map - Detect "waste"
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
5min 15min 2min 15min 2min 15min 2w 5min 15min
10min
29. PRODSITDEV
Once you see the full path to production you can identify groups of
steps. These groups can be called 'phases' or 'stages' of the pipeline.
A Value Stream Map - Group the phases to get 'stages'
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
5min 15min 2min 15min 2min 15min 2w 5min 15min
30. How many times do you have to repeat the steps due to feedback?
= delivery time to SIT x 4
A Value Stream Map - Detect "Redo" and "unplanned" work
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
5min 15min 2min 15min 2min 15min 2w 5min 15min
10min
avg. 2 times "re-do"
avg. 2 times "re-do"
31. How many teams and regulations are involved in the process?
A Value Stream Map - Get to know the other people involved
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
SECURITY
PERFORMANCE
QA
32. What are the deliverables? What is the result of each step?
A Value Stream Map - Get to know the outcomes & artifacts
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
33. How long does it take to change
one single line of code in production?
Famous question from the Continuous Delivery Book
35. You know now how your Value Stream Map looks like
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
SECURITY
PERFORMANCE
QA
Let's convert the VSM into a Delivery Pipeline!
38. You know now how your Value Stream Map looks like
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
SECURITY
PERFORMANCE
QA
pipelines:
pipeline_name:
materials:
git:
git: https://git.example.com
stages:
- build:
- test:
- deploy:
https://github.com/tomzo/gocd-yaml-config-plugin#specification
39. You know now how your Value Stream Map looks like
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
SECURITY
PERFORMANCE
QA
pipelines:
pipeline_name:
materials:
git:
git: https://git.example.com
stages:
- build:
jobs:
build:
artifacts:
- build:
source: dist/
tasks:
- script: |
echo "Run build"
bash ./scripts/build.sh
- test:
40. You know now how your Value Stream Map looks like
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
SECURITY
PERFORMANCE
QA
pipelines:
pipeline_name:
materials:
git:
git: https://git.example.com
stages:
- build:
tasks:
- script: |
echo "Run build"
bash ./scripts/build.sh
- test:
artifacts:
- test:
source: test/
destination: test-reports/
tasks:
- script: |
echo "Run tests"
bash ./scripts/test.sh
41. You know now how your Value Stream Map looks like
Build Test
Deploy
DEV
Test
DEV
Deploy
SIT
Test
SIT
Wait for
Approval
Deploy
PROD
Test
PROD
SECURITY
PERFORMANCE
QA
stages:
...
- deploy:
tasks:
- fetch:
pipeline:
stage: build
job: build
source: dist/
- script: |
echo "Run deployment"
bash ./scripts/deploy.sh
46. Read
Survey of more than 25,000 technical
professionals worldwide over the last
five years
Understand how DevOps practices
impact IT and organizational
performance
https://puppet.com/resources/whitepaper/state-of-devops-report
47. Read
Stay up to date & subscribe to the
ThoughtWorks Tech Radar
http://www.thoughtworks.com/radar
48. This site attempts to collect all the
related facts, rationale and techniques
for Trunk-Based Development
together in one place, complete with
twenty-five diagrams to help explain
things.
All without using TBD as an acronym
even once twice.
Read
https://trunkbaseddevelopment.com/