Matthew Skelton presented on common anti-patterns seen when adopting continuous delivery practices. The anti-patterns included not reading the Continuous Delivery book, having long and slow deployment pipelines, claiming continuous delivery is not suitable, lacking effective logging and metrics, insufficient investment in builds and deployments, neglecting operational aspects, forgetting about database management, attempting to "just plug in" a pipeline, and prematurely adopting containers before establishing good practices. Skelton recommended focusing on practices like using the Continuous Delivery book, shortening pipelines, logging and metrics, funding build/deployment, addressing all features, managing databases, rearchitecting for continuous delivery, and establishing practices before complexity.
12. Keep Everything in Version Control
Done Means Released
Don’t Check In on a Broken Build
Never Go Home on a Broken Build
Fail the Build for Slow Tests
Only Build Your Binaries Once
Deploy the Same Way to Every Environment
25. “Nope.
CD is fine for some
systems/teams/software,
but each company should
make their own business
decisions about how often
to release code.”
(Why every development team needs
continuous delivery)
26. “…each company should make their own business
decisions about how often to release code…”
err, this is exactly what we get with
Continuous Delivery practices!
72. Not reading any of ‘Continuous Delivery’ book
Long and slow deployment pipelines
“Continuous Delivery is not for us”
No effective logging or application metrics
No investment in build & deployment
Operational aspects not addressed well
Forgetting the database
“Just plug in a deployment pipeline”
Container envy
73. Use the CD book
Short, wide pipelines
Deliver to a simulation environment
Aggregated logging + metrics
Explicitly fund build & deployment
Single backlog for all features
Use a tool for DB changes + version control
Re-architect for Continuous Delivery
Adopt good practices before using containers
75. References
‘Continuous Delivery’ by Jez Humble & Dave Farley, 2010
https://www.amazon.co.uk/Continuous-Delivery-Deployment-Automation-Addison-
Wesley/dp/0321601912/
‘Deployment Pipeline anti-patterns’ by Jez Humble
http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns/
‘Why every development team needs continuous delivery’ by Sarah Goff-Dupont [Atlassian]
http://blogs.atlassian.com/2015/10/why-continuous-delivery-for-every-development-team/
‘Continuous Delivery with Windows and .NET’ by Chris O’Dell & Matthew Skelton, O’Reilly, 2016
http://cdwithwindows.net/
‘Database Lifecycle Management’ by Grant Fritchey and Matthew Skelton, Redgate, 2016
http://thedlmbook.com/