# 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