[This is a guest post from Andrew Phillips, VP of Product Development, XebiaLabs. Andrew joined XebiaLabs in March of 2009 where he is responsible for the development of its deployment automation product, Deployit. He is a regular industry contributor and often speaks and writes on topics surrounding release management and deployment automation.]
Undoubtedly, one of Agile’s greatest benefits is its ability to deliver working tested software in much shorter iterations.
However, this benefit can also be a detriment in terms of deployments and getting applications to market.
While development teams are able to create many, more frequent deliverables, this often creates a backlog for operations teams as they struggle to deploy the applications as quickly as they’re produced.
Luckily, organizations can overcome this issue by implementing an automated deployment process, which keeps the more frequent deliverables on track. With deployment automation software in place, IT departments can avoid this potential backlog and bridge the gap between development and operations teams that results from the more frequent deliverables. This allows them to still take advantage of all the benefits Agile brings to a company, such as higher productivity levels and shorter time to market, without worrying about their operations teams constantly playing catch up. Without deployment automation, companies cannot unlock the full potential of Agile.
When companies are looking at becoming Agile, many do not consider deployment issues and only pay attention to the benefits Agile will bring to their IT department. After all, when companies are achieving productivity increases of five to 10 times over other methodologies, and delivering software iterations in just two to three weeks instead of two to three months, it’s understandable why organizations are signing up left and right. And, according to Scott Ambler, IBM’s Chief Methodologist for Agile and Lean, the majority of companies are already on board. In his session at the Agile 2010 conference this past August, he noted that 69 percent of organizations were already using Agile in 2008, growing to 76 percent in 2009.
With such a strong uptake, it’s clear that many companies are already realizing the benefits of this software development methodology, and for good reason since it brings such a strong competitive advantage by shortening time to market.
However, Agile is also the main cause of the growing gap between development and operations teams since operations can’t keep up with the many, more frequent, smaller deliverables the need to deploy.
As the difference between the deliverables decreases, the work becomes more tedious for operations teams since consecutive packages are likely to use the same set of resources and don’t need major changes in middleware configuration or infrastructure. This makes the work extremely repetitious, but hard to keep up with at the same time. According to ZeroTurnaround, the average software engineer spends around 250 hours per year (re)deploying Java applications to WebSphere environments; and in an Agile environment this is only further exacerbated. So, as the gap continues to grow, companies end up losing the competitive advantage they gained by implementing Agile in the first place.
This advantage can be regained, however, by implementing a deployment automation solution. Such solutions help companies deliver accurate and efficient automated end to end processes, so they can run in a more predictable and cost-effective way. Unlike custom scripts and generic process engines, which, according to a Hurwitz and Associates report, “The Sources of Web Application Downtime,” companies spend an average of $850,000/year creating and maintaining, automation solutions’ intelligent deployment engine ensures a safe and reliable application deployment in today’s ever-changing environments.
Such solutions allow development and operations teams to overcome the issue of backlogged deliverables and deployments to finally realize Agile’s full potential for increased productivity. Automation not only keeps the more frequent releases on schedule, but also eliminates the human errors associated with manual deployments. One company that has seen proven results from such deployment automation solutions is KLM, a leading European airline company, who was able to reduce their time to market for new applications by 10 percent and save approximately $1 million in man hours.
This approach is equally beneficial for both development and operations teams. For development, automating deployments means they are no longer as dependent on operations to push out new releases. And, for operations teams, it not only means they’ll be able to keep up with the more frequent deliverables, but also that the overall quality and speed of their deployments will increase as they no longer have to deal with human errors. And with 28 percent of all server downtime caused by configuration changes, updates or deployments, according to that same Hurwitz and Associates report, companies can’t afford to ignore the benefits of automating deployments.
Without deployment automation, it’s safe to say companies are not unlocking the full potential of Agile and realizing all the benefits of higher productivity levels, lower costs and faster time to market. Moving from deliverables of every two to three months to every two to three weeks is nearly impossible for operations teams to keep up with manually. But, by implementing deployment automation, companies successfully eliminate the gap between development and operations teams by removing the backlog of software deliverables, thereby creating a more seamless software release process.