Abbiamo un'applicazione web che contiene un servizio web con oltre 50 metodi.
L'applicazione è attualmente installata in un numero di siti ed è attualmente gestita da uno sviluppatore.
L'applicazione è attualmente un sistema a utente singolo in cui tutti i dati sono archiviati in file XML.
Uno dei nostri compiti principali è quello di renderlo un sistema multiutente e allo stesso tempo inserire un database (RDBMS o NoSQL, non ancora deciso).
Oltre ad altre nuove funzionalità, vogliamo che un team di sviluppatori (circa 5) lavori su altre nuove funzionalità.
Da quello che ho visto, l'applicazione non è testabile. Non ci sono unità di test e tutto il codice è più o meno nei metodi di servizio web.
Ho bisogno di mettere un framework in atto in modo che gli altri sviluppatori possano semplicemente iniziare a lavorare sulle loro funzionalità usando TDD e poi finalmente quando avremo il database sul posto possiamo cambiarlo in un secondo momento.
Stavo pensando di spostare dapprima tutto il codice in librerie e poi introdurre UNITY e framework di test / derisione per fornire alcuni dei servizi di cui gli altri sviluppatori avranno bisogno. In questo modo attraverso l'inversione del controllo hanno almeno interfacce con cui possono lavorare.
Non sono sicuro che questa sia la strada giusta da percorrere o se dovrei concentrarmi su un'altra area.
Stavo pensando di inserire test unitari attorno al codice originale, ma poi tutto il codice cambierà più tardi, quindi a lungo andare potrebbe non funzionare.
Abbiamo un periodo di circa 6 settimane prima di coinvolgere gli altri sviluppatori.
Qualsiasi aiuto sarebbe apprezzato.