The Guy with the Gold (who makes the Rules) _never_ wants to spend an hour or a cent on something he can't bill for. But you still need to control the code you're stuck with or keep rolling the same rock uphill every day.
You probably also can't say rigorously what this app is _supposed_ to do -- only what it's done for the people who've complained that it doesn't anymore. So rewriting it from a real design is improbable, as well as impractical. Attack it as part of your workflow: every time you have to fix something, capture the problem you're fixing as a test case. It doesn't have to be elegant, or 100% automated; just a set of vectors to validate "correct" (what it done did before) behavior. This should, at least, minimize regression. Don't make any test too elaborate, or you won't want to run it, and that's a waste.
Even a well-structured SW product costs 10% to design, develop, document, and release, and 90% to maintain, over its life-cycle. And there has never been a well-structured one, only attempts, and mostly miserable failures. Do what you can, and watch out for Murphy!
The Guy with the Gold (who makes the Rules) _never_ wants to spend an hour or a cent on something he can't bill for. But you still need to control the code you're stuck with or keep rolling the same rock uphill every day.
You probably also can't say rigorously what this app is _supposed_ to do -- only what it's done for the people who've complained that it doesn't anymore. So rewriting it from a real design is improbable, as well as impractical. Attack it as part of your workflow: every time you have to fix something, capture the problem you're fixing as a test case. It doesn't have to be elegant, or 100% automated; just a set of vectors to validate "correct" (what it done did before) behavior. This should, at least, minimize regression. Don't make any test too elaborate, or you won't want to run it, and that's a waste.
Even a well-structured SW product costs 10% to design, develop, document, and release, and 90% to maintain, over its life-cycle. And there has never been a well-structured one, only attempts, and mostly miserable failures. Do what you can, and watch out for Murphy!