Eh, let’s wait for Service Pack 1.
Right? Standard wisdom, with changes in terminology, across the commercial software industry since pretty much forever. Good times.
Those times are gone.
I met three people recently who are no longer employed in the IT trade primarily because they didn’t learn PowerShell, because they kept putting it off and waiting for it to be “done.” By which, I assume, they meant, “no longer releasing new versions,” which is sad and dumb. Because, you know, computers.
Organizations and people continue to do this, though, driven by a decades-old set of assumptions that haven’t been valid for a while, now. We’ll wait until it’s done. Until the first patch. Until the first dot release. Until Cthulu calls us home. Whatever. In the past, it wasn’t a great idea. Now, it’s impractical to the point of being ludicrous.
Look, I totally get it. There are three main reasons why we don’t like to deploy stuff all that much.
It Represents Change, and Change is Unstable
Except, we’re always going to be changing at this point. There will be no milestone at which we can say, “this is probably not going to blow up a lot.” Sure, you’ve got “Long Term Servicing Branches” and stuff, and that’s all well and good, so long as you acknowledge the fact that you can’t have the new hotness that will be out next week. I mean, how often do I get asked, “where are the NetAdapter cmdlets in Windows 7?” To which the only reply is, “you can’t have nice things, because you’re not keeping up.” New versions do represent change, they may be unstable, and our core value as IT people is to deal with that anyway. Put another way, if all you can offer your organization is the ability to safely deploy old stuff that’s well-known and easy, then you should think about how much value that really is. And if your organization’s only value to its customers doesn’t involve keeping up with technology, then you perhaps deserve to be conquered by your competition.
Take restaurants in the US. All of them. Every point of sale unit in operation is running an old, hackable, decrepit operating system with exposed USB ports, waiting to be the next major credit card breach. This industry can’t even get chip-and-signature deployed, for pity’s sake. This is a complete and utter failing in their IT, at an organizational level, and everyone working for them should be abandoning ship as fast as possible before the End Times strike.
Yeah, constantly deploying new stuff is hard. Fix that. Make it easy. It’s as simple as that. We should never be in a position to say, “gosh, great idea to roll that out, and man – love to – but it’s hard, so no.” That’s embarrassing.
And if you’re telling your organization, “guys, this isn’t hard, I can do this,” and they’re still saying, “IMMA WAIT, SEEMS HARD,” then you need to consider your career choices. Fast.
“We can’t deploy v___ because all our apps only work on v___.” Yeah, okay – valid. But what’s the plan? Because just not deploying isn’t really much of an option for very long. What’s the plan forward, and given the new, faster pace of releases – what’s the plan to not wind up in this same place again?
Once again, this is about IT competency – at a management level, in this case.
In any event, don’t put off deploying new things just because it isn’t the last version. There’ll be a new version in a few months – try to get that deployed, too. Make continual, streaming upgrades a competency. Build everything – including software purchase decisions – around the fact that it’ll always be a revolving door of version numbers. This is, in fact, the whole allure of cloud-based PaaS services, because they take all this off your hands! But you need to develop this kind of ability – this kind of agility – inside your own organization, too.