Enabling DevOps
Rajesh Roy
Transformation I Operating Model Design I Strategy I Lean I Value Creation I Agile I Change Management I Risk & Compliance
If you were to ask an IT professional, "what enables DevOps?", perhaps a typical response would be: automation, service virtualisation and application performance management. To me, in addition to the above technical requirements, the success of DevOps is hinged on the concept of decentralisation: that of decision making, of budget management and of objective management. This calls for a considerable shift from the command and control model to one that believes in genuinely connecting people with strategy.
The subject of objective management warrants further explanation, as it is a key metric that shapes and drives organisational behaviour; I call it the psychology of the workplace! A good DevOps organisation focuses not only on traditional metrics like “release frequency” or “mean time to recover” etc. but also on business value metrics like revenue growth, customer satisfaction levels and on team culture. In a good DevOps culture, product owners have an ongoing and an important role in communicating the strategic intent of business priorities.
In my first article of this series, I outlined the importance of achieving “flow” and “balance” of work in a DevOps context. Typical organisations focus on project management and traditional cost models, whereas the real benefit arises from having a true end-to end value stream view of the deliverables from a business outcome viewpoint. This concept of “flow” relates not only to the journey from “code-to-commit”, but also refers to the flow from “idea-to-value”. DevOps organisations optimise value by having a balance of flow of features (value creating) with that of defects, risks and technical debt (value leaking).
Good Communication is a key enabling feature of DevOps. Absolute clarity on how various types of work enter the system, what needs to be done and which tools are to be used ensures that all stakeholders receive, interpret and act on the information in a consistent and value adding manner. The DevOps approach is enabled by building a culture of team ownership which fosters combined capability, collective responsibility, shared control and influence.
In a good DevOps context people don’t ask “How is it going?”. They ask instead, “What is not working, and what can we do about it?” Such an approach enables the relentless removal of barriers and waste and the optimization of strategic intent.
As outlined in the second article of this series, Automation is one of the key enablers of DevOps. The ethos of automation encapsulates all aspects of a DevOps framework and covers:
- Build automation
- Test automation
- Deployment automation
- Monitoring automation
- Recovery automation
- Infrastructure automation
- Metrics automation
Automation is achieved through a set of IT tools which are structured and integrated in a pipeline. This pipeline helps to deliver the solution through the design, build, deploy and monitor stages. DevOps works well when Infrastructure teams are embedded with Design teams right from the start and both skillsets work together to design, deliver and maintain the product. This enables agility in products and services, achieved through frequent and continuous deployment of new features and rapid deployment of fixes. Such an approach ensures real-time responsiveness to customer needs and an improved user experience. A collaborative effort also ensures that teams no longer work in silos. Any delays owing to late problem identification can be easily and proactively addressed, which in turn enhances team productivity levels.
I conclude this article with a brief commentary on the specific areas where firms face challenges in enabling Dev Ops. The current challenges are:
1. Adoption of prototyping tools in the Product Ideation and Design space.
2. Within the Product Development space:
- Artificial Intelligence (AI) and Machine Learning (ML) based coding
- Ability to flag features
- Developer training
- Debugging tools
3. In the Product Testing space:
- Crowd-Sourced testing
- Automated visual testing &
- Testing infrastructure
4. In the Product Deployment space:
- Product Localisation
- Backend as a service
5. In the Product Management space:
- Exception and Uptime monitoring
- Customer journey mapping
- Security monitoring
An overall summary of how well enabled organisations are on their Dev Ops journey today, and starting with the areas of greatest maturity:
- Continuous Integration (Area of greatest progress)
- Continuous Development
- Release management &
- Continuous Build (Area of greatest scope of improvement)
There is still some way to go for companies in their journey of overall maturity since a true DevOps context warrants an integrated and a near 100% performance on each of the above four areas.
That a wrap for this week. The next article covers key issues and challenges that Organisations face in their journey of DevOps adoption.