DevOps - a combination of "development" and "operations" - is a relatively new approach to managing the application life cycle. It aims to overcome structural challenges in the typical application life cycle, improving the speed and efficiency at which applications can be developed, deployed and managed. Both are vital in today's fast-moving and highly competitive markets, says Ziaan Hattingh, managing director of IndigoCube, a company that improves productivity in the areas of software development, software deployment and software monitoring in large organisations.
It's no exaggeration to say that, over the years, applications have become vital enablers of business processes. Virtually no business of any size can run competitively without the right applications, and consequently, the efficiency of the development process has grown in importance. Over the years, various processes have evolved to improve the process of developing and then deploying applications and application upgrades.
The growth of highly connected global markets has increased the need for businesses to act quickly in response to competitor activity, shifting market fundamentals, and increasingly, the demands of customers. This need for speed has made business agility a sine qua non for success in today's markets; the 2008 recession has simply raised the stakes.
For the business, the ability of IT to move quickly enough to enable the necessary agility has become vital. When IT is unable to move quickly enough, it poses a risk to the business.
"Software development methods like Agile were developed in response to the business' pressure for a more predictable software development life cycle," observes Hattingh. "But Agile and similar processes simply allow the software development team to produce better software more predictably and sometimes a bit faster - deployment into the production environment remains a bottleneck."
Hattingh points out that development teams and infrastructure/operational teams typically do not communicate effectively and have different reporting lines, effectively consigning them to different worlds. This despite the close interdependencies that exist between the two areas.
For example, the development team might be developing a strategically important application based on the current version of a database, unaware that the infrastructure team is planning to deploy a new version within the next month that may have a significant impact on the new application. Advance knowledge of the upgrade would ensure the new application was optimised for the correct database. Similarly, the infrastructure team would benefit from knowing about a new software deployment and how it is going to impact the infrastructure.
At almost every level, visibility across the divide between development and operations would create efficiencies and help to prevent deployment challenges that continue to lengthen cycles and necessitate expensive rework. "It is the key to increased business agility," says Hattingh.
Creating this kind of visibility across these two separate areas is what DevOps is all about, and it is clearly meeting a need. Research analyst Forrester notes that the DevOps movement is gaining momentum, with client enquiries about it on the increase since 2012. Indeed, a recent study by IBM showed that almost 70% of companies using software development for competitive advantage are more profitable than their peers - confirmation of the growing role of applications in enabling business success, and thus the relevance of DevOps to the bottom line.
However, achieving the visibility and transparency promised by DevOps is a challenge, given the highly granular set of interdependencies between development and operations. Scheduled status meetings would have to be counter-productively frequent, and e-mail alerts would always be ad hoc, and so, unreliable.
"Bridging this divide has to be done via robust processes that are mostly automated, and that means using appropriate toolsets," Hattingh argues.
Using software to improve the efficiency of the application life cycle, of course, makes perfect sense. As in any other part of the business, good applications will enforce a good process and streamline it by using automation wherever possible. This applies to the application life cycle as much as to any other key business process. The result: the business achieves the agility it needs to prosper in today's volatile market environments.
Share