This is part 1 of a multipart series on changing core technologies in a software system, or software based service. This part discusses the costs of change.
No change in core technology in a system comes for free. No matter how small, there is always a cost. There are the obviously dollar costs associated with acquiring new technologies, but there are other costs that tend to get overlooked. Even when looking at the monetary cost, there are elements to the initial purchase that can sometimes be forgotten.
When changing technologies, the first and most obvious cost is the money needed to buy or licence the new technology. Obviously, new hardware and/or new software means an outlay of cash for the product plus support. What you need to remember to budget, though, is for the ancillary costs, specifically for training. Unless your staff is already familiar and experienced with the new technology you are bringing in, you will need to train people on how to use it, how to run it and how to maintain it. Training isn’t generally free, and while you can learn something from available sources like books and on-line knowledge bases, at some point you will have to send people on training courses. You may also have to bring in specialists for a short period of time to bring your team up to speed. All of this needs to be factored into the budget.
For product companies, a technology change also imposes these costs on your customers. Either you have to build the cost into your product (through the initial licence fees or through maintenance fees), or the customer will also have to go out and obtain the new technology themselves. They, too, will require training. These costs will have to factored into your customer’s budgets when they review their licencing and maintenance fees with you.
So, you’ve spent the money, bought the new products you need and paid for your training. The full bill for your change has still not been paid. Now you have to take the time to migrate to these new platforms and products, or integrate them into your system. That takes time, and unless you are in the unique situation where your existing products and services do not require any sort of care and attention, you either have to split your team’s time between keeping the old stuff going while working on the new system, or you have have to increase your staffing to try to do both in parallel. Either way, you have to pay these people. Depending on circumstances, this can also impact delivery dates for existing and new product. This can result in lost time for customers experiencing problems with current product, and lost opportunity for the new product if the delivery is slipped out far enough.
Another cost that can be overlooked is the cost of tools for administration, management and monitoring of the system (either used by your staff or by your customers). Sometimes a new technology comes with everything it needs, but on occasion it may not. That means you have to step in, and spend development time and dollars building the tools you need to be able to watch the system when it is running, be alerted to issues as rapidly as possible, and diagnose the problem to fix it.
For systems that you run as service, these changes also can cost during incidents with the service once the technology is deployed. Your operations staff won’t be as familiar with the new technology. The tools and processes they used to use may not work, or may work differently. That means more time to try to figure out what is happening when something is going wrong, and more time to correct the problem. This issue should diminish over time, as the system becomes more mature (and presumably more stable) and the operations team become familiar with the tools and diagnostic processes. But initially, resolving incidents simply will take longer. Depending on the impact and severity, that in turn can hurt the business in the short term as customers pull back on their use of the service (or pull out entirely in some cases).
The last set of costs are those associated with the transition to the new product or service. This can mean spending to keep the current technologies in use while you move to the new technologies you’ve selected. The result can be duplicate servers, duplicate storage or duplicate software/maintenance fees for a period of time.
Moving to different technologies is not free, and it isn’t necessarily cheap. It can take months or even years to make back the costs associated with making a change. But it may also be worth it for other reasons, or may be required simply because a technology you depend on is no longer available. No matter the reason, a thorough review of all the costs is a good idea, so that you don’t have too many surprises either for the budget, the project plan or during operations.
Continued in Part 2 discussing the risks of change.