Since the start of this decade, Agile development patterns such as Extreme Programming (XP), Scrum and Feature-Driven Development (FDD) have been all the rage. That shift has led to massive gains in developer productivity, resulting in more applications and associated updates being delivered at increasingly faster rates.
Until recently, there has been little in the way of real governance being applied to how applications are being released into production, to which team and on what schedule. Stepping into the void are application release automation (ARA) tools that provide the framework required for managing the roll out of applications at unprecedented levels of scale and speed.
Application release automation tools provide hooks into all the products and services that make up the application development and release process. IT operations teams not only gain access to dashboards that enable them to precisely determine the status of any application development project, they can model those processes in a way that drives a desired set of best practices. In effect, application development and operations teams can now orchestrate the entire application development process on an end-to-end basis to drive development of higher-quality applications faster than ever before.
If you’re thinking about implementing Application Release Automation (ARA), here are some tips to get started:
1. Pick one software project and map out all the steps in the release process, from design through production.
2. Take an inventory of the DevOps tools used at each step of the above process.
When mapping out your release process tool stack, try out our DevOps Diagram Generator. This tool lets you add each tool in your stack to a release pipeline, showing where each one fits and what might still be missing.
3. Choose an ARA tool.
When researching, look at multiple reference sources, from vendor information to articles, to analyst reports. Gartner and Forrester both issued 2016 reports that introduce ARA and evaluate key vendors in the space.
4. Look for an ARA solution that, at a minimum, integrates and orchestrates all your existing tools.
5. Besides implementing a good CI solution to automate your application builds, pick some areas in your release process to automate right away.
For example, if you have to update your ticketing system to denote that an application has been deployed to a staging environment, integrate your ARA tool to automatically update the ticket with the appropriate deployment information.
In this whitepaper, you will learn about:
- The essential elements of release orchestration, including automation, visibility, intelligence, and control
- The ROI of pipeline release orchestration
6. Train everyone involved in the release process (including non-technical people) on how to use the ARA tool.
Training everyone allows each person understands how they can do their job in the release process.
7. Optimizing your release process is like paying back a lot of credit cards: find your biggest bottlenecks and remove them first.
Huge bottlenecks in your release process can be easily missed when you lack visibility across your entire tool stack. ARA offers real-time actionable intelligence about your release process so you can proactively identify potential problems and optimize your pipeline.
8. Determine some key KPIs by which to measure success, such as time to delivery, deployment frequency, change volume, success rate and mean time to recovery.
Continue exploring ARA and DevOps with our recent webinar, DevOps By The Numbers – How to Approach the Measurement and Metrics of Your Continuous Delivery Transformation.