The company I currently work for is about to start development on a new product and they want me to simply duplicate their existing ASP.NET Webforms application and use this as a base for their new product. I really don't want to do this as the application was originally developed over 8 years ago using .NET 2.0. The code-base is a bit of a mess with a poorly designed architecture and no unit tests. Duplicating the application will save the company time and money in the short term but will create a long-term maintanence headache for the development team and will no doubt have a negative effect on the company in the long term. The main issues I am facing:
- Growing company wanting to expand the development team.
- The company is still using .Net 2.0 framework.
- Finding good developers who are happy to work on legacy apps.
- How to introduce unit testing (particularly in a growing team).
- Tighly coupled code. Team is presently uneasy about making changes to existing code for fear of breaking something. (ie no unit tests)
- Duplicating existing app would introduce bugs and design flaws in application and database.
- Getting existing development team up to speed with best practices (unit testing, SOLID design priciples).