Sunday, May 15, 2016

Production first mindset and the DevOps culture

The most effective DevOps teams are the ones that have the mindset of keeping production stable. One of the main challenges of a cultural transformation to DevOps is to make everyone recognize that production is not just the responsibility of IT operations but for the entire team. The whole team should have the main focus and dedication to  constantly keep track  of the live production status, and to identify, rectify and fix any issues in production.

Matured DevOps teams employ practices or processes to proactively identify any application slowdowns or performance degradation of the servers in production and thus solve them before the users are affected by them. These teams heavily depend on automation practice thus reducing the mean time to recover (MTTR) to nullify the impact of issues in production on the end users. Practices like Real user monitoring (RUM), are used where actual user interaction with the application is monitored to determine if users are being served quickly and without errors, and if not, identify which part of the business process is failing.

Unlike traditional organizations where IT and development teams have different backlogs and tools, DevOps teams make use of a single prioritized backlog, unified development tools, high quality agile development practices like version control, automated quality, build are release.

A production first mindset means that DevOps teams need to ensure all decisions made to improve end users satisfaction is supported by the evidence and data gathered in production. This demands a change in the mindset of the DevOps team members to not fear experimenting. These experiments like A/B testing, canary releases etc. help them to understand and evaluate changes to user experience and use this information to plan future work and effectively prioritize the team backlog. Making use of real application insights and user telementary for proactive issue tracking, root cause analysis and triaging is deep rooted into the way of working.

Because DevOps requires a large change in  operational culture, technical processes, way of working and organizational thinking. It requires focused investment in people, tooling and process. The DevOps cultural movement should be aided by constant coaching and mentoring of people involved to reach the goal successfully.