(Stolen fromEvan Bottcher)
How to assess the current situation?
I would start by drawing a big visual map of the path from developer check-in to production,including the likelyintegration of multiple streams of work. Have the teams estimate the time taken in each stage,likely delaysetc. This can be quite enlightening when seen from a total value-stream view – as few peoplewill have thewhole picture at present.
Categorise time and effort as ‘value-add’ vs ‘non-value-add’. E.g. time inmanuallytesting from scripted scenarios is non-value-add as a computer could do it more quickly. Manualtesting forexploratory testing is probably value-add, if it is genuinely finding defects.
Metrics would be build times, deployment time, how long does it take to configure an environment. Howmanydefects are found, how many are true defects, how many are configuration and environment?
How to shape an improvement plan for “last mile”?
Need to prioritise areas of concern from your map of the path to production. Root cause analysisshould be doneto understand the cause of delays and defects. Spend some time setting a vision for what the bestpath toproduction would look like for the customer, and build out a set of steps to implement thosechanges. E.g.“shift to trunk development”, “train staff in continuous integration”,“automateself-service production-like environment”.
Who is able to do this?
Need to quickly understand the source control, development practices, deployment environment andarchitecture insufficient detail to be able to understand how to improve things. If it’s a unix targetenvironment, bestto understand something of that environment.
A generalised set of tools/tech/skills:
- automation (e.g. capistrano, ruby, bash, powershell etc.)
- source control, and methods to do trunk development and deployments (feature toggles and branchbyabstraction)
- configuration management – chef, puppet, whatever you can apply to windows servers if that’sinscope
- understand the ops perspective – tools for monitoring, logging, plotting systemperformance andstability over time (nagios, ganglia, cactii in the open source area)