When I finished high school, being the eldest son, I was expected to take over my dad’s company when the time was right. He ran a small but successful business, doing the administration for many small businesses.
So I did what was expected from me and, while I was already working in IT, I did many evening classes that would get me the right papers to eventually quit my job and take over the firm. In those years, I worked as a programmer/application analyst during the day and studied and helped my dad in the evenings and on the weekend.
Now, you may wonder why I am telling you this…
In the years I worked with my father, I not only learned how business people think, but I was also expected to help them with advice on how to run their businesses financially, why certain risks were too risky and why certain investments were good ones. I learned a lot from them, and I hope they learned something from me.
In the end though, I found my real talents were in computing, so I decided to stick with IT. My past has been haunting me ever since, however. And especially in IT, I am confronted almost daily with situations where I think; “This is a typical IT decision, not a real business decision.”
One of the first questions I almost always ask is: “Do you have the numbers?” And with this, I mean REAL numbers, not just “some” numbers. I often find that any question about numbers is seen to be bordering on an insult, especially in discussions with IT architects. One architect once bluntly told me that he could not be bothered with stuff like that, when he was asked to come up with an architecture for a new and quite important application.
The last thing he needed was financial stuff to deal with. But we all know that during the lifespan of an application, the associated platform-, operational and other costs can run into the millions and even hundreds of millions of dollars/euros. It’s not just important to have facts and figures whenever you start a million dollar project, in my opinion – it is a necessity.
There are plenty of examples of wasteful projects I could give you, varying from multimillion dollar ERP implementations exceeding budget by 500+%, to National Health Service IT projects that were cancelled after spending huge amounts of (public) money. And it’s not just a problem for governments or large financial institutions, but also for medium-sized and even small companies. I would, however, like to stick with one that is still very valid today: Mainframes versus Distributed Computing Systems.
20+ years ago, when a mainframe was the only computer companies had, the sudden rise of the Intel and RISC processors meant that we had a choice for the first time. But since distributed computing was considered modern, sexy and (according to many) very cheap, we did not treat it as a choice, but as the next logical step.
Why design a new application for the mainframe if you could run it on a more modern and flexible platform? And, of course, many of these new applications DID run better on this new platform. But many didn’t. And when these applications went into production, we soon found that the cost of running them was a lot higher than we had expected.
In the beginning, we could blame innocence. We simply did not know how these new systems would behave under heavy workloads. We never realised that the one server we thought we needed would eventually change into 20 servers. And this was for production alone, because we needed a few of the same servers for development, and a couple for QA and testing as well. But after a few years, it became apparent that many IT architects and managers simply seemed to think there was only one platform to run applications on and ignored the fact that, like any normal business, different applications suit different environments.
Transportation companies, like UPS or DHL, have different size vehicles to transport different types of loads to different locations. They own a lot, but have contracts to rent planes, cars, trucks, etc. when they need them. This makes them flexible and competitive. They own such a large variety of transportation vehicles because they have a fit for purpose model. Like any company, they have adapted their fleet to the type of companies they serve and the type of goods they deliver.
This is not much different from the average IT department. They too have applications that are mission critical, with guaranteed response times, millions of transactions per day and tens of thousands of connected users, as well as small departmental applications serving only a handful of people.
And just like it doesn’t make sense for UPS to transport every parcel with a 25 ton truck, or break up a large shipment into 50 pallets so they can fill 50 small vans, it doesn’t make sense for IT to run all their applications on the same platform.
This means that we need to become more flexible as well; if the IT workload changes, we may want to change the IT platform that we run it on. Truckers are opinionated about van drivers – and the feeling is mutual. But this has not stopped companies switching from one to another if the circumstances call for it.
In IT, the initial choice of a given platform should not be carved in stone and IT staff should not be opinionated about the type of servers. If an application is too small to run on a mainframe, move it to a cheaper platform. However, if an application is too large for the 65 distributed servers it already requires, it may make more sense to move it (back) to a mainframe.
Any IT decision is a business decision. And it should be treated as such. No more bias about platforms or operating systems and no more relying on myths or hypes. Not only will “the business” appreciate it, we will make it a lot easier for them to accept us as equals.