If you have an existing system for which you’re applying Cloud Delivery, one of the first things you’ll do is gather as much documentation as you can. In particular, you’re looking for documentation for:

  • Get access to systems
  • Machine provisioning
  • Machine configuration
  • Software builds
  • Software deployments
  • Running tests
  • Running static analysis and/or code reviews

The example here describes provisioning and configuration of a machine. The full instructions are over 10 pages. I’ve been on other projects in which the instructions for provisioning (if well documented), configuration, build, testing and deployments were over 100 pages. There are several obvious problems with this – some of which were described in Lesson 1. The first is that the second after any of this documentation is written, it becomes inconsistent with reality. Furthermore, for each and every time you want to run a build, deployment, or other process, you have to trust that it’s run correctly each and every time. Finally, there’s enormous queue and wait time added to the overall cycle time. All of this causes people to perform these types of action less frequently which means there’s less feedback provided to teams that are creating these software systems. Manual instructions Ok, back to the program…if you’re lucky, the existing team has documented the process thoroughly. In many instances, this ins’t the case. Sometimes, there’s a combination of scripts and documentation making a muddled patchwork of a system for creating the system. In this step, you want to gather as much useful and current documentation that describes the current processes for provisioning, configuring, building, deploying, testing and releasing the software system. In a later sub-lesson, you’ll curate and modify these instructions so that they can be automated.