Opinion: When it comes to DevOps, the trick is to move quickly, but efficiently argues Prachi Ravichandra, Principal Consultant and Head – DevOps COE, at Mindtree.
As you adopt the DevOps culture within your organisations, this will translate into implementing a suite of tools and deploying nodes to your application’s infrastructure faster and more often, taking stability, standardisation and operational confidence into consideration. DevOps is rightly empowering organisations and making tangible, positive impacts on business, while also creating cost efficiencies and saving time.
DevOps requires insight into a business and its specific technology as the same path will not necessarily suit every enterprise. Some business may drive their performance more on the basis of financial statements, market intricacies, and operating efficiencies moreso than tools, technology, containers and development methodologies. The DevOps offering of system thinking, an end-to-end view of the system (from the business idea to the technological implementation) makes it indispensable.
Speed and Consistency
Technology is progressively becoming the interface between the users and the businesses. By having the correct technology to respond to the demand by automation, businesses can achieve the primary objective of improving the customer experience.
Automation is crucial for many DevOps practices and helps you move faster without sacrificing stability or security. You can eliminate manual and siloed processes and move to an automated and collaborative way of working as well as setting yourself up for future innovation and growth.
If engineering teams can make vital changes to applications more quickly and cost-effectively, business will become more receptive to the market needs. For example, if a product team needs to roll out a new feature, the necessary infrastructure will be deployed on demand, and will always conform to the security and configuration specifications required.
With DevOps, this process is made even more efficient by largely automating the process. Effectiveness wholly rests on technology-related decisions, assembling the DevOps tool stack and aligning the business. There is also a need for a shared KPI between the technology and the business, in order to achieve overall business outcome.
As quoted by Gartner in press release "Digital business is essentially software, which means that organisations that expect to thrive in a digital environment must have an improved competence in software delivery." And what better than an effective business technology strategy to drive this?
Operating cost can be minimised by effectively monitoring, managing and dynamically leasing computing resources. The relaying of operational insights back to engineering teams is also critical. Capacity can oscillate and you need not pay for what your business does not use.
Where do we need to change?
At one of our recent engagements, we performed DevOps maturity assessments across a business group. We looked at teams, technologies and applications. With limited time to spend with each team to assess the maturity, we received very different levels of responses as expected.
Responses included "of course we are agile; we have meetings every day morning. We practice continuous integration, we have Jenkins installed and it runs every day"; we would have probably ticked the agile and continuous integration box on the maturity sheet had we not heard the second part of the response.
We needed to help teams self-assess the maturity in given environment where a lot of DevOps concepts and who controls what processes are unclear to enterprises, as this lessens the speed of adoption.
The various stages of the delivery could be at differing levels of maturity. It is important to measure and evolve a strategy in order to reach the next level and, in effect bring the overall delivery maturity to the highest level across all constructs so as to maximise the benefits.
Self-assessing DevOps maturity allows you to position yourself across a set of best practices and striving for the next level could be the required motivation to push ahead and implement this.
Make your own journey to DevOps
Define DevOps for you and what you are trying to achieve: Business goals, current DevOps lifecycle workflows, bottlenecks in the current process.
Asses your current position: What do you measure and not measure? What are you currently achieving? What could you improve? Understand the business and technical constraints, build a process, consider deployment automation and your existing tools stack, compare your findings to industry good practices.
Prioritise: Where are you today and what are your progression targets? Rank yourself by using goals, complexities and dependencies. Consider the changes in the organisation, the people, the processes and the technology.
Exercise: How and where should you improve? Understand your own desire for cross functional change and agree on an actionable plan, making sure to consider your end goal in terms of expected return on investment.
There is no explicit start or end to DevOps – it’s simply a way of adopting to change. The sooner you adopt, the better, but be sure to have a fair idea about what you hope to achieve before implementing your plan.