You build it, you own it!

One of the most powerful transitions I experienced while at Brightcove was the shift away from dev-and-test-and-deploy silos. In its place came teams who built, tested, deployed, and operated our services.

I recently came across an ACM interview with Werner Vogels from Amazon. The article is from 2006 but discusses their experience with this transition:

Giving developers operational responsibilities has greatly enhanced the quality of the services, both from a customer and a technology point of view. The traditional model is that you take your software to the wall that separates development and operations, and throw it over and then forget about it. Not at Amazon. You build it, you run it. This brings developers into contact with the day-to-day operation of their software. It also brings them into day-to-day contact with the customer. This customer feedback loop is essential for improving the quality of the service.

The key building block is, “You build it, you run it.” I would prefer a slightly stronger statement, which is: “You build it, you own it.” In the best of worlds, there is no handoff – the team writing the code is the team testing the build is the team deploying the service is the team responding to support requests and is the team paged if something breaks in the middle of the night.

This is the ideal that the devops movement is trying to accomplish. There is no wall, no barrier that divides an organization into separate teams based on skills. Instead, there are blended teams trying to completely solve some problem.

Giving a team ownership of a product motivates those individuals to take fuller responsibility for their work. They learn more about the problem being solved. They learn more about constraints placed upon their system (perhaps business, perhaps technical). There is no one between their output and your customer.

I take it personally when something I built does not perform as anticipated or fails to meet some customer need. I take pride in products I deliver; my work is a reflection of me. I take it as a personal failure if my work makes me lose a night of sleep, or worse, if I cause someone else to have a rough night. None of this is discouraging! My defensive reaction drives me to improve our products further and to be more critical in my own work going forward.

I have seen this same behavior in others; ownership that encourages personal responsibility is a powerful feedback loop that can drive a product team forward.