Within the past year or so, I have worked with an utterly shameful technology. It was initially marketed in the early 90’s as a CRM, the vendor was consumed by a multinational competitor and its flagship product promptly discontinued (the organisation was consumed for its client base, not its product, and its clients were offered an upgrade path to the consumers product). One of the Unique Selling Points (USP) of the technology was an IDE of sorts that enabled the developer to add controls to a form, and attach coded business logic that would be executed when the user performs some UI action, clicking on an OK button for example. The minds eye view of this technology – think Oracle Forms 4, but much much muuuuuuuch worse. Of course by todays technology standards, this is a laughable USP, and a 2-tier forms technology with a UI and a database is far from anything special.
Now imagine that there is a multibillion Euro organisation still using this technology in 2017/18, with business critical components being developed using this technology on a daily basis. Is this legacy technology a strategic risk to the business, or any sort of risk for that matter?
No and No is the answer, or perhaps No and Yes, or Yes and No, or Yes and Yes (that’s 4 permutations in the punnet, unlike the Rumsfeld set that contains only 3), but whatever is the answer, they are still damned. On the face of it there appear two primary risks.
At some point, this organisation will be forced to stop kicking the can down the road and have to replace this legacy technology with something more modern, performant, and that has a less costly SDLC and staff attrition overhead. This will not be today unfortunately. At the moment they are damned (or perhaps doomed); competitors are eating into their traditional market share, new software features to meet changing business requirements, bug fixes and so on are only implemented with speed because of a hoard of unproductive contract developers (and they are certainly not unproductive because of technical ability or nous, but because of tooling – it should not take 2mins to check in changes for a single source code file; some source code is stored in a database in binary, there are concurrency issues with more than one developer modifying a single object at any one time, and there isn’t even the ability to use a diff tool so there is no change history auditing etc – this all causes immense frustration, and more). Furthermore system testing involves dedicated testers bashing keyboards; there is not a single automated test in the underlying application. Of course this organisation may be damned (or again perhaps doomed) if they change too. A recent and topical example of how to not do a migration from a legacy system to a new system is TSB.
Given low technical risk, I doubt this organisation will change and will retain this legacy system for at least another decade. The system is too big and unwieldy to be easily swapped out for something modern and maintainable, and the costs and technical migration path are fraught with danger. The same will be true in a decade too, and the cost to change much higher, even if the replacement system were to be slowly phased in. When large companies merge or divest, like in the takeover of TSB by Lloyds, and then the divesture of Lloyds TSB into Lloyds and TSB, change occurs very rapidly. These activities are often when old systems are taken offline or decommissioned, or new systems rolled out, along with the bigger business architecture changes (and clearly the business case is strong). Perhaps this is what will happen with this organisation. I just do not know. I do know however that I am glad to only have worked with this technology only in passing; having the development technology on mv CV as a core technical skill would be akin to be unemployable as a contract software developer. For a contract software developer, this is not good.
— Published by Mike, 18:09:03 20 May 2018 (BST)
By Month: November 2022, October 2022, August 2022, February 2021, January 2021, December 2020, November 2020, March 2019, September 2018, June 2018, May 2018, April 2018
Apple, C#, Databases, Faircom, General IT Rant, German, Informatics, LINQ, MongoDB, Oracle, Perl, PostgreSQL, SQL, SQL Server, Unit Testing, XML/XSLT
Leave a Reply