# Why can't we deploy this today?
# 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
# Why can't we deploy this today?
# The story of a bug
Starring:
- π¦Ήπ»ββοΈ Customer
- π¦ΈπΌββοΈ Support Hero
- π§βπΌ Company/Product Owner
- Dev team: π©πΎβπ» Sr. Dev and π·π»ββοΈ Jr. Dev
- Ops team: π
QA and π©πΌβπ System Operator
---
- π¦Ήπ»ββοΈ Customer calls with a question about sending an invoice on Monday 1 May, π¦ΈπΌββοΈ Support Hero logs ticket BS-1234 in
Jira
- π§βπΌ Product Owner, π©πΎβπ» Sr. Dev and π¦ΈπΌββοΈ Support Hero have triage meeting on Thursday 4 May, bug confirmed, priority
'Highest'
- π§βπΌ Product Owner and π©πΎβπ» Sr. Dev have backlog grooming meeting on Friday 5 May
- Team has Sprint Planning meeting on Monday 8 May, commit to BS-1234 for 1 Story Point
# Closed sprint
- Two weeks is fast in context of 6 month CD-ROM releases!
- How long does shipping take for your application?
---
# Closed sprint
- π
- π·π»ββοΈ 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
---
# Pull Requests
- Untrusted contributer send in patch
- Trusted maintainer chooses what to merge
- Communication through centralised repositor
---
# Pull Requests
- π Multiple people look at the code
- π Focus on code level, not product level
- π Value spends a lot of time waiting
- π·π»ββοΈ Jr. Dev processes feedback on Wednesday 17 May, 10:00
- Oh no! π₯ Merge conflict!
- π©πΎβπ» Sr. Dev checks PR #2345 and Slacks π·π»ββοΈ Jr. Dev on Wednesday 17 May, 15:00
- It's the Ascension Day weekend! π·π»ββοΈ Jr. Dev is off to a festival πΊ
---
# Handoffs
- Monday 22 May: another Sprint Planning meeting. The team commits to BS-1234 again (0 Story points now, "it's basically done")
- Tuesday 30 May: π·π»ββοΈ Jr. Dev picks up BS-1234 again, fixes the merge conflict
- Tuesday 30 May: π©πΎβπ» Sr. Dev approves PR #2345 and π·π»ββοΈ Jr. Dev gets to click the β Merge button!
- Friday 2 June: Sprint end! Dev team sends the release candidate to Ops team
---
TODO: Chapter about value streams crossing team boundaries
- π©πΌβπ System Operator prepares release after Sprint end, and deploys update on Tuesday, 6 June 07:00
- π§βπΌ Product Owner sends the update newsletter Tuesday at 09:00
- π¦Ήπ»ββοΈ Customer calls again: the bug is not fixed!
---
- π§βπΌ Product Owner calls an urgent meeting: Why is BS-1234 (zero points!!) open for over a month?
---
TODO: Chapter about time-to-value
# Value stream mapping
- How the *value* flows through an organisation
- *Who* holds responsibility
* Delays in process
- Closed Sprint
- Asynchronous PR review
- Separate release team
* Hand-offs:
- π¦ΈπΌββοΈ Support Hero β‘οΈ Dev Team
- π·π»ββοΈ Jr. Dev β π©πΎβπ» Sr. Dev
- Dev Team β‘οΈ Ops Team
# TODO Processes are there for a reason!
but whom do they benefit?
Continuous delivery
* Build quality in
* Work in small batches
* Computers perform repetitive tasks, people solve problems
* Relentlessly pursue continuous improvement
* Everyone is responsible
# What to do this Monday?
* Sketch how a 1-hour bug streams through your org
- Discovery
- Selection/prioritisation
- Implementation
- Verification
- To production