I’m determined to learn more about Continuous Delivery / Deployment / Integration hence have turned to the teachings of Jez Humble and David Farley.
…Now whilst the teachings are great I’m having to adapt some of them as the book is mainly about delivering Software; something I’m involved in but it’s the wider deployment paths I want to learn more about. So if you are a continuous delivery expert don’t shoot me if I tweak Humble/Farley teachings to suit my own needs!
The key priority is to satisfy your target market (whether that be customers, members or employees) via early, staged and continuous delivery of valuable output(s). e.g websites, apps, software, etc. You need to get that “widget” in the hands of your target market to test, gain feedback (swift feedback loops are essential), refine and iterate. The principle many should use to begin with is one of a minimum viable product (see my post on how to tackle your MVP)
There are essentially 8 principles of continuous delivery that will now follow:
1/ Make the process of deploying as repeatable and reliable as possible. (Smart) Automation is the way to go if you want to create a repeatable and reliable cycle of delivering your output…
2/ Automate as much as you can so that in the end you save time, money and improve quality (i.e beat the golden triangle principle I post about separately!)
3/ If a process is painful then do it more often (to get better at it) and/or try to find a way of automating it.
4/ Keep everything in source control.
5/ Done means deployed and in the hands of your target market; not “I’ve thrown it over the wall for someone else to sort out”.
6/ Build quality in as standard. Quality KPI metrics should be defined from the start and kept to (adapted of course as you iterate but kept to).
7/ Teamwork, and joint ownership, rules. Everybody involved in the deployment are responsible for it successfully hitting your target market. Everybody (project managers, coders, UAT, etc) should care about one another and focus on how do you get this out the door as a team. Go Teamwork!
8/ Improve and iterate continuously.