We have a web application which contains a web service with over 50 methods.
The application is currently installed at a number of sites and is currently being maintained by one developer.
The application is currently a single user system where all the data is stored in XML files.
One of our main tasks is to make it a multi user system whilst at the same time put in a database (RDBMS or NoSQL, not decided yet).
In addition to other new features we want to get a team of developers (around 5) working on other new features.
From what I have seen, the application is not testable. There are no test units and all the code is pretty much in the web service methods.
I need to put a framework in place so that the other developers can simply start working on their features using TDD and then finally when we have the database in place we can switch that in at a later date.
I was thinking of first moving all the code into libraries and then introducing UNITY and test/mocking frameworks to provide some of the services that the other developers will need. That way via inversion of control they at least have interfaces they can work with.
I am not sure if this is the right way to go or whether I should focus on some other area.
I was thinking about putting unit tests around the original code but then all the code will change later so this may be pointless in the long run.
We have a period of about 6 weeks before we get the other developers involved.
Any help would be appreciated.