Experiences of an Inland Empire Dad

Implementing devOps Principles

The Agile methodology brought with it a lot of great concepts.

  1. Automate Builds and Deployments
  2. Provision Servers
  3. Monitor Application Performance

Today, innovation and digitization are at the core of most business strategies.  To satisfy the business demands, IT organizations must move towards continuous deployments and integrations.  This is why devOps is an important pivot in an IT organization.

In order to realize this synergy between the development and the operations teams, there has to be trust and support.

If you want to build out an enterprise level devOps practice, it’s about planning and executing that plan.

Step One: Initial Planning for Enterprise Readiness

Typically, there are several small devOps programs already in place in silos that lack maturity to scale to the enterprise level. Design Thinking is a great method to use since it leverages the expertise of all stakeholders, enables them to come to a common understanding, and establishes the needed buy-in.

Participants should absolutely include all the towers that make up the solution delivery. Business participation is imperative, along with operations, security and development. I always recommend that the workshops conducted in this step be led by an external experienced consultant or a coach. The key here is to get executive buy-in and create common goals and understanding on what an Agile-DevOps program will look like.

Step Two:  Establish a DevOps Center of Excellence

Establishing a Center of Excellence (CoE) is not good enough if it’s not at the right organizational level and enterprise authority. It has to be led by an enterprise leader who has the support and buy-in from all the towers. Active participants of the CoE include representatives from all the delivery towers and also vendor organizations. These participants must be chosen wisely.

Step Three:  Establish Program Governance

This is the most important step to make an impact to the culture of the organization. With Agile and DevOps, practitioners’ roles and responsibilities will change. They’ll need awareness and empowerment to succeed. It is extremely important they understand collaboration between organizations that historically may have had animosity so they can break down these organizational walls.  KPIs must shift from individual metrics to holistic customer business outcomes.

Step Four:  Establish Project In-take Process

Project intake really sets the tone for how successful each sprint that onboards the program will be. It is not so much about tools and process, but the right sizing of tools and process. There needs to be a fit for purpose in the selection of accelerators, tool chain and development methods. Once established, communication of the intake process needs to occur across the organization.  Gather feedback and continually evolve and mature.

Step Five:  Identify and Initiate Pilots

This step has the best chance of success if applied to a specific portfolio of applications or a domain solution. I strongly recommend having some working sessions prior to this workshop to identify an area of development work that represents a portfolio to scale to the enterprise.

The purpose of this step is to conduct a value stream-mapping exercise of a specific application with participants from all towers. This needs to be conducted with the level of detail necessary to identify end to end as-is process, tooling, manual and automated processes, and skills and people involved.

Step Six:  Scale Out DevOps Program

The final step is to take feedback from metrics of the pilots and scale them by running multiple release trains from different application portfolios. It’s not good enough to just do daily builds and automated deployments. The final piece of the DevOps puzzle is the continuous feedback and optimization.

Summary

The above is an approach that can be implemented in a flavor that best represents each organization’s needs and constraints. Be considerate of large gaps or excessive deviations that may be red flags to be corrected.
Now that you are equipped with the six steps for an enterprise DevOps transformation, you can look at each of them critically, see best fit, and start the journey!