← Back to context

Comment by zurfer

14 hours ago

I heard the story once on how you migrate these old systems: 1 you get a super extensive test suite of input - output pairs

2 you do a "line by line" reimplementation in Java (well banks like it).

3 you run the test suite and track your progress

4 when you get to 100 percent, you send the same traffic to both systems and shadow run the new implementation. Depending on how that goes you either give up, go back to work implementation or finally switch to the new system

This obviously is super expensive and slow to minimize any sort of risks for systems that usually handle billions or trillions of dollars.

I have been part of a few migration projects like this. There is another issue apart from tests not existing. Business/Product still want new high priority features so developers keep adding new logic to the old system because they cannot be supported by the new system yet.

  • The secret sauce is being able to operate below your maximum effectiveness while still seeming impressive enough. That is, if you want to play the long game and get a lot done over a 5 year horizon.

Yeah, we've heard the same "big bang" story a bunch of times as well. However, step 1 (extensive test suite) is often missing and is something you'd have to do as part of the modernization effort as well. Overall, it is a pretty hairy and difficult problem.

  • Sort of related to what bloop is trying to do too right?

    • Like Bloop, we’re also focused on modernization, but our approach extends beyond code to include the people behind these systems and capturing the institutional knowledge they hold.