Gestisco una piccola azienda composta da solo 2 sviluppatori. Stiamo creando un'applicazione molto grande per uno dei nostri clienti. Lo sviluppo di questo progetto è andato avanti per 1,5 anni.
Ora questo cliente ha ottenuto un'importante sponsorizzazione e sta organizzando eventi legati a questo progetto. Quindi ora abbiamo una scadenza tra 2 mesi e non possiamo mancare.
Stiamo pensando di aggiungere un nuovo sviluppatore al team e mi chiedo cosa possiamo fare per aiutare la sua integrazione.
Questa è la situazione:
- Ci stiamo avvicinando alla soglia della legge di Brooks : il punto in cui aggiungere nuovi sviluppatori sarà controproducente.
- L'applicazione è relativamente ben progettata, ma l'implementazione è caotica in alcuni punti (in particolare il codice più vecchio).
- Esistono test unitari solo per codici più recenti. Quando è iniziato questo progetto, non abbiamo condotto regolarmente test.
- Documentazione e commenti sono incompleti.
- L'applicazione è ampia e complessa.
- Il cliente ha scritto quasi ogni dettaglio del suo progetto, in un modo molto chiaro e "adatto ai programmatori".
È una buona idea aggiungere una persona ora? In tal caso, cosa possiamo fare per aiutare il nuovo sviluppatore a integrarsi nel team?
MODIFICARE:
Lo sponsor sta organizzando un evento sportivo basato su Internet per la prossima primavera. Deve iniziare in un giorno specifico dell'anno. Non possiamo cambiarlo.
Quello che noi sviluppatori (sono uno dei due) dobbiamo fare è:
Completamento dell'applicazione esistente (circa il 25% del lavoro da svolgere).
Creazione di un nuovo modulo, essenziale per l'organizzazione di questo evento (circa il 75% del lavoro da svolgere). Questo nuovo modulo non può essere sviluppato senza comprendere l'API del programma principale.
Non riesco a fare una stima esatta del tempo, ma ci troviamo in una situazione rischiosa.