The Six Aspects of Continuous Delivery Maturity
By Viktor Clerc
Speed is of the essence in the modern business world. Continuous Delivery can cut down the time between the conception of an idea and its realization as usable software. But it's not something you implement overnight in a single step. There are six areas you need to focus on and assess on an ongoing basis as your software production process evolves and your Continuous Delivery model matures.
Components can be reused in a controlled and safe way. Have builds been tested and implemented periodically at a central location? Can other projects and teams reuse components in a controlled way? And, what is the best way to implement such an environment?
The software is subjected to quality control at an early stage. Are automated tests implemented as an integral part of the project? How are the detected errors addressed; are the tests effective? And, how can we streamline this process?
Software can be brought into production in minutes. Can end-to-end applications be installed across multiple servers in a mouse click? And, is this an automated, replicable and predictable process, based on Application Release Automation?
Servers and systems can be built and dismantled with the press of a button. Is it possible at any given time to build working, faultless environments in only a few minutes and dismantle them again? Are these environments free of abnormal configurations, do you maintain only the platforms that you really need, and what is needed to achieve this goal?
Fact-based reports can be requested at any time. For each software delivery process, does the environment offer sufficient possibilities to request holistic, fact-based status reports at any time? Can these reports actually be sent, and what has to happen to implement this?
6. DevOps Integration
Development and Operations share responsibilities for software quality. How can Development and Operations work together in an Agile way? How is the delivery team structured, and what has to happen to make the team responsible for the final result from end-to-end?
About the Author
Viktor Clerc is product manager for testing applications at XebiaLabs, a provider of automation software for DevOps and Continuous Delivery helping companies to accelerate the delivery of new software. You may reach him at firstname.lastname@example.org.
This article was contributed to Developer.com. All rights reserved.