Devops: Farewell to major software releases and welcome to transparent software

Key considerations for companies transitioning to a devops environment

Devops has caught on like wildfire in enterprises everywhere, as the pace of business increases drastically and companies look for agility and speed in developing applications that meet changing user needs.

Devops addresses a key business need by enabling a more responsive software development process through shorter and incremental software updates than the major software releases of the past.

Thanks to devops, Windows Version 10 is the last you’ll see of new “versions” from Microsoft. Some devops heavyweights release software updates thousands of times per day — often so transparently that their users are not even aware. This helps them deliver on the customer experience, making computing easier and hassle-free.

Its estimated, for example, Amazon updates its software close to 23,000 times a day, while Google has 5,500 deployments a day and Netflix more than 500. Yet average enterprises typically have updates occurring once every few months. Some experts, such as Gene Kim, Kevin Behr, and George Spafford in the Phoenix Project, estimate that there are on average 30 times more deployments in a devops environment, and they are implemented 8,000 times faster because the entire system is automated.

In an earlier blog, I touched upon the key questions to ask before implementing devops, and now I’ll delve more into the key considerations for companies transitioning to a devops environment.

Devops is not for everyone

While many enterprises are embracing devops, it’s not something all companies should be jumping into blindly. Desktop or legacy apps are harder to move into a devops environment, so companies with those types of applications might want to first consider transitioning to web-based apps. If your app needs to be in an app store or requires a customer download, then it becomes a more complex process that might not benefit as much from continuous software updates.

Don’t mistake the software developer for the devops guy

It’s critical that any company transitioning to a devops environment has a separate devops team. The software development team just can’t fit the bill because it should be focused on building software and addressing IT issues. Working closely together, however, the two teams can provide a series of checks and balances. Developers can provide the critical testing function and perform automatic testing, while the devops team makes sure that the entire devops process — from updates to testing to user feedback is completed and shared among departments.

In a devops environment, test, test, and test again

True devops embraces two major activities: continuous integration and automatic testing. We developed a desktop app for a client that is continuously being updated by us and then seamlessly released to customers. Each day we run a devops continuous testing environment for it, which is a script that runs at midnight. As part of the process, we conduct automatic testing and then send reports to all developers letting them know how well the updates performed. The developer can then determine if changes need to be made, or additional testing is required. This process is essential and continuous testing ensures that there are no software glitches that impact productivity.

The devops job is never done

Another thing to consider in devops is that it never really ends. Unlike major software upgrades of the past with a clear beginning and end (until the next annual update occurs), in a devops environment there is a constant cycle of incremental updates, testing, and continuous user feedback, which then flows back into new updates. The rules of software development have changed. Consumers and business users alike now expect features and functionality to be added continuously to keep pace with their changing needs — in real time.

A solid devops environment, in which developers and devops teams work hand-in-hand to continuously innovate, integrate and thoroughly test new updates, are enabling this higher level end-user experience. Are you ready to meet those needs?

This article is published as part of the IDG Contributor Network. Want to Join?