Legacy crisis
When software engineers work like "code monkeys" or they junior and know no better, the engineering aspects of the code go out of the window. This leaves the code to descend into a poorer state with lots of technical debt.
Lack of understanding the whole ie Not thinking about how a feature would integrate with the whole of the app
ie How the implementation was going to cause short/long term problems. Or worse, short gain but long term problems. All this without knowninlgy understanding the trade offs and accepting them.
ie Good standards were not being followed
Not enough time spend on prevent major issues (ie bugs, long releases, hard add a fix)
To prevent his can do TDD, apply a uniform release process, code and application is easily monitorable. Spending fixing technical debt at regular intervals.
Software are created, used, patched, and eventually retired/replaced
Software is like aliving thing, it eventually dies
A developer can only postpone the inevitable.
The aim is to allow it to have more quality time to live
Life time of a program, it gets hacked and modified, it's weaknesses are exposed, unexpected things happen when it is used.
The changes made to it will eventaully increase it's complexity and weaken the design
Improving quality of software, can mean big changes which cost time and money, thus not wanting to do it.
Legacy code has come about because we carried the notion that the quality of our code doesnt matter
all that matters is just that software does what it is supposed to do
Last updated
Was this helpful?