This was a simple deal when I started the project it only had a simple object structure... 37 fields. Only over time has it now spiraled to right under a 1000. You couldn't edit the data entered in the original concept. No bells or wistles just data entry and a single report.
in reply to what to do when you screw-up?
after adding a feature here then a field there. Add some core functionality without breaking every other application in the mean time.
Then somewhere in the middle certain users needed the ability to enter 'private data' which was added. Now the application has 4 tier levels of data entry. And the reports generated dynamically depending on the level of access now number 32.
So I have slowly created the monster. And the worst part... the scary part is the application has been in use from almost the word go. Each upgrade has gone with out much down time 6 hours over the past year. I know I can easily it roll back but it is a butt clenching episode.
now with needing to implementing it 4 times over. Trying to decide on creating "Evolutionary application trees" or try and maintian a communinal source base. Is a real toss up.