Imagine the medieval farmer using his plow, and one day he comes to find that its blade is chipped. He goes to his local blacksmith for repairs, where he’s told that his plow is made of old-fashioned iron.
“Sir, that was very modern maybe 10 years ago,” explains the blacksmith. “But today, we’re using beryllium which is of course much lighter. And the most modern plows are already using unobtanium, which is the greatest thing ever. So Sir, you will have to discard your plow, there is no other option. Maybe the blacksmith three villages down the road, an elderly guy could perhaps mend your plow using some old strange welding technique. But he may be already retired, I don’t know.”
This probably never happened in the middle ages, although it would be funny to see the look on the farmer’s face listening to the modernistic blacksmith. How different is this today? Say, you’re 40 years old and the software you’re using was made back when you were in school. Well, good luck to you. Or imagine you’re 54 (BTW, I can do this particularly well), and you’re using software that was made back when you were in school. Well, you’ll be in for some interesting experiences.
Technology advances so quickly that it can effectively only be used as a disposable product, something that will survive a decade or so (at an absolute maximum). Problem is, there are very few products that are intended to be used for such a short amount of time. This means that products become legacy products very quickly and therefore need constant re-engineering. This wouldn’t seem to be in the interest of many business owners. Until technology has stabilized, this will be the situation we’re in: live with it. Moreover, there is little indication software technology is stabilizing – so we better engineer for continuous re-engineering. This needs to be considered in long-term planning, and needs to be an integral part of software planning. You cannot start all over again every 10 years, and I’d like to believe most business owners have longer term plans with their organizations.
The good news is, our software experts are solving for this every day. A proper software architecture is crucial for high-quality software, which in turn, lays the foundation needed to rapidly develop and deploy flexible, future-proof solutions. And our team is ready to support you in getting it right.
Read part 1 of this historical perspective: We no longer understand the technology we rely on