Questa è un'area di discussione per la quale sono stato a lungo interessato, ma nel complesso, in genere mi manca l'esperienza per darmi una risposta di cui mi fiderò pienamente.
Siamo stati tutti lì, un nuovo cliente si presenta con un progetto semi-completo che stanno cercando di completare e avviare. Per qualsiasi motivo, hanno licenziato il loro sviluppatore precedente, e ora spetta a te salvare la situazione.
Sto solo terminando una revisione del codice per un nuovo cliente, e secondo la mia stima sarebbe meglio scartare ciò che gli sviluppatori precedenti hanno costruito da allora e ricominciare da capo. Ci sono un sacco di motivi per cui mi sto appoggiando a questo modo, ma mi rende ancora nervoso dal momento che il cliente non vorrà sentire "quegli ultimi ragazzi ti hanno costruito un grosso stronzo, e posso lucidarlo o lanciarlo nella spazzatura".
Quali sono le tue regole generali per accettare questi progetti?
Come si determina se sarà meglio iniziare da zero o continuare con la base di codice esistente?
Quali altre misure aggiuntive potresti intraprendere per aiutare a controllare le aspettative del cliente, dal momento che lo sviluppatore precedente potrebbe aver gonfiato tali aspettative oltre un livello ragionevole?
Qualche altro consiglio generale?