![]() there exists live, detailed knowledge (ideally in well written specifications, but also in several people's heads - and these people are accessible to answer developers' questions) on how the damn thing should actually behave in any specific situation,.time-to-market is not an issue - customers are patient enough to wait a looong time for a promised, fundamentally better version and there are no competitors,.well, that's the tough one to decide, and there is no general answer there.) At any rate, you would also need the following conditions to give you at least a chance of making such a move successful: in order to enable some desired major feature, or to deploy it on a new platform - answer contains a good example for the latter). the technology used is obsolete, and there is a pressing need to replace it with something new (e.g.the product is so low quality that replacing it with a new, necessarily bug-fraught implementation would not make a major difference,.the original project team is gone, and noone knows how the product is implemented, thus making any changes is incredibly difficult and results are unpredictable,.If all of the following applies to your case, you probably have a reason to rewrite from scratch: That said, there are of course cases when it is still better to rewrite from scratch than to keep fixing the fundamentally broken. Obligatory Joel reference: Things You Should Never Do, Part I How do you decide when it is time to rebuild a system with newer technology, versus keeping on plugging holes in an old one? And how do you make a case for rebuilding? How can you persuade the powers-that-be it is necessary to rebuild the system? So under the circumstances I try to make the best of it and fix everything to the best of my ability without complaining too much, but my question is now: (examples are bad OO design, code is often repeated, settings are hard coded, etc. There are many better ways to design this application to make it more maintainable and better performing. I would not have coded this feature like this. It would have been so much easier / quicker to do this in one of the newer technologies. These systems are all quite old and was built in older technologies to really low development standards.Īll of this makes it quite difficult and frustrating to properly maintain these systems, because of the two thoughts that often come to mind while working on this: I am at a customer where I have been tasked to fix a number of issues they have in their existing systems. ![]() Have you ever been involved in a BIG Rewrite? ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |