5 Prerequisites for a Successful DevOps Initiative

There are certain tools and attitudes that are essential to any successful DevOps transformation.

The manner in which a DevOps transformation is performed will have huge implications on the level of agility the company is able to achieve. However, before that point is even reached, some vital foundations must be laid. It is from that foundation that any innovation occurs. With that in mind, each of these elements are equally important, and should be regarded as such.

Consensus

Your first achievement on the road to successful DevOps should be an agreement on what DevOps means to your company and how it should be applied to your needs. Consensus on a strategy is almost as important as the strategy itself and must be in place before a detailed road map is constructed. Remember that DevOps is subjective and its implementation should vary from company to company. Consensus hopefully will be easy, but if not, it must be built by persuading doubters of the need for certain principles and practices selected.

This is the first step on a cultural journey; the collaboration between Dev and Ops staff and their consensus on a plan could make or break the DevOps idea. The concepts behind the initiative need to be agreed on from all corners of IT, as well as the business and any other key stakeholders such as suppliers. It is important the cons and pros of switching to DevOps are made clear for a balanced proposition. The argument for a shakeup on this scale needs to be compelling and justified for it to go ahead.

Consensus also involves handling expectations. To keep everyone happy there must be metrics and approximate timelines set in place so everyone knows what to expect and when, to avoid conflict further down the line. Only once consensus has been achieved and the basics are put in place can a more detailed road map be built.

Flexibility

A thorough road map is the skeleton that allows its muscular teams to flex independently toward a common goal. However, flexibility without allegiance to the agreed principles can cause chaos. The DNA that runs through all teams stays the same but applications vary, and so teams need to work autonomously if they are to cater for the specific needs and nature of the app they are working on.

While the road map gives a structure and handles expectations, DevOps culture needs to be tied to business outcomes and not formal internal milestones. Each DevOps team needs to be trusted to interpret the road map as it suits the specific project they are working on. Agile methodologies must be used, of course, but their interpretation is devolved to the teams themselves. This license and trust is key in allowing DevOps teams to react quickly and mold around the needs of the individual application.

Teams need freedom in terms of what tools they use and to an extent, how they use them. The methodology used to achieve the agreed core principles should have an element of flexibility. Tool-agnosticism is a must when choosing an automation solution for effective DevOps. Teams are happier and work faster when allowed to choose the tools that suits them best, making them more successful.

Automation

As C. Little said, “DevOps isn’t about automation, just as astronomy isn’t about telescopes.” An automated continuous delivery pipeline should underpin any DevOps initiative, adding consistency and reliability to flexible delivery methodologies. Tribal knowledge from Dev and Ops is gathered to create a pipeline that is the sum of the knowledge of its contributors. The pipeline is repeatable, and over time is made more efficient by rooting out inefficient manual processes. Modelling into a workflow helps all involved visualize where a team is in the app life cycle and what next steps need to be taken next and by who.

Trust in application release automation can be a big deciding factor in how companies achieve successful DevOps practice. Sometimes there is a culture within a company of wanting to have manual control over certain processes that inevitably slow things down. Automating any and every manual task possible is essential to speed up DevOps. If a manual intervention is needed, the relevant member of staff can be notified by the automation solution itself, which automates out the remainder of the task for which manual intervention is not required. Over time, manual interventions will disappear altogether.

The ability to give DevOps teams freedom in their tool selection keeps staff productive but adds yet more complexity and leads to a highly heterogeneous workplace. It’s important your automation solution has approved integrations to all tools DevOps teams might choose and also releases free integration to new tools quickly, so you can stay on top of the latest trends and continue to be successful.

Cooperation

Unless you’re a startup with heavy investment, you’ll likely be changing the structure and workload of your existing staff rather than hiring a new team suited perfectly to their individual roles. The success of DevOps depends on the ability to make positive change in the way team members collaborate.

Resistance to change may occur due to staff being accustomed to working in one particular way for a long time. However, this could also be down to personality type. As it is Ops and Infrastructure staff who face the biggest changes and are used to limiting rather than encouraging risk, often they can be the most resistant to change. Often devlopers do not have to change the way they work to the same extent, so fewer feathers are ruffled.

