A culture where people, from a range of disciplines, work together to design, develop, deploy and operate a system.
DevOps is a way of working that stresses the need for cross-functional teams — from a huge variety of backgrounds — who have ownership of the systems they’re working on. It’s a cultural approach, not something that you buy.
What is it?
The term DevOps is derived from the verbs ‘develop’ and ‘operate’ — and not, as sometimes mistakenly assumed, from ‘developers’ and ‘operations’. The distinction is important: DevOps requires team members to come from a wide variety of backgrounds and have a multitude of skills. This includes developers, QAs, database specialists, network operators.
DevOps teams can handle security, compliance, customer support requests or introducing new features. The key feature of their work is that they have ownership: they own what they build.
What’s in for you?
DevOps offers you the chance to increase your enterprise agility. When your future depends on the rapid introduction of customer-delighting products, you need to minimize your time to market. DevOps enables you to create and improve products quicker than you can with other software development approaches.
Because DevOps teams own what they build, they can quickly see how customers respond to new features. That means they can rectify any errors quickly.
Introducing a DevOps culture also pays dividends when it comes to attracting talent. People want to work for forward looking, modern organizations that will offer a strong career development path. And today, for most technologists, that means DevOps.
What are the trade offs?
DevOps requires a culture that emphasizes communication and trust. Teams have to take responsibility not to break things that another team is working on — and that requires communication.
And DevOps isn’t suited to every organization right off the bat — some organizational changes may be necessary. It’s worth bearing in mind Conway’s Law — the adage that organizations design systems that reflect their own communication structure. That means if you have a large monolithic application that runs the vast majority of business-critical applications, DevOps might not be for you. DevOps is best suited to organizations that can carve up work into discrete chunks that a team can own.
Some enterprises have had bad experiences with DevOps. Typically, this is either because it’s a poor cultural fit or because they’ve purchased DevOps assessments or toolkits, mistakenly thinking that will be a shortcut to cultural change. It rarely is.