DevOps – Your 3-step Transformation Journey
Source – infoworld.com
Greek philosopher, Heraclitus once said, “The only thing constant is change.” Today’s DevOps transformation is a prime example. The DevOps model aims at unifying software development (Dev) with software operations (Ops) so that everyone can better work together across the entire development lifecycle. As businesses search for the best ways to digitally transform, DevOps is at the center of it all – and it’s driving a constant state of change.
As organizations all over the world adjust to the DevOps movement, they look to industry experts for advice. For several years, I have been advising organizations on how to collaborate not just within IT, but also across the entire enterprise. These organizations span multiple geographies, technologies, cultural background, and skill sets. Through these experiences, I have learned a lot – mostly that transformations are hard and normally take much longer than anyone wants.
Below I’ve detailed my 3-step approach to DevOps Transformation that I use with organizations that are on this journey. It is NOT a sequential step approach; it is an agile step approach – which means it is sometimes sequential, other times concurrent. Yet it is always aligned to the culture and capacity of the organization.
Step 1 – Expand agile practices beyond IT
Too often DevOps is seen as the mandate solely of IT, and there is an assumption that the business, and in particular its C-level executives, don’t take any interest in the software development function. Nor do executives understand words like agile and waterfall, never mind DevOps.
Lately, there has been a shift in the way software is being developed with the advent of agile DevOps that resembles the lean manufacturing shift in the 80s and 90s. Furthermore, it is a well understood fact that “software is eating the world” and most businesses need apps (both mobile and web apps) to sell their products. Any time you have an app, software development is seen as a critical part of the day-to-day business strategy. Hence, C-level executives are definitely taking a deeper interest in how these things can be delivered in an effective way
Other parts of an organization also must be part of a truly agile DevOps process. For example, customer feedback and effective operations are part of the process of breaking down silos and improving outcomes. All stakeholders in an organization across all disciplines must be involved with full support from its leadership and management.
Step 2 – Shift Left within a Continuous Culture
Shifting left in terms of software and system testing is a phrase that means to test early in the lifecycle, thereby finding problems sooner – which can save time and money. Shifting left, when referring to customers, means giving them better access and resources to find answers to their questions. And a continuous culture promotes the idea of finding and eliminating waste in everything you do.
DevOps is based on the idea of shifting left in its testing approach, performing testing earlier in the software delivery lifecycle, which will inevitably eliminate long back-end dependencies and increase quality.
Step 3 – Empower a culture of Fail Fast not Fail-Silently
When I first started my business work life, it was the norm to fail silently— mask the failure, hope it does not get spotted, blame someone else, or simply ignore the issue. New ways of thinking by innovative companies focuses on the concept of fail fast & fail often. As long as employees can learn from their failures, this strategy can help the company grow in an agile way.
In order to succeed in a DevOps transformation, 4 types of failures are encouraged:
- Fail Early– The sooner the failure is spotted, the faster you learn, and the faster you can fix it.
- Fail Fast– Failing faster ensures you learn faster and can fix it.
- Fail Often– The more things you try, the more failures you’ll get – and the more you learn.
- Fail Better– Combine all of the above to maximize learning, leading to spectacular success!
Successful transformation involves more than just getting your teams within development and operations to work together. It involves the entire organization with a mindset focused on continual improvement, testing out ideas early, empowering the customer, and encouraging success through failure.