I have seen big corporations that do not have compliance from everyone, so their DevOps is limited in scope and unfortunately they will never reach full agility. Sometimes you must adjust your teams to ensure positivity to DevOps and receptivity change in general.

Rethink Architecture

I’m not saying DevOps cannot be implemented in legacy systems, but there are elements of legacy systems that make it hard to instill full automation and continuous delivery. What is important is that the organization is open to a certain degree of architectural change. Monolithic apps can certainly slow down a DevOps initiative—often it’s mainframe apps that are not built with a service-orientated architecture—so it’s important to know how to adapt them to fit your strategy.

A full architectural revolution is not needed to be successful. Obviously this is where cloud-native startups have an advantage as they can assemble their infrastructure from scratch, but there is no need to rip and replace existing systems for the sake of it and waste money. Certain elements of even the most monolithic systems can be modernized—for example, Siebel deployments can be fully automated so operations staff are free to concentrate on more demanding aspects of the cultural change DevOps involves.

DevOps applications can interact with legacy systems if we use the right techniques. Make sure your automation solution has integrations with the likes of SAP, Oracle and Siebel, and so enables legacy systems to be enablers on your digital journey rather than obstacles that will stand in your way as you seek to reach full DevOps and end-to-end continuous delivery.

Comments

5 responses to “5 Prerequisites for a Successful DevOps Initiative”

  1. […] There are certain tools and attitudes that are essential to any successful DevOps transformation. The manner in which a DevOps transformation is performed will have huge implications on the level of agility the company is able to achieve. However, before that point is even reached, some vital foundations must be laid. It is from that …  […]

  2. Kathy Bazinet Avatar
    Kathy Bazinet

    Thanks for a “quick read” that reinforces several important elements in a successful DevOps journey. I especially liked the “Rethink Architecture” discussion. It does appear challenging for organizations with monolithic infrastructures to adapt to the agile world; but the opportunity to leverage these older applications is expanding rapidly via the use of APIs and refactoring these applications into microservices. Pair that with exposing the APIs in a developer portal in the Cloud, and the potential to use the APIs to create new apps is now exponential !!!

  3. Ian Clayton Avatar
    Ian Clayton

    What about the product owner/manager? I’m hugely disappointed that so many discussions on DevOps miss this fundamental piece. I’m a formally trained Product Manager (Pragmatic Marketing taught) and when I worked in the role for a worldwide product we had the same challenges today’s DevOps speaks to.

    How do you keep pace with the needs of the business – in our case over 500 customers worldwide, with differing needs and pace of doing business and priorities? There’s hardly anything in Agile of DevOps thats not part of the modern product management challenge. Yet I just don’t see that role properly represented.

    Are we to believe that a software development team can work in a vacuum, making key decisions about feature, function and benefit, maintain a conversation with the customer, and setup the customer facing support procedures, whilst juggling service revision plans, change calendars and release schedules?

    Product backlog and grooming anyone? The Product Owner/Manager is allowed into the scrum but in some cases then put in a corner or cordoned off. Thats asinine. Collaboration is collaboration but in the end you need a referee, a final say, an arbiter who performs both the inbound (development facing) and outbound (market/customer facing) roles.

    The challenge DevOps is trying to address is not new. The core answers are not new. We just have more technological capabilities – shiny objects – that distract us from the key – managing people, managing culture, and managing the product plan.

    1. Michael Schmidt Avatar
      Michael Schmidt

      I fully agree that the maturity of product management as a function is extremely critical for a successful software delivery process. I also agree that in many organizations it impacts the idea-to-production cycle time to the same extend or even more than DevOps-related aspects.

      Organizations are different and if there are not sufficient resources to tackle several challenges in parallel, it is important to first identify the most critical bottleneck and second start to fix it – weather that is at the front part of the process (product mgmt), in the middle (dev and test) or at its tail (release and deploy).

      However, while agile methodology as such also provides some possible answers for product management (certainly not all of them though!), DevOps practices really kick in at later phases of the delivery process.

  4. […] Read the source article at devopsy.kinsta.cloud Original Author: Michael Schmidt […]

Leave a Reply