We have already discussed in a previous Blog, What DevOps actually means. Today, we’d like to take the time to discuss some of the key challenges teams have when implementing a DevOps strategy within their organisation.
As any organisation undertaking a DevOps transformation, new and conflicting methodologies, tools and technologies will rear their ugly head. However, early on in a team’s cultural evolution, the teams themselves and individuals are typically the largest hurdle getting in the way of adoption. We will, in this post look at:
In many cases, these “bumps in the road” are made out to be mountains when really the term ‘mole hill’ would hit the nail on the head.
The journey to DevOps nirvana will be totally different for every company. There is no ‘cookie cutter’ approach to rolling out a DevOps initiative. For us, the most crucial element of a DevOps transformation is ensuring the entire organisation is aligned, top down and bottom up. Only with this understanding can you start to make tangible progress toward a culture of agility and DevOps methodologies.
At Percipience, we are able to measure the current state of any organisation and the progress they make on their journey by measuring against the Percipience LLP DevOps maturity model. Having a clearly defined maturity model allows us to hold open, honest conversations about current state and set a roadmap clearly indicating the factors needed for success. We find that the ability to hold open conversations at every level of the business enables us to demonstrate early wins and in true agile manner deliver value extremely early in any engagement.
Tooling issues and frustrations
The presence and maturity of provisioning, configuration and infrastructure management tools that could create a repeatable, scalable end-to-end continuous deployment process are typically lacking on the IT side. Manual processes requiring highly specialised knowledge without shared responsibility for their creation or maintenance, is one key consequence of this.
However, production, deployment, monitoring and automation may be well developed on the IT side, but development teams have little or no access to such resources even though these tools could ultimately enhance their own work or allow them to contribute and share responsibility from a production point of view.
While many available infrastructure management tools typically are not as advanced compared to other tools used by developers, almost any tool is better than manual, specialised or in-house scripts. Such tools for automating infrastructure allocation, provisioning and configuration are rapidly improving.
There are two elements of architecture to take into account when moving to DevOps. First that of the software itself, which can impact the ease of acquisition, building, configuring and testing individual releases of the entire system.
Second, is the amount of maintenance and support required from the operational side to support production, testing and deployment. A non-workable situation occurs, for example, when scaling up an application produces a nonlinear increase in the amount of infrastructure needed or a decrease in performance due to shared resources such as databases or communication channels. Anything that developers can do architecturally to reduce costs and time on the operations side will optimise & shorten the delivery process.
Whether the gap between your organisation’s current state and DevOps is narrow or so wide you cannot see the other side, both situations will benefit from taking a longer-term, incremental approach to DevOps implementation; that is mindful of the multidimensional, interdependent challenges both technical and culturally. Thankfully, the rewards outnumber the challenges through the creation of a more productive, collaborative and customer oriented production capability. At Percipience, we pride ourselves on being able to help you implement the right strategy for your organisation to truly become optimised with your DevOps strategy. For more information, we would be excited to talk to you about your DevOps Journey.