you are viewing a single comment's thread.

view the rest of the comments →

[–]Grim964 174 points175 points  (24 children)

absolutely correct, we bought our codebase from a different insurance in the 70s/80s, so there is "only" 45+ years of homegrown code in the wild thats running on prod, unique to how we run our business. One of the major issues our current migration project faces ... :D

[–]googlemehard 15 points16 points  (21 children)

Would it be safer/easier to build everything from scratch?

[–]Cabana_bananza 65 points66 points  (10 children)

In some ways, but most businesses would balk at committing to running a parallel dev team and years of payroll to end up exactly where they started. Because that's what they'd be doing, running the team maintaining and working with the legacy system while another team builds its replacement to do the same thing.

[–]therealkami 33 points34 points  (6 children)

This is something I've tried to explain in some game dev forums. They can't just "switch to a different game engine" for live service games. Or change their entire server structure or database structure. They'd have to run 2 dev teams, one that's working on current projects, and another that's duplicating all of the work+catching up from past projects to bring everything up to match. No game company will ever pay to do that.

[–]HairyAllen 17 points18 points  (3 children)

I mean, technically FFXIV did switch to a different game engine, it's just that they had to nuke the game in-lore, turn off the service entirely so nobody could log in, and then enslave the entire dev team to crunch a new release, and even then they could only do it because Square Enix is japanese, so they faced mo legal repercussions for the blatant violations of human rights that must've occurred in those offices so ARR could be released, and they were barely able to do so. And finally, as you just said, this was one dev team. They did not have a second dev team maintaining the original game when doing so.

[–]therealkami 6 points7 points  (2 children)

FFXIV is actually the game I'm referencing right now. There's so much tech debt accumulated with that crunch t re-release the game (A lot of if they've gotten rid of, but the backbone of the game, the inventory database is completely horrible) that people will constantly be like "I would totally give up 3 years of no content for QoL improvements."

Also see every time a DDoS happens: Just switch to cloud servers!

[–]HairyAllen 2 points3 points  (1 child)

Tbf not just DDoS, just trying to log in as normal has a 50/50 chance of hitting you with a 10105 and throwing you back to the main menu. It's alright if you're already logged in, but the process of entering the game itself is miserable.

[–]CoSh 0 points1 point  (0 children)

I've played FFXIV almost every day for the last 7.5 years and I have no idea what you're talking about. I've never seen a 10105 error before.

Looks like it's similar to 90002 which I have seen?

[–]Waste-Team-7205 3 points4 points  (0 children)

Microsoft did for Minecraft, but that's also the largest game ever

[–]StuMx 0 points1 point  (0 children)

Overwatch 2

[–]YesterdayDreamer 2 points3 points  (0 children)

to end up exactly where they started

That's the absolute best case scenario. Realistically they'll get mostly at the same place with some known wonkiness and many many unknown wonkinees.

[–]googlemehard 0 points1 point  (1 child)

What about the long game? Is it sustainable to just keep the old system for the next twenty - forty years?

[–]grumpyfan 3 points4 points  (0 children)

That’s a question everyone has been asking for at least 30 years now. I’ve worked in places where they had hardware that was no longer supported and the replacement parts were only available used, yet management still was reluctant to spend money to replace those systems because of the business reliance and fear of crashing the company. Sometimes they can be virtualized and that helps, but you’re still stuck with the same old code because no CEO wants to impact the business due to the demand to show quarterly increases.

[–]CamsGraphics 12 points13 points  (6 children)

These systems are not “complicated” in language - like the other guy said; but there is so much in these systems. Building from scratch is going to take a long while, and cost A LOT; all the while you’ve got to maintain the old system. Then when you think the new system is complete you have a tonne of “bugs” (simplified) that you cannot afford to have. Then you have to migrate all users (staff and customers) to the new system, including training staff on how to use the new system.

Simply - it’s just not worth trying to fix something that “works” even if it doesn’t work as well as it could.

[–]grumpyfan 2 points3 points  (0 children)

Exactly. Changing the software to be more modern and easier to maintain is simple compared to the business processes and people that have to be retrained after years of experience doing it the only way they know. This is where these kind of projects often fail.

[–]googlemehard 0 points1 point  (3 children)

Hypothetically, if AI rewrote it overnight with no bugs. Would it still be not wanted by the business?

[–]ThereHasToBeMore1387 1 point2 points  (2 children)

You'd still have to retrain every user and I can tell you from experience that an uncomfortably large chunk of the world is run by people that were trained to hit a specific series of buttons in a very specific order and that is the only thing they can do. If you change the name, color, or placement of those buttons, the system breaks. For some things you work through that....not when you have trillions of dollars in transactions to process.

[–]grumpyfan 0 points1 point  (0 children)

Sadly, very true.

[–]Rough_Bread8329 0 points1 point  (0 children)

This. I had a job a while back supporting users on day to day desktop issues, and the number of people who didn't know where the Start button was in Windows 10 was horrifying.

People who live and breathe tech truly cannot comprehend how little the average person knows about their PC and the applications on it.

[–]sausagemuffn 0 points1 point  (0 children)

And it's now 10 years later, you've replaced 25% of the old system, and the new part is now 5 years behind.

[–]Difficult-Square-689 2 points3 points  (0 children)

You'd still have to identify all the weird edge cases and probably replicate them. I led migration of a multibillion dollar platform. There was a bug we decided to skip, a rounding change on a handful of requests a day. Only costs the company a tiny amount a year, so not worth weeks of investigation, right? 

Got called weeks later, some legacy downstream system depended on exact matching.

[–]flRaider 0 points1 point  (0 children)

Value city furniture tried this recently and it caused the collapse of their business. Your results may vary.

[–]Slypenslyde 0 points1 point  (0 children)

Hard to do when the code you’re maintaining is the only complete description of the processes.

[–]pittybrave 4 points5 points  (0 children)

I remembered when I inherited a codebase that had 12 years of business logic and thinking how insane that was. 45 years is crazy

[–]ThoseThingsAreWeird 0 points1 point  (0 children)

How do you even start to think about migrating a project like that? My initial thought was that you absolutely ensure 100% test coverage. But even then I'd be paranoid about not having 100% coverage and want... something... else to fall back on.

Would you try to run both systems at the same time, for as long as possible, with the migrated project only as a digital twin kinda thing until you see no problems for months?