You sit down in front of a legacy application. Maybe something that has a fair bit of complexity.
Do you allow yourself to enter the “This is crap let’s rewrite it” Cycle ?
The “This is crap let’s rewrite it” cycle is simple. The app is in shambles, there are business rules everywhere, you think you understand the app and all of the intricacies. You suggest that rewriting will be simple. It is not. You run into things…
You now have this
You try to put the worms back in the can. But it involves hacking because you are up against a deadline.
You end up with something better, but will another developer enter into the same cycle?
Things that can save you and others
Humility – You don’t know everything and maybe some of the things are there for a reason
Architecture – Gives you clues on the big picture.
Historical Info – Someone on the project gives you insight on why things are the way they are.