having seen several rewrite attempts in my career, none of which were fully successful, here are some thoughts:
- The ultimate reason: it will take too long and be over budget. The business will (rightfully) ask why should they invest x amount of capital just to get essentially the same feature set back. Businesses do not care about whats under the hood.
And here is why:
- the rewriter team usually does not fully understand edge/corner cases that the current mess handles, but obscures it.
- the rewrite inevitably ends up following the same patters that the original did leading to unusual/weird cases
- rewrite teams get too ambitious and attempt to over abstract and over engineer, eventually creating another mess understood by only them
- The ultimate reason: it will take too long and be over budget. The business will (rightfully) ask why should they invest x amount of capital just to get essentially the same feature set back. Businesses do not care about whats under the hood.
And here is why: - the rewriter team usually does not fully understand edge/corner cases that the current mess handles, but obscures it.
- the rewrite inevitably ends up following the same patters that the original did leading to unusual/weird cases
- rewrite teams get too ambitious and attempt to over abstract and over engineer, eventually creating another mess understood by only them