Delivery Automation: Start with Low-Hanging Fruit
Overview: Compuware’s road to software delivery automation started with one small step. But by building upon those modest beginnings and implementing automation incrementally, Compuware now automates most of its software delivery system.
In Chapter 12 of the Building a Better Software Delivery Platform podcast series, Rick Slade welcomed a returning guest, Compuware Vice President of Product Engineering David Rizzo, for the first episode in a two-part discussion of software delivery automation. I’ve learned, however, that it is also a two-part series, of sorts, on incremental implementation.
Compuware’s transition from waterfall development to an Agile 90-day release cycle placed a new emphasis on the importance of automation. David explains that the first of Compuware’s now 23 consecutive quarterly releases required hundreds of hours of testing from the point of code completion through delivery. Realizing that this amount of time spent solely on testing wasn’t compatible with the new quarterly release cycle, Compuware management began looking at ways to achieve the same quality in a shorter amount of time and arrived at automation as a solution. According to David,
You can’t reduce the steps, you have to embrace automation, and we realized very quickly at that point that automation was going to be the key to our success.
David described how the Compuware team approached the implementation of automation as they began their journey toward DevOps and Agile development. He describes evaluating each step of the delivery process from the completion of code up to user download, and how Compuware picked “low-hanging fruit,” a group of simple but repetitive tasks, with which to begin the automation process.
With those tasks automated, the team could tackle larger and more complex processes, building a system of automation that starts with testing, then moves through the build process and deployment. This is the impact of moving beyond the concept of Agile development to an Agile way of thinking. Attempting to reinvent or automate the entire development and deployment process in one fell swoop would take an incredible amount of time and likely be rife with errors. By advancing incrementally, the team was able to develop and then iterate upon practices and processes that were proven to be successful.
David went on to describe how each stage of Compuware’s software delivery system utilizes automation, including the teams responsible for the automation infrastructure, those responsible for testing, and the tools used to ensure that this automation runs smoothly and successfully.
Listen to Chapter 12: Software Delivery Automation I to hear the entire discussion of Compuware’s automation efforts and visit https://www.compuware.com/goodcoding to listen to the entire Building a Better Software Delivery Platform series.