SLIDE 1 From Inception to Production
A Continuous Delivery Story
SLIDE 2 Fearlessly*, continuously delivering value
* but not irresponsibly
SLIDE 3 pushpay
https://www.nzx.com/companies/PPH/announcements/299761
SLIDE 4
Tools People & PRactices Just culture & blameless postmortems
SLIDE 5
Our journey begins...
SLIDE 6
Why?
Shared vision over the value to the business
SLIDE 7
Who?
Product Qa Dev
SLIDE 8
You can’t test the quality in at the end
SLIDE 9 Building a feature
“How will I Build this thing?”
Dev Qa
“How will I break this thing?”
SLIDE 10
Building a larger feature
Long-lived feature branches feature switches
SLIDE 11
The delta
SLIDE 12 Building a larger feature
Long-lived feature branches feature switches
- Delta gets too big
- Small deltas
- No feedback
- Regular feedback
- DRY code
- Technical debt
SLIDE 13
Feature switches
Configuration per environment
SLIDE 14
Feature switches
URL manipulation to toggle switches on/off in QA (DO NOT do this in Production)
SLIDE 15 Feature switches
- Deliver daily increments of (non-running) code
- Light up a slice of feature
- Measure
- Re-think road-map to complete feature
SLIDE 16
WOMM
SLIDE 17 Code review
- Every line of code gets reviewed
- Code must be reviewed and WOMMed before
merging.
- “Roll Forwards To Victory”
SLIDE 18 Code review
Validate approach Performance, Security, Operability Cohesion, Coupling and Connascence Be honest and positive. Be rude. Seriously, don’t be rude. Sweat the small stuff, like bracing, spaces
Do Don’t
SLIDE 19 Cross-pollination
- Someone else does it all again!
- Pollinator is not (necessarily) involved with
feature
SLIDE 20 Just culture
http://sidneydekker.com/just-culture/
SLIDE 21
SLIDE 22
Just culture
Retributive - clarity around acceptable vs unacceptable behaviour Restorative - “safe-to-fail”
SLIDE 23
Fear of breaking things will paralyze your organization.
SLIDE 24
Toyota’s five whys
SLIDE 25 Blameless Postmortems
https://codeascraft.com/2012/05/22/blameless-postmortems/
SLIDE 26 When?
- Opportunity to learn
- Something that impacted production
- Near-miss
SLIDE 27 How?
- Asynchronously in a wiki
- Coordinated in Slack channel #morgue
- Co-ordinated by person(s) closest to the
incident
SLIDE 28 What?
- Scenario and impact
- Timeline
- Discussion
- Mitigations
SLIDE 29 Fearlessly*, continuously delivering value
* but not irresponsibly
SLIDE 30 This shit be hard, yo.
@kiwipom