You may be familiar with some of the following common signs of legacy applications:
- A patch on top of a patch, just like a living Frankenstein application
- Known bugs
- Changes are expensive
- Fragile
- Difficult to understand
- Old, outdated, static or, often, non-existent documentation
- Shotgun surgery
- Broken windows
Regarding the team that maintains it, these are some of the effects it produces on the members of the team:
- Resignation: The people in charge of the software see a huge task in front of them
- No one cares anymore: If you already have broken windows in your system, it is easier to introduce new ones
As legacy code is usually more difficult than other kinds of software, you would want your best people ...