Balancing the Art and Science of Application Release Management
February 07, 2017

Derek Langone
XebiaLabs

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. The increased volume of sheer code being moved into production environments has fostered the rise of a new approaches to managing the roll out of applications based on the principles of Continuous Integration and Continuous Delivery (CI/CD).

As part of that process, IT operations teams have embraced a plethora of technologies, ranging from open source CI tools like Jenkins, to IT automation frameworks like Puppet Labs. CI tools ensure the consistent building of application code based on developer changes, while infrastructure as code tools are employed to programmatically and consistently provision IT infrastructure.

The problem that many IT operations teams now encounter is that all these tools are not especially well integrated, which results in limited visibility into the overall application development pipeline. More applications are being built and deployed faster than ever. And more often than not, individual development teams are choosing their tools to deliver their application changes. But overall, there's not much in the way of real governance being applied to how applications are being released into production, to which team and on what schedule.

IT leaders need to be able to manage application development at scale using a factory metaphor that requires lots of instrumentation. The challenge is that, in the case of applications, the actual products being manufactured consist of as much art and craft as they do science. Optimizing the application release cycle requires adding a layer of software abstraction above and around the application development process that serves to make the overall process more efficient without adding more friction.

Application Release Automation Brings Scale and Speed

Stepping into the void is a new category of application release automation (ARA) tools that provide the framework required for managing the roll out applications at unprecedented levels of scale and speed. Application release automation frameworks 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.

Historically, the core challenge many IT teams face when trying to implement such an application pipeline process is that it's not feasible to force a development team or IT manager to use a specific set of tools. Each developer and IT manager has their favorite set. Retraining them to use another only generates resentment and lost productivity.

Rather than trying to overcome that resistance, IT operations teams need to be able to impose order from above in a way that creates as little disruption as possible. A modern approach to application release automation requires flexibility. The days when IT leaders could impose highly-structured approaches to building and deploying applications are long over. Each team has its own core skill set that needs to be incorporated into the greater application release management process.

The good news is that most modern tools are based on open interfaces that make it simpler to gather data in a way that is unobtrusive. Instead of requiring everyone in the process to fill out reports that take away time from their core job function, a modern application release management platform automatically gathers all the relevant data based on the information surfaced up through multiple application programming interfaces (APIs). That data is then organized via a series of dashboards that enable everyone in the IT operation teams to see the status of any given project at a glance.

A New Era of Release Management

In effect, the days when project managers needed to directly interrogate or harass developers and IT managers for updates are part of a bygone era. So too are those nasty surprises that occur any time an application development project falls behind schedule with little to no warning. IT operations teams will be informed of any potential issue likely to adversely impact the application development pipeline as it happens. That not only provides peace of mind for everyone involved, it ultimately results in better applications being developed and deployed faster every step of the way.

Best Practices for ARA

Derek Langone is CEO of XebiaLabs.

The Latest

April 27, 2017

In a movement that has gained momentum as quickly as DevOps has, it's always good to stop from time to time and evaluate where we are, where we have come from, and where we are going. We asked four industry experts some questions about the progress of ALM and DevOps ...

April 26, 2017

It's easy to ignore downtime. But ignoring downtime is a surefire way to upset your customers and your colleagues. More and more, teams need to think about shipping stellar experiences. Proper incident response is a great place to start ...

April 24, 2017

The expectation of regular software updates – it's what developers are tasked with, and what users expect and demand. Increased functionality, better performance, and fewer bugs – often in a week or less. Automation of critical processes such as QA can help meet the gargantuan task of constant updates, but it can also send your software into a death spiral of user abandonment unless deployed correctly ...

April 20, 2017

One could argue that testing is the most important phase of an IT project. It's also time-consuming and expensive. It's essential to strike a balance between an IT testing program that ensures a quality product and the cost-to-value ratio of your project. But when you're dealing with replatforming projects, how much testing is enough testing? ...

April 18, 2017

Whether through formal methods such as classroom or virtual training, job shadowing, and mentoring; or through informal methods such as team discussions or presentations, teaching needs to be a frequent element of team integration. It is a given that IT and business teams have difficulty understanding each other without a common taxonomy. Even teams within IT often fail to understand each other ...

April 17, 2017

Although DBAs fortunately have the rare ability to bridge the gap between development and operations, they have been detrimentally overlooked in many companies that deploy DevOps practices. A DBA's ability to interrogate code and construct a resilient, well–performing database environment uniquely defines the capabilities needed for DevOps – leaving me perplexed about why DBAs were not one of the first operations team members asked to join the DevOps movement ...

April 12, 2017

DEVOPSdigest asked experts across the industry — including analysts, consultants and vendors — for their opinions on the best way for a development or DevOps team to become more Agile. Part 5, the final installment in this series, provides tips on empowering people ...

April 10, 2017

DEVOPSdigest asked experts across the industry for their opinions on the best way for a development or DevOps team to become more Agile. Part 4 covers DevOps technologies ...

April 07, 2017

DEVOPSdigest asked experts across the industry for their opinions on the best way for a development or DevOps team to become more Agile. Part 3 provides some tips for getting started and gaining feedback ...

April 05, 2017

DEVOPSdigest asked experts across the industry for their opinions on the best way for a development or DevOps team to become more Agile. Part 2 covers processes including automation, continuous delivery and testing ..

Share this