I've recently been brought on with a small startup to serve as their technical advisor to a group of developers offshore. The product is an ASP .NET WebForms application. One of my first tasks was to complete a code review, looking specifically for areas that perform poorly or may have bugs. I quickly found that the team has been working without any clear roadmap - code is hacked together to accommodate new feature requests as they come in.
I'm going to suggest that the code is refactored into several smaller projects and assemblies, with each serving a clear responsibility. The developers have a wealth of knowledge on the product and so I need to be especially careful about how I approach this. The last thing I need is stressed out coders or hurt feelings. Still, we can't afford to continue on as in the past. And the refactor needs to happen sooner rather than later.
Can anyone offer suggestions on how I can present the problems without making their hard work sound like a terrible mess? If additional information is needed I can provide it - to a point. I am working under an NDA so the detail will need to be obfuscated.