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."
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."
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.
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.
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.
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.
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.
But I've seen some very different usages too.
Similarly: "Thing I'm not allowed make any enhancements to"
The retiree’s definition is “That which pays for my grandkid’s college”