Based on my experience with large enterprises, I'd like to begin this DevOps post on a different note – discovery of a common denominator – the application economy that's driving business transformation. To understand the context, let's go back a little in history. To me, the application economy is the third major technology revolution to hit businesses the previous two being the birth of computing and mainframes in 1960s, followed by the advent of ERP, CRM and enterprise systems in 1990s. I use the term 'economy', because software applications today, are not just up-scaling productivity, but also creating brand new, digital business models. In the financial services space, FinTech (or financial technology) is a good example of technology that has evolved as an economic industry.
It's about accelerated innovation.
The application economy is important because businesses today, must not just compete, but also adapt to digital disruptions, and deliver outstanding customer experience, which until recently, was driven by speed and quality. But a third aspect accelerated and continuous innovation delivery, is gaining momentum, and emerging as the de-facto standard for consistent and outstanding customer experience. This is where DevOps comes in with a continuous, high quality software release pipeline, resembling a factory assembly line that takes business innovation in the left, and delivers world class customer experience on the right, through incremental, multi component micro releases, instead of full monolithic application centric releases. To succeed with DevOps, businesses must focus on creating a high performance factory floor for accelerated development, testing and release.
In my organization, this DevOps factory floor, is based on three core quality assurance (QA) pillars:
Develop Swiftly: This first pillar focuses on eliminating constraints and dependencies across the software development lifecycle (SDLC), through agile management platforms, effective API management, and service virtualization. Agile management platforms drive 30-50% improvement in cost and delivery. With the right QA controls, API management helps expose, manage and secure APIs quickly, enabling development teams to quickly capitalize on API capabilities and functionality, without re-inventing the wheel. Effective API use can reduce development time by up to 96%. By eliminating constraints on backend systems, test environments and test data, service virtualization can significantly accelerate the development process.
Test Agilely: Focused on end to end test automation, this second pillar drives accelerated testing, through a streamlined set-up of complete and fully automated test environments. Given Agile's rapid pace and much smaller sprint time, manual provisioning of test environments and test data is not an option anymore. We need test environments and test data on demand. To test agilely, we need end to end automation not just in the test execution stage, but across the testing lifecycle. If your projects are still queuing up for access to testing environments, it's time for end to end test automation.
Release Reliably: The third pillar drives end to end orchestration and automation of complex releases, through varied, customer preferred channels such as mobile, digital, web and even API. When done right, this third pillar can drive 30 times the release acceleration, with 50% fewer failures.
While these three pillars provide the basis for DevOps adoption, their success really depends on three factors – cultural and organizational transformation required to work at a much faster pace, react quickly to business, customer and market needs, and deliver innovation fast, regularly, and at low cost. QA can drive this transformation, and enable the change. To build a world class DevOps software factory, we need to make QA a first class citizen in the process. To me, DevOps is really about Dev-Test-Ops. To learn more, I invite you to watch my webinar Assurance in DevOps World - Pitfalls & Pathways to Accelerated Customer Experience.