|Research, training, consultancy and software to reduce IT costs|
Knowing when to change
One of the big challenges for the long-term management of systems is deciding when to adopt new technologies.
If you want systems to be long-lived, you need to pick technologies that are technically and commercially viable. You need to use technologies in a standard way, to make sure that you keep on the upgrade path and that you can swap to other technologies if suppliers fail.
You also need to make sure that the original technology decisions are respected. There will be a constant pressure to adopt this or that new technology. Adding a component that then fails technically or commercially can undermine the entire system and force expensive redevelopment.
However, if you defend your original decisions too enthusiastically, you might not adopt new technologies when you should. You might condemn your system to premature death.
We faced this problem with our Metrici Advisor software. Because it is the basis of our business, we have to make sure that is is long-lived. Also, since Metrici Advisor helps people manage their systems for the long term, we have to show that we know what we are doing.
When we started development in 2005 we made some choices. The system is Java based, running in Apache Tomcat. We use the MySQL database, but do not use any non-standard features. The web pages use only standard HTML and CSS.
Was I wrong to defend our original decisions for so long? That is a difficult question. We could have adopted jQuery a couple of years ago, but if we had not defended our original decision robustly, we would have been just as likely to have picked a different library or developed our own framework, which would have left the system in a mess.
Managing systems to be long-lived is hard. You have to defend the system from the vagaries of fashion, and you have to disappoint constantly those who want you to adopt the latest and greatest technology. Conversely, you must adopt new technology when the time is right. It is a difficult balancing act.Next: Twilight of the technologists
Minimal IT: research, training, consultancy and software to reduce IT costs.