Continuous deployment is great for collaboration

I didn’t realize until I read something about continuous deployment recently that we have actually been – erhm, practicing? – CD all along.

Resolving our chicken-and-egg problem by using Continuous Deployment

The past two weeks we have been working intensively to develop our first template. Partly thanks to CD the chicken-and-egg problem that we’ve been having for a while has neatly resolved itself.

That problem went something like this:

  1. The dev team would ask the content team what theme elements they need
  2. The content team would be unable to say, because they needed to try formatting the content to figure that out
  3. The dev team would develop little piecemeal elements that everyone thought would be needed
  4. The content team would continue to wait for the dev team to somehow get all the right elements in place so they could format some content
  5. Repeat steps 1-4.

We finally got far enough to settle on a particular template that we had in wireframe form from our designer. We decided that we’d get the template set up, the content team would get a single page done in that template and that would be the next demo to the executive owner of the content.

The template made use of many pieces we’d already done, so I had the basics of the template done in a day, and did a demo at our scrum on the second day of the iteration. I was floored at how quickly I had something to show.

By the end of the week it was baked enough to start deploying. Once the template was out there I scheduled a training session with the content folks. The hour long training was probably as informative for me and S as it was for them – we could see many improvements to make to the template.

Around that same time my son got sick and I had to miss some half days to stay home with him. Nevertheless, our increments were so small that I think we deployed at least once a day all week this past week, often several times a day.

Continuous deployment is just a fun way to work

Seeing the content folks actually using the template made it obvious how we should change things, stuff that we probably wouldn’t have predicted. Deploying small, incremental changes and improving the page each time was really fun. This incremental approach also made it a little easier for our content team – who are good sports but for whom there is a learning curve – to get a feel for things more gradually.

It also helps everyone feel as if something is finally happening on a project that has had a lot of “underwater iceberg” and not a whole lot of iceberg showing above the surface.