The subject: Bimodal (or trimodal, or agile, or high-speed) IT. The challenge: Culture. Culture is a challenge to IT agility. It’s a challenge if you buy into the bimodal model, where systems of engagement need to change and adapt at lightspeed while systems of record need accuracy and stability above all else. It’s just as big a challenge if you embrace the trimodal model described here last week.

Culture is a challenge because it means “how we do things around here.” It’s the set of shared assumptions that let people work together efficiently. Think of culture as an organization’s cognitive infrastructure — a foundation everyone builds their thinking on, confident that if they do, everyone else is likely to agree with their conclusions.

Start with the six dimensions of optimization: Fixed cost, incremental cost, cycle time, throughput, quality, and excellence.

With bimodal IT, systems-of-record employees assume quality, throughput, and incremental cost are what matter most, while systems-of-engagement employees are equally sure cycle time, excellence, and fixed cost are what deserve the most attention.

It’s a recipe for conflict. Now add this: Systems of record are part of the business infrastructure. They’re necessary but not strategic. Businesses invest in them to preserve the value they’ve been delivering for quite a long time.

Systems of engagement are strategic. Businesses invest in them to get new value. One way or another, directly or indirectly, systems of engagement are part of how businesses get the cash register to go ching!

Which means fast-mode IT projects get better and easier funding, and the IT professionals who staff then get more … and more career-enhancing … attention.

The trimodal analysis is a bit different. Understanding its built-in conflicts starts with another property of culture — it’s a big part of how employees define identity, affinity, and, as a natural byproduct, ownership.

The trimodal model isn’t built around the systems of engagement vs systems of record model. It’s built around a progression, from prototype to production-grade, and then from production-grade to part of the core architecture.

In Simon Wardley’s version, described here last week, the progression is managed through a process of theft — “settlers” steal “pioneers'” prototypes to make them production grade; “town planners” steal settler’s production-grade systems to make them suitable for inclusion in the core architecture.

Think pioneers are going to thank the settlers who take over control of their creations and impose strict new rules for their evolution? Think the settlers, who have carefully adapted their systems to support their part of the business, will be delighted when town planners take them over and generalize them so they support the whole enterprise better by imposing one-size-fits-nobody design compromises?

Think again. No matter how what system of governance IT and the rest of the business impose to regulate this process, it’s still going to feel like kleptocracy to those on the receiving end of it.

You’re the CIO. One way or another you need to keep the lid on conflicts within IT. So you instituted DevOps, not only to help speed things up but also to reduce the usual and natural conflicts between Development and Operations. But DevOps exacerbates conflicts between the high-speed culture that uses it and the low-speed one that avoids it.

You’ve already instituted some form of Agile Enterprise Technical Architecture Management (ETAM). (Haven’t you?) With some trepidation you incorporate the kleptocratic town-planner function into it. But you recognize the resentment it will create, and want to minimize it.

What’s the plan?

There are no best practices for this. Not that there ever are, but some fields at least have proven, tested practices. Here, the best we can do is apply what we know to what we don’t know. Three suggestions:

  • Avoid false dichotomies. System of record vs system of engagement is one. These aren’t opposites. They’re the poles of a continuum. System-level governance should establish the proper trade-offs between system-of-record-ness and system-of-engagement-ness for every system IT manages.
  • Rotate staff. No, don’t have them spin in circles. With some exceptions — your deep system mavens who like being deep system mavens — move applications staff from one system to another, and in and out of your ETAM function. Move operations staff from one DevOps team to another, and through ETAM as well. Resenting them is harder when they become we unpredictably and often.
  • Promote “Form Follows Function.” As the first rule of design it’s already at the heart of your architecture (isn’t it?). Those who embrace it are more likely to assume those who do things differently are dealing with different circumstances.

Making it part of how we do things around here will reduce cultural conflict.

And happily enough, it will also improve design.

DevOps is the least interesting feature of DevOps.

In case this is the first you’ve run across the term, DevOps is what you get when you add IT Operations to Agile development. This is a Good Thing because when the team needs computing resources a team member can provide them instead of the request waiting in a FIFO queue until it floats to the top.

For the record: I recommended this to a client in 2006. It didn’t seem important enough to name, let alone promote as the Next Big Thing.

But DevOps has become a lot more than just adding Ops to Dev.

First and foremost, it’s about establishing a culture of collaboration that includes all stakeholders in a project and the business change it’s been chartered to engender.

Which makes this yet another opportunity to say I told you so: There is no such thing as an IT project.

You’re welcome.

Second: DevOps is more Agile than Agile: Instead of bundling lots of small changes into a big release that requires extensive testing and change management, DevOps deploys changes so often that each individual change is too small to worry about.

The magic buzzphrase is “continuous testing and integration.” In practical terms this means DevOps makes a wonderful excuse … sorry, change that, business case … for an IT shop to do what it should have done a long time ago, namely, implement automated regression and stress testing.

So … DevOps = Agile + Collaborative business change + Automated regression and stress testing + Continuous implementation of small changes.

Sounds outstanding. But does it pass the so-what test?

Sadly, many of the answers are little more than hand-waving.

For example: “DevOps is a powerful revenue driver. About 34 percent of respondents working at organizations with greater than average profit growth said they had already adopted DevOps while only 17 percent of those with less than average profit growth had done so,” says Andi Mann, vice president, CA Technologies.

I don’t want to pick on Andi Mann. He’s been a Force for Good in this area, providing no shortage of excellent insights.

But as correlation doesn’t prove causation, this isn’t one of them. More likely, the best-run companies — those whose strategy, overall execution and business culture drive exceptional profit growth — are more likely to adopt DevOps than their brethren.

Then there are metrics that are just plain … well, you be the judge. Puppet Labs doesn’t really deserve to be singled out but it is the source of one such metric, namely, that Amazon Web Services claims a mere 0.001% of its deployments cause outages. “0.001%?” I hear the metrically naive exclaim. “Wow! That’s fantastic!”

Uh … no. If you take a release that caused an outage because it contained a defect and break it up into 100,000 micro-releases, one of which contains the same defect, you end up with the exact same number of defects released into deployment, even though only 0.001% of your releases contain them.

To be fair, finding and fixing the bugger would be a lot easier with 100,000 micro-releases.

Then there’s my favorite — DevOps lets you release new features to customers more quickly. It’s a fair claim, so long as the software you’re DevOps-ing is visible to your customers, which it is if it’s part of your eCommerce site but isn’t if it’s something you use for, say, property management.

What’s that? Internal customers? Just a guess: If you change the screens they work with several times a day without warning, they aren’t going to thank you.

Okay, fun’s fun, and fun as it is to debunk hand-waving business cases, providing valid ones is probably more useful. With that in mind, here are three:

  • Automated testing: Yes, setting up and maintaining an automated test environment is far from easy. The payoff: Orders of magnitude fewer bugs and system failures make it through to production. DevOps gives you a convenient context for it.
  • Integrated business change: There really isn’t any such thing as an IT project. The industry momentum behind DevOps gives you a convenient context for this as well.
  • Whether correlation results from causation doesn’t matter: Making DevOps work in a business requires changes in mental habits outside IT that will make the business more agile. And not only more agile, but more focused on whether what it’s doing is something Real Paying Customers will care about.

That is: While the companies that have already implemented DevOps already have other characteristics that make them more successful than their competitors, for those that haven’t, implementing DevOps could help transform them into companies that have these characteristics as well.

It’s a classic case of the fringe benefits outweighing the planned benefits.