Legacy is an overused toxic word in Software Engineering. In this essay I argue the problem is not software, it’s people, as usual. What is legacy i

David Reis on Software

submited by
Style Pass
2024-11-25 07:00:07

Legacy is an overused toxic word in Software Engineering. In this essay I argue the problem is not software, it’s people, as usual. What is legacy is not the code, but the way we look at it, and that breeds helplessness and costly rewrites. There is another way!

People call some code legacy when they are not happy with it. Usually it simply means they did not write it, so they don’t understand it and don’t feel safe changing it. Sometimes it also means the code has low quality 1 or uses obsolete technologies. Interestingly, in most cases the legacy label is about the people who assign it, not the code it labels. That is, if the original authors were still around the code would not be considered legacy at all.

The longer are programmer’s tenure the less code will become legacy, since authors will be around to appreciate and maintain it.

The more code is well architected 2 , clear and documented 3 the less it will become legacy, since there is a higher chance the author can transfer it to a new owner successfully.

Leave a Comment