By Pradeep Prabhu
What is driving the next wave of software delivery? In the past five years, business cycles have greatly accelerated, forcing companies to respond faster to customer needs and competitive demands. This trend has been driven by businesses’ adoption of consumer-oriented technologies like social media, smartphones, and B2C Internet services.
The impact of these accelerating changes affects every facet of an organization, from company culture to management styles and business infrastructure. This is driven by changing customer expectations—breakneck speed and complexity have become the new normal. Companies are forced to seek new development methods and leverage the cloud to create software with the capacity to continuously adapt to ever-changing user needs.
These new development approaches require companies to intensify collaboration and integrate traditional and new methodologies. Successful integration of DevOps and agile development play a key role in the success of companies in today’s digital economy. In the new landscape, it’s about rapid, continuous, high-quality software delivery, and companies that can do this at enterprise scale will outpace those that struggle to adapt.
What is enabling these rapid development and delivery cycles? This change has been achieved in part through adoption of agile development, which promotes close collaboration between business users and developers. In agile environments, development is broken into well-defined intervals with the goal of releasing software quickly, generally within less than a month. Updates are ongoing and nearly continuous, allowing product development teams to pare delivery time by 50 percent or more. Adobe is a good example. After deploying the CloudMunch DevOps platform, which is designed to integrate a variety of popular development tools into a single interface, Adobe has increased the pace of application development by as much as 60 percent. Consolidating a diverse toolset into a single platform establishes a more efficient and harmonious relationship between DevOps and agile development models, and speeds and optimizes delivery.
Already, companies like Adobe, Honeywell, and Twitter use agile processes in their DevOps for continuous innovation. In fact, in an IPO prospectus files March 4, 2015, Etsy noted it updates code every 20 minutes, or 70 times per day. In 2014, the company executed 10,000 code “deploys”—a number that was inconceivable just a few years ago.
There are several incompatibilities between traditional IT processes and new agile and DevOps delivery processes.
Traditional operational IT processes are often planned and measured in quarters on an annual budget cycle. Agile development may roll out in a two-week sprint. Once built, business groups are eager to use new applications, but most IT organizations aren’t prepared to deploy new capabilities that quickly.
Supporting software ecosystems are very complex—the comprehensive features of supporting software allow development teams to focus on desired business capabilities rather than low-level utility components. However, since all of these components are frequently updated, the process of tracking and deploying the right supporting ecosystem presents a complex problem.
Different agile teams require autonomy in the use of development tooling, which results in a number of different and disconnected development tools being used across the development ecosystem. This increases the complexity of implementation and makes it difficult to provide metrics that present a consistent view of the enterprise portfolio of development projects.
Emerging Critical Practices
To support rapid implementation of infrastructure needed to support the agile delivery process, enterprises increasingly move more of their essential business operations to the cloud.
Today, most companies have a hybrid IT infrastructure. While they have moved many functions to the cloud to take advantage of the benefits of cloud computing, they still keep many systems in house. In the past, they’ve used a variety of development tools like Chef and Jenkins to manage application development and infrastructure automation, but these aren’t enough in today’s hybrid environment. To effectively apply agile development methods in a hybrid DevOps environment, businesses have found it’s better to plug in and integrate their developers’ chosen tools in a single dashboard.
The ability to manage agile development in a hybrid cloud environment will become even more important in the next decade. Already, new platforms have emerged, allowing development teams to better orchestrate multiple toolsets and processes in a single “pane of glass” to streamline collaboration and application delivery. SW
Pradeep Prabhu is co-founder/CEO for Cloud Munch. Previously Prabhu served as VP and head of software as a service (SaaS) for Infosys, where in his 18-year career he was instrumental in growing the company to a multi-billion dollar business. Before pioneering Infosys’ SaaS business, Pradeep incubated the Infosys-Microsoft solutions and alliance program and the Microsoft Technology Center.
Oct2015, Software Magazine