The Key to aligning Agile Dev and Stable Ops to a Successful DevOps Transformation

.
So who does own DevOps? I left readers with this cliffhanger after my last post and my intro post on The What, Why and How of DevOps. If an organization is embarking on a DevOps transformation, how should it be led so that Dev and Ops teams are likely to collaborate more and battle less in adapting and maturing new practices?

To answer this question, I would suggest we get back to basics and review the role of Dev and Ops in an IT organization.

Dev Must Align with Business Priorities


The Development team should operate as the technology extension of the business. This means that they must be looking to provide expertise around enterprise applications and specifically on how business users can be more productive, drive data driven decisions, connect with customers, or make supply chains more efficient. It means that they have to be spending their time building or enhancing applications. When looking at how the Dev team spends its time, ideally they aught to be spending 70-80% of their time developing new capabilities and ideally only 20-30% on "support".

Therein lies a key question - what is support? I'm using Support as a catch phrase for time spent on any other non-administrative tasks that is not Development. It could be chasing an operational incident or diagnosing a defect. It could be upgrading versions of anything from an enterprise application to a javascript library used in an application.

And... it can also be anything technical to make the Development team more efficient. It can be investing time in configuring version control, automating builds, or scripting deployments. It can be time spent researching technology tools. All of this time, while very critical to an efficiently running Development program is time balanced against direct efforts to improve the business.

Many Dev teams have adopted agile development practices to better align with the business and to focus their development efforts. The successful ones will deploy frequently and push their Ops teams to support more frequent changes. But while Dev teams optimize for speed and agility, then may compromise stability and quality. When this happens, it is the Ops team that often feels the pain points of fixing what Dev released.

Operations Align with Stability and Reliability


While Dev is optimizing for speed and may compromise reliability, Operations has the opposite charter and look to insure the performance and reliability of the environment as their top priority. Their practices such as incident management and change management align with this charter and aim to protect the business from disruption. Disruption can be outages that affect customers and business operations, but also mean incidents that hamper organization productivity.


The byproduct of protecting the organization is often rigidity. Examples include infrequent time windows for change management or lengthy lead times to deploy new infrastructure. Ops teams may also suffer by only learning systems view of monitoring a system - the system is up vs. the application is performing as expected.
 

DevOps Practices Align Development and Operations


DevOps practices are designed to make Development more reliable and Operations more agile and nimble - effectively helping each organization with their weaknesses. For Development, practices such as automating test cases, scripting application deployments, and standardizing application builds all aim to improve the quality and reliability of hand-offs from Development into Operations. For Operations, standardizing system configurations, automating server changes, and scripting cloud operations are all tools to help automate Ops and enable them to be more agile with infrastructure. Therein lies the transformation, and more specifically a better balance between agility and stability.

So Who Leads DevOps?


The transformational CIO does. Transformation requires a senior leader to sponsor the investment, prioritize the effort, and market the wins. Transformational efforts that cover multiple practice areas need leadership to help prioritize and set the scope of the effort.

But regarding Dev and Ops collaborating through a transformation - the CIO needs to step in and redefine objectives, roles, and responsibilities. In what areas does Dev need to be more stable? To what business benefit and to what extent does Ops need to become more agile? When instituting a configuration management tool, what is Ops' primary objectives and where must Dev contribute?

The CIO needs to lead these discussions, set priorities and secure the collaboration required to make this transformation successful.

No comments:

Post a Comment

Comments on this blog are moderated and we do not accept comments that have links to other websites.

Share