|It is clear that DevOps is evolving—but in what direction and to what end?|
Software maturity models show that while we’ve come far at automating infrastructure (one of the key principles of DevOps), we are only about half-way on the journey to automating DevOps itself, or what may ultimately be called “software-defined DevOps.”
|Why are we so keen on software-defined infrastructure or “infrastructure as code?”|
The answer? Software-defined infrastructure takes us one step further on the path for an enterprise to harvest the most value from its expensive investment in software. Only when we can achieve and measure those important enterprise “ilities”—often called “non-functional requirements” (or NFRs)—can we say that our practices are fully mature. These NFRs have many dimensions, but common among them are (alphabetically) auditability, consistency, maintainability, modifiability, operability, recoverability, repeatability, resilience, reusability, robustness, scalability, security, supportability, scalability, testability and usability.
Now look at that list and apply it to your DevOps process. Can you say that your organization is doing well at managing its own continuous delivery artifacts? Are all of your build pipeline settings stored in source code control? Can you rebuild your pipeline via
Can you easily scale your pipeline? Can you quickly onboard less-skilled resources and quickly make them productive? Could you seamlessly port your pipeline to a new build environment? Or did even thinking about that make you feel as if a headache were coming on? Ironically, those “non-functional” requirements are indeed closer to representing the true function of DevOps.
Do not despair. You are not alone. In fact, Accenture has been operating a multi-tenant enterprise Continuous Integration/Continuous Delivery pipeline for clients for more than 10 years in what has become DevOps-as-a-Service. Next week, at the DevOps Enterprise Summit in San Francisco, we will discuss patterns for success as well as the pitfalls. We will share key enablers for helping organizations achieve success with their DevOps practice, starting with our DevOps Maturity Model as the means for assessing an organization’s progress. These success patterns can help organizations achieve a commensurate level of maturity within their own DevOps practices.
Then, we will look to the future, where history has shown that models and a higher-level of abstraction will pave the way out of the current landscape of fragile settings buried in forgotten templates of obscure corners of your software delivery process.
Whether you view evolution as a theory or fact, the DevOps corner (or curve) of the software lifecycle will be next to be automated—with profound implications for everyone involved.
Please subscribe for more posts.