4 ms·
It's often worth looking at the business problem itself and see if it's possible to simplify it as to reduce the amount of edge-cases that need to be migrated.
by Nextgrid 4y ago
It's often worth looking at the business problem itself and see if it's possible to simplify it as to reduce the amount of edge-cases that need to be migrated. If you look at a typical legacy bank you'll see dozens of different credit cards with minor differences such as one charging fees for foreign transactions, etc. All of those are edge-cases that must be kept in code.
They presumably do this for market segmentation reasons, however if you account for the cost of 1) maintaining the old COBOL/mainframe system (as it's the only thing that's proven to successfully run those products) or 2) successfully moving all that business logic & edge-cases to a modern system, it could emerge that maintaining those different products costs more to operate/maintain that what it brings in terms of revenue from the market segmentation approach, and they're better off simplifying their product line. This also translates to other areas of the business - less support overhead, etc.
The other problem with ordering (and delivering) a successful migration is that a lot of people's jobs in those legacy companies rely on the tech being ancient and would be obsoleted should the tech get better, so there's a lot of internal pushback against this. A lot of people may not actually want the migration to succeed, or at least not to anything actually good as that would put paper-pushers out of a job.
The only way IMO to successfully deliver this as a large company is if the top brass effectively sets up a brand new subsidiary, gives it a budget and a task to make a product competitive with what the parent company offers, and when it's ready they can just move off their customers to that new product operated by the subsidiary. Rinse and repeat until no more legacy tech remains. The fact that it's a completely separate company means it remains lean and doesn't have to be fighting against deadweight that sabotages any modernisation attempts to protect their own jobs.
- mywittyname 4y agoA lot (most? all?) of these "edge cases" end up handling regulatory or other forms of compliance, which came into effect after the initial software design. There might have been 10 people across as many teams who discussed, designed and vetted a one-line code change. It's not so easy to "simplify" out features which are legal requirements.