Large organizations in the thick of improving how they do software refer to their journeys in many ways: digital transformation, putting a cloud strategy in place, DevOps, or as VMware typically puts it, “cloud-native.”
Sometime in the mid-2000s, consumer-centric websites were battling for “eyeballs” and loyalty. To grab user attention, companies had to compete by constantly pushing out new features.
Yet deploying new changes to production frequently—weekly, if not daily!—carried the risk of exposing previously hidden bugs that hadn't had enough time to be found and fixed in development, negatively dinging uptime. Worse, changes in software might not work well with other services not under IT’s control. The fear was that nothing would work. DevOps launched as a way to solve the paradox of deploying frequently to production to stay competitive while reducing the risk of production failure and damage to the business.
The theory (which has proven to be successful) was that if you could get developers to be more aware of operational concerns and operators to be more involved in the development process, the software might stay up longer and the business could survive to compete another day.
One of the first principles to emerge was putting both roles—developers (Dev) and operators (Ops)—on the same team and giving everyone on that team responsibility for keeping the software up. This gave rise to the lore of developers carrying pagers. As this happened, developers started writing their software much differently to avoid being woken up late at night, while operations staff started adding in more automation and process standardization. The two groups started actually working together instead of battling each other. New practices, processes, and culture (much of it borrowed from agile and lean software development) were soon joined to the body of thought that became known as DevOps.
A helpful selection of the core practices—leading to high-performing organizations—is represented in the following charts as described in the DevOps Reports:
The Value of DevOps
High-performing organizations prioritize enabling small batch feature deployment because it keeps them competitive. In an era of transient advantage, custom-written software is a major enabler of innovation. However to be successful, businesses must focus IT on user interaction improvement and ensuring the software always works. Both of these, of course, are the goals of DevOps.