Welcome!

Linux Authors: Sharon Barkai, Elizabeth White, Liz McMillan, Pat Romanski, Kevin Benedict

Related Topics: DevOps Journal, Java, .NET, Linux, Cloud Expo, Big Data Journal

DevOps Journal: Article

Apply Agile to App Delivery to Cut Mistakes

Companies have turned to Agile, DevOps, automation and Continuous Delivery

The traditional approach to application delivery - do one big revision or introduce a major new feature over a short period - is rapidly being replaced by a new, faster and smarter approach, Continuous Delivery (CD). The core idea of CD is to create a repeatable, reliable and incrementally improving process for taking software from concept to customer.

CD enables organizations to deliver new features to users as fast and efficiently as possible. The main goal of Continuous Delivery is to enable a constant flow of changes into production via an automated software production line.

Organizations today are under intense pressure to deliver software and value to their businesses and customer faster than ever. That pressure is forcing structural and strategic changes in how companies deliver applications.

Customers Rule?
A major, perhaps ‘the major' source of pressure comes from the customer. Indeed, some believe we have entered the Age of the Customer, where customers rule and companies follow, forcing companies to deliver applications that meet the desires and needs of customers. If companies don't comply rapidly and precisely with what their customers want, they know their competitors will.

Customers today want to be able to use the same application on one or more desktop computers, on one or more mobile devices, and on their social media sites. At the same time, companies must determine how to serve customers' needs and wants while cutting costs and improving efficiencies.

While the customer may be the major vector of change, it is far from being the only one. Internally, companies are wrestling with various change vectors, notably those involving processes, architectures and tools. Innovative companies have already embraced Agile, DevOps, automation and Continuous Delivery.

Those companies want to implement a better way of creating and delivering applications to all customers, across all platforms, all devices and all cloud environments.

The coordination of all those different kinds of applications across all those different platforms not only creates opportunities to serve customers in new ways, it also creates a lot of complexity within organizations. For example, many companies find themselves uniting or seeking to unite teams that typically don't warm to unity: development, QA, operations and release.

Typically, all companies struggle with this basic issue: balancing IT operating costs while freeing up money for new application development. The issue boils down to how best to reduce risk, achieve faster application delivery, and improve the customer experience.

Companies that successfully adopt Continuous Delivery understand the crucial importance of: creating fast feedback throughout the entire chain of DevOps; making fast and small changes to code; and accepting that a massive overhaul of the organization's culture will be necessary.

Having a fast and efficient system of feedback underpins the essence of Continuous Delivery. The faster a company gets feedback from all stakeholders, the less waste it will have in the system. Faster feedback leads to lower costs, potentially better solutions, and happier customers.

Create Better Software
By making fast and small changes to code - based on fast and comprehensive feedback - companies can routinely create better software. IT can quantify results, producing concrete numbers to convince C-level executives that delivering applications faster with higher quality produces better business results.

There's also a very attractive cost benefit of doing things incrementally. A company can fund its Continuous Delivery strategy by paying for one app at a time, and achieving quantifiable results before moving onto the next app. Mistakes are easy and inexpensive to fix.

This incremental approach also reduces the risk factor traditionally associated with software delivery. By releasing faster with smaller increments of functionality, companies don't have to tangle with the software beast that has huge and complex dependencies.

And, bear in mind, none of the benefits of CD will happen overnight. Introducing and streamlining CD requires fundamental, sometimes gut-wrenching changes to the culture of the organizations. Just getting C-level executives to accept the potential merits of CD might take months of vigorous and diplomatic wrangling, reiterating facts ad nauseam, and sitting through one long meeting after another.

The Age of the Customer is touching every facet of corporate life, including application delivery. To respond to the customer-driven demands for better products and services, companies are being forced to change their approach to delivering applications. Pressure from The Customer unleashes other change vectors, notably those involving processes, architectures and tools. Seeking solutions, companies have turned to Agile, DevOps, automation and Continuous Delivery.

More Stories By TJ Randall

TJ Randall is Director of Sales Engineering at XebiaLabs, a provider of application release automation software for enterprises looking to improve the application delivery process.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.