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