I work in a pretty reknowned MNC, and the module that I work in has been assigned to a new lead. The code base is pretty huge (~130K or more, with inter dependencies on other modules) , but stable - some parts have grown ugly over the years, but its provably in working state. (Our products are running for years on them, even new ones). The problem is, our lead wants to rewrite the code from scratch, to encompass finer granularity and a proactive design. I know in my guts thats not a very good idea, but how do I convince him/the rest of the team(who are pretty much more senior than me in terms of years of exp), without sounding too pedantic myself (Thou shalt not rewrite , as Joel et al have clear articles prohibiting it)?I have a good working relation with the person concerned, and don't want to ruin it, but neither do I want to be party to a decision which would surely plague us for years to come !! Any suggestions for a milder,yet effective approach ? Even accounts of how you have tackled such a situation to your liking would help me a lot!EDIT: The code base I'm talking about is not a product/GUI, but at kernel level with all the critical functionalities for our product. I hope now you know why i sound so apprehensive !!
Advice: How to convince my newly annointed team lead against writing the code base from scratch
project management;teamwork
Do the math with him together:On the debt side:how long will it take to recreate the features you have right now. How much does that cost that (devs + overhead)how much will the company lose for not being able to deploy any new features/bugfixes or only at a much slower rate?what's the risk of not being able to complete the rewrite and falling back on the current source base after n-months? Including the risk of killing the product all together.How long will it take until the new code base looks just as ugly as the current one?On the asset side:how much better will be the code be after the rewrite (measured in saved maintenance costs per month)Add it all up, possibly doing a best/worst case scenario comparison.At the end you'll have an answer. If he ignores the answer, talk to his boss.