Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Does everybody agree on what legacy IT is? What counts as legacy?"

The salesperson's standard definition is, "That which I didn't sell you."

The coder's definition too often is, "Not in a language I think cool."



I generally try to phrase "legacy" as "something that is surprisingly expensive to maintain and improve".

A Mercedes limousine from the 1930s might still drive, and be reliable and stable. Finding parts for it probably requires custom-making them, and that's why I would consider it a legacy car.


You can consider "legacy" as something that's in an ascending curve in TCO.


Literally every system that is scaling up is legacy by that metric.


TCO per customer? If serving your customers, on average, becomes more expensive with time, your system becomes less and less adequate for business.


How about: Using no longer supported libraries

Slow development speed due to old standard

Old and slow source code repo tool

Outdated (os, vms, etc.) development landscape

Bad code like missing Tests

Isn't legacy a system which was not maintained for a while? I have never seen a well working, up to date, modern system being called legacy.

You become legacy when something else superseeded you and now the legacy system needs to be kept alive for whatever migration issue.


Or something that many can’t service. Ive seen legacy apps in PROD for which only the binary existed and nobody was exactly sure what it was doing, they had an idea and workarounds for when it breaks.


I think you could make a good definition based on the institutional knowledge of a system, and how much of the system is not included in that knowledge.


Flashback to a utility that only existed as a binary, but was key to some prod processes. Even better - by the time I met it, said utility crashed on a SEGV after it accomplished it's task. So SOP became - ok, xxx crashed, we're good to proceed.


I would define legacy as when the IT system drives the business.

When working in government it was really obvious when you’d find these systems, as they were usually modeled after a paper process. The organization usually outgrows the process, then they start building shims to adapt.

Newer legacy is harder, as the paper processes were usually better than whatever nonsense was cooked up circa 1997-2007. Paper process people almost always understood the business better than their successors.


My definition is pretty straightforward: legacy is every system of which maintainers don't have complete knowledge.

Also legacy is a spectrum: there is a difference between that side project you coded 2 months ago and forgot about, and that mysterious cobol mainframe the bank found when reworking the office to open floor.


Coders definition is: "code I wrote last week"


Or code someone else wrote.


Code I wrote before lunch today ;)


The real definition of legacy for most developers is “whatever is running in production right now”.


Precisely, and often "the thing that's making the company money".


Maybe it’s code a bit like the Iliad.

A cornerstone of your organisation but few know how it got there or how it works. And even those who do can’t verify it historically. And monsters. Those too.


I’d argue that “legacy” is only really used to try to sell you something. It’s a marketing term and doesn’t really say anything useful about the nature of a system.


I worked at a financial institution during a migration from one core system to another. I was their "Administrator of Legacy Systems." At the time I thought that the "legacy" was the data we kept in the system - all of the transaction records, account information, etc. At the time I didn't consider it a pejorative, but seeing how the term draws derision these days I'm not really so sure!


The way it is usually used, it tends to mean "something we gave-up on paying most of the technical debt".

But I've seen some very different usages too.


"Denoting or relating to software or hardware that has been superseded but is difficult to replace because of its wide use." [1]

[1] https://www.lexico.com/en/definition/legacy


One definition I've heard before (and like) is "code without tests". I don't think that's the only factor, but it's a pretty common indicator.


coder here: "The thing I'll get yelled at for fixing when someone reports it's broken".

Similarly: "Thing I'm not allowed make any enhancements to"


Legacy is contextual. It means different things in different context so it might be more helpful to understand what legacy means in this context.


The manager’s definition is “That which is no longer supported”

The retiree’s definition is “That which pays for my grandkid’s college”




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: