DevOps for Product Managers

17 Oct 2015

Help for Product Managers trying to understand ‘DevOps’.

I recently joined the Ministry of Justice Digital team as Product Manager for the Cloud Platform. MoJ Digital’s Platforms team provides all of the technical infrastructure needed behind the scenes, powering the applications developed to transform public services.

Dave Rogers (Head of Technology) suggested that I read ‘The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win‘. The book explains the importance of integrating software development and IT, otherwise known as ‘DevOps‘, and is a helpful tool for any product manager trying to learn more about digital infrastructure and the role of WebOps.

‘The Phoenix Project’ is also an exploration of what an organisation run by Kanban looks like. The novel introduces ‘The Three Ways’, a description of the values and philosophies that guide DevOps processes and practices.

“The First Way is about the left-to-right flow of work from Development to IT Operations to the customer. In order to maximise flow, we need small batch sizes and intervals of work, never passing defects to downstream work centres, and to constantly optimise for the global goals (as opposed to local goals such as Dev feature completion rates, Test find/fix ratios, or Ops availability measures).

The necessary practices include continuous build, integration, and deployment, creating environments on demand, limiting work in process, and building safe systems and organisations that are safe to change.”

“The Second Way is about the constant flow of fast feedback from right-to-left at al stages of the value stream, amplifying it to ensure that we can prevent problems from happening again or enable faster detection and recovery. By doing this, we create quality at source, creating or embedding knowledge where we need it.

The necessary practices include ‘stopping the production line’ when our builds and tests fail in deployment pipeline; constantly elevating the improvement of daily work; creating fast automated test suites to ensure that code is always in a potentially deployable state; creating shared goals and shared pain between Development and IT Operations; and creating pervasive production telemetry so that everyone can see whether code and environments are operating as designed and that customer goals re being met.”

“The Third Way is about creating a culture that fosters two things: continual experimentation (which requires taking risks and learning from success and failure), and understanding that repetition and practice is the prerequisite to mastery.

Experimentation and risk taking are what enable us to relentlessly improve our system of work, which often requires us to do things very differently than how we’ve done it for decades. And when things go wrong, our constant repetition and daily practice is what allows us to have the skills and habits that enable us to retreat back to a place of safety and resume normal operations.

The necessary practices include creating a culture of innovation and risk taking (as opposed to fear or mindless order taking) and high trust (as opposed to low trust, command-and-control), allocating at least twenty percent of Development and IT Operations cycles towards non-functional requirements, and constant reinforcement that improvements are encouraged and celebrated.”