DevOps is based on the premise that software development is a critical business function for every business large or small and is designed to bridge the gap between software development and the deployment and ongoing management of the organization’s software. It does this by relying on close collaboration between the business users and development team to tightly define business requirements and then develop, test, and deploy the app very fast.
Let’s say a company had spent a year preparing for its annual customer conference, a critical event. At the last moment someone suggested adding a smartphone app that would help customers plan their schedule of presentations to attend and schedule personal sessions with company execs. Great idea, but how would they get one fast. Ordinarily, that great idea would have had to wait until next year. Recently, however, the company had been playing around with an approach called DevOps.
DevOps is the latest evolution of agile programming, an application development methodology intended to speed the development and deployment of new applications. Check out the 2013 DevOps survey results here. The survey was conducted by Puppet Labs, a software provider that addresses issues of operational agility, efficiency, and management for cloud-scale systems both on premise and in the cloud.
DevOps is based on the premise that software development is a critical business function for every business large or small. Today, every business relies on its software. And that software has to be regularly tweaked and tuned as the business changes. Even companies that rely solely on software-as-a-service from providers like Salesforce.com still have to configure the software for their specific needs and reconfigure it whenever they want to change the way it works. DevOps is designed to bridge the gap between software development and the deployment and ongoing management of the organization’s software.
To do this, DevOps relies on close collaboration between the business users and development team to tightly define business requirements and then develop, test, and deploy the app very fast. Take the company preparing for its annual customer conference. It spent most of a year building the web pages for the conference. It included all everything—the speakers, the schedules, bios, supporting content, collateral materials, a wide range of resources, and much more.
To build the mobile app above with DevOps, the team focused only on two essential elements, a planner that sees full the schedule of presentations and a calendar to set up meetings with executives. Anything else having to do with the conference, the mobile app puts the user into the appropriate web pages on the company’s primary conference website.
Any apps, but especially mobile apps, can now be built and tested very fast using DevOps. Since this app was being built to work only with iPhone/iPad devices and Android smartphones/tablets it could be built, tested, and deployed fast. Once that is done the DevOps team can start adding enhancements. Maybe they’ll decide to add a version for the newest Microsoft phones or a function that will help customers make reservations at the conference hotel. Again, limited functionality that can be built, tested, and deployed fast and at relatively low cost.
And it is not just for occasional situations that DevOps delivers value. It actually pays off through increased agility when incorporated into the organization’s standard software practices. As the Puppet survey found: high-performing organizations using DevOps practices can deploy enhancements once a week, or even multiple times a day. On average, they experience 95% less time between deployments than slower organizations, enabling them to more quickly respond.
Being able to quickly make changes is a critical attribute of agility. High-performing organizations make changes with a few minutes’ notice, while lower performers face change lead times of up to a month. Agile organizations, according the DevOps survey, can make 8,000 changes before their slower competitors can vet and deploy a single change.
The ability to change fast, whether in response to customers or competitive moves or market conditions, gives an organization a clear competitive advantage. And the close collaboration between the development group and the business users necessary for DevOps is good for the business overall. It can only lead to better conceived and executed business initiatives being successfully developed and deployed faster and more efficiently.