Continuous delivery, the practice of putting out frequent releases to achieve competitive advantage, attacks the fear that is associated with change and release management head on. By practicing and making changes frequently, an organization creates a streamlined release management process that builds confidence. DevOps-style automation is the key to this transition, but so is a certain resiliency of thought. Andrew Phillips’ article, “Step Away from One-off Release Thinking,” explains the different ways automation can fit into the DevOps toolchain. A well-designed automated software delivery pipeline needs to include, at minimum:
- Code management in version control
- Centralized and automated compilation and packaging of code
- Automated testing as part of the delivery process
- Deployment of applications automatically to multiple environments
- Push-button creation and removal of server environments
- Clear, factual quality-focused status reports
- Engage the development team to determine requirements. How can you optimize the current process?
- Implement tools and processes to consolidate configuration management systems, align the build and automated test tools, and make sure the definitive software library and application release automation mechanisms are ready to go.
- Formalize the environment once the new principles and tools are in place, then introduce other initiatives.