For as long as I can remember, organizations have tried to achieve the Holy Grail of technology: a homogeneous environment. More on the desktop side, perhaps, but having one-and-only-one of something in the datacenter was always seen as desirable, too.
You’re probably familiar with the alleged benefits. The big one was “cheaper to support,” on the theory that only maintaining one of something is cheaper. You only train for one thing, you maintain a set of tools for one thing, and so on. You can support things faster, because you only have to keep one set of rules and issues and whatnot in your head.
Some organizations took homogeneous pretty far, trying to lock down their environments as much as possible to prevent drift, variation, and chaos. As a sidebar, I know that lock-down can be useful for security, compliance, and other purposes; I’m not addressing those. I’m talking about homogeneous desktops solely for the sake of sameness, and for no other benefit. I worked in more than a few ships where that was the goal, long before ‘compliance’ was even a concern.
The problem is that very few shops of any size ever actually achieved a fully homogeneous environment. There was always a set of edge cases – Macs for the design department, wacky printers, executives who insisted on a different computer brand because it was available in black instead of beige (this happened to me; we seriously considered spray-painting a Dell).
The common-sense benefits of homogeneity were so… well, obvious, that most of us just went right down that path. We were then hit by the career-switcher rush, in the early and mid 1990s, when a lot of IT folks started moving into IT. Some of those “switchers” brought very little IT experience, and so it was an effort for them to be effective in supporting one technology, let alone dozens… and that reinforced the “benefit” of a homogeneous environment. In other words, it wasn’t cheaper to support, it was just the only thing we could support, because we were working with relative newcomers who had smaller skill sets.
Unfortunately, it was all a pack of lies.
I’ve never been able to find a credible study that showed it was cheaper to support a homogeneous environment than a heterogeneous one. The “obvious, common sense” of the argument for homogeny didn’t play out very well except in the very smallest environments. Believe me, I have had a tremendous problem coming to grips with this because the argument for homogeny is just so… well, so duh. I mean, of course it’s cheaper to support one thing instead of twenty things, right?
Apparently not. You see, most organizations already spend so much more than they should when it comes to per-unit (desktop or server) support, that the ‘extra’ costs of supporting another OS become almost meaningless.
Look, if you’re a single person, then the argument works. “I know how to support Windows, and I know it well. Ask me to support Linux, and I’m going to be a lot slower, and you’re not going to like that. I’ll miss little things, because I don’t know Linux.” Except that attitude doesn’t actually scale to organizational levels. First, we could always hire a Linux person. It turns out that, in most organizations, if you right-sized the skill mix of your team, you’d get about the same size team and be able to support whatever you wanted. Yeah, dragging 1000 Macs into an all-Windows environment would be disruptive, but if you brought in 1000 new clients you’d have to bring in new support staff anyway, so they might as well know Mac.
BTW, I’m not suggesting all operating systems are equal when it comes to manageability. I firmly believe Windows is far superior an operating system when it comes to “being managed by an IT team.” The homogeneous argument is used in all-Windows shops, too – it’s why companies want “all XP” or “all Windows 7” with no variation. Once you acknowledge that Windows is a damn good enterprise client OS, why stick with just one version? The homogeny argument. Anyway…
I recently worked with a couple of customers on a fairly extensive study that compared large (5,000+ seat) departments, some of whom were homogeneous on the desktop, and others who, for operational reasons, were mixed-OS (the mix was often Windows versions, not necessarily non-Windows machines). Support cost difference between them? Zero.
We did find a massive difference between the homogeneous environments and the non-homogeneous ones. Let’s call them the “Samers” (all running one client OS of a single version), and the “Differs” (running a mix of operating systems and versions). That difference: The Differs could incorporate new technologies into their environment massively faster, with less disruption. They were more flexible. Having accepted the need to be Differs, they’d put tools, processes, and training in place to accommodate that need. Their IT folks were generally fearless of new technology; the Samers tended to argue against new technology as much as possible, holding to the “one” thing the were used to.
Take a population of cats, inbreed them enough, and you’ll start getting sick cats. Let them mingle with other populations, and you get genetic diversity that makes them stronger, healthier, and all that. It’s well-known – but it turns out the concept applies to IT as well.
IT teams that thrive on technical diversity are, quite simply, better IT teams. Natural selection ensures that those teams don’t include many less-than-talented people, because you have to be smart just to get by every single day. They spend more time formalizing processes, patterns, and tools that help them manage a diverse environment – so when the CIO wants to bring in some wacky new thing to support a business need, they just shrug and get on it.
This isn’t, of course, saying that everyone who works in a Samer environment is stupid and lazy – but Samer environments allow you to be so, if you’re of a mind. A lot of Samer environments can be so unchallenging (which is the point of homogeny, remember) that the really talented folks get bored and leave before long. It’s tougher to “keep up” in a Samer environment, because you’re just not exposed to much. You’re challenged less.
Differ environments also, I believe, have fewer IT-related political issues. They tend to concentrate more on using technology the way it was meant to be used, because they’re already challenged by the diversity they have to manage. That means technology isn’t held up (as much) by the squishiness of fiefdoms and other political crap that takes place in corporations.
When working with Differs, I find that the end users are often a bit more flexible, too. One company, for example, ditched mapped drives a decade ago. They stood up a DFS tree and made everyone memorize friendly UNCs instead of drive letters. Everyone complained for a minute, and then moved on. Why did they do it? They’d brought in a bunch of Unix boxes to do graphics rendering, and those machines don’t really do mapped drives the way Windows does (drive letters have, after all, been ridiculous for almost 20 years now). So rather than maintaining two sets of standards and processes, they changed the processes to accommodate the different technologies. They didn’t struggle to jury-rig drive mappings onto Unix – they just walked away from what was, to them, an outdated and single-platform concept. Both Windows and Unix treat UNCs the same, so they went that way.
So, what kind of environment do you work in – Samer or Differ? And what kind would you prefer to work in, if you could work anyplace? And how many of your “technology” problems would go away if you worked in an environment where processes, concepts, and users could change to better fit the way the technology works?