Why keep up with current events?
Not as in reading the newspaper and knowing what’s going on, although that’s important if you want to be a responsible citizen.
No, the current events I’m talking about are software upgrades. They are events, and staying current with them is vitally important. It’s a fact of life in the world of information technology, but is more often treated as an option.
Definitions first, so we don’t talk at cross purposes: “Keeping current” doesn’t necessarily mean always putting every vendor’s releases into production as soon as they’re available. It means never allowing yourself to rely on a release that’s no longer supported, and thinking very, very, carefully before allowing yourself to rely on something sold by a vendor that is either in a financially marginal position, or that is likely to withdraw it from the marketplace.
“But,” a chorus of voices generally sings in barbershop-like harmony right about now, “upgrading should be a business decision, not an engineering decision.”
Welcome, once again, to the world of false dichotomies. This statement is about as sensible as saying, “Selling an underperforming equity in our mutual fund portfolio should be a business decision, not a financial decision.”
Or, “Investing in search engine optimization should be a business decision, not a marketing decision.”
Let’s put this to bed once and for all: Every engineering decision is a business decision. When the subject is staying current, the business decision is actually quite simple: Pay it now or pay it later, only that isn’t quite accurate enough. It’s better phrased, “Pay a modest amount now or pay a much, much bigger amount later.”
It’s something engineers know: Eventually, if you don’t stay current, a technology you rely on will stop working, sometimes in a dramatic way, sometimes for thoroughly annoying but still unavoidable reasons.
Dramatic: We once had a client that relied on a particular DBMS. From a features-and-functionality perspective it saw no value in several successive releases, so it skipped them. In doing so, it skipped a change from 32-bit addressing to 64-bit addressing.
Then it ran out of keys, and had no choice but to upgrade, skipping over several releases and having to track down all of the assorted minor software glitches each new release inflicted on its application software, all at once.
In two weeks.
Annoying: You liked XP better than Vista. Then you discovered that while Microsoft provided an automated upgrade from XP to Vista, it doesn’t provide one from XP to Windows 7, making that transition much more expensive and time-consuming. So you’ve put off that upgrade too.
Now, the company that manufactures your printers replaces the model you’ve been buying with a new one that … that’s right … has no driver for Windows XP.
Annoying.
And isn’t always engineering that gets in the way. For example …
Staffing: You rely on a product that works just fine. The software vendor operates in the black. You’ve stayed current. But (there’s a “but” so often in these situations) the marketplace has lost interest in the product for reasons that really don’t matter at all, because that’s the way it is.
And one day you find you can’t fill open positions anymore, because the only applicants you get anymore are people who are coasting. They have the skills, but not the other attributes you look for when deciding who is worth investing in as an employee.
There’s no point in pretending. You’d better start your conversion now, because running an IT department with developers who are coasting is much more expensive than running it with the best available.
Mergers and Acquisitions: Just in case you hadn’t noticed, companies buy other companies. They merge. They spin off under-performing divisions to get some cash and get rid of a business liability. They spin off high-performance divisions to get some cash to subsidize underperforming businesses (I’m sure it makes sense at the time …).
Meanwhile, some software vendors include material change of control clauses in their license agreements (although calling them “agreements” is something of a euphemism), which means that the licenses become invalid with a change of business ownership.
And as the company that’s changing hands hasn’t upgraded for a few releases, the acquiring company can’t even buy the version on which the acquisition target’s software depends.
The view from here: Staying current isn’t really a business decision after all. It’s better than that.
It’s the businesslike way to operate.
We have a bug tracking database on a way out of warranty/support server. The bug tracking database is no longer supported by the vendor and the license has expired. When ever IT approaches the business owner they scuttle away and hide under a rock, but let this go down and I will hear screams from several engineering locations. In order to bring up the database and front end, the business owner changed the way the server boots. During the boot, the server date is set back several years to a date when the license is valid, the database and front end come up, then the server date is set to the current date so the time stamps on the bug tracking tickets is correct.
I wish all big-shot decision makers could be made to understand the truths in this article.
Bob’s writing makes me think he is writing directly about my work environments.
I see what you are talking about on a regular basis. However, sometimes it really does pay to wait / skip upgrade.
For instance, we skipped Vista, and it’s turned out to be a sound decision for us. Vista was a such a performance black hole, that we really could not realistically upgrade existing machines, and we found that to get acceptable performance, we would have to spend much more for new machines that we were purchasing.
Now that hardware prices have effectively fallen (I’m paying pretty much the same price for much more powerful equipment) and Windows 7 has greatly reduced the performance penalty, we are moving to Windows 7 – but only on new machines.