Un cliente del mio datore di lavoro ha recentemente richiesto nuove funzionalità per alcuni codici legacy, e poiché gli autori del programma non sono più qui, mi è stato assegnato l'incarico di implementare le nuove funzionalità.
Mi sono stati forniti alcuni documenti di alto livello che risalgono principalmente alle prime fasi del progetto: definizione del progetto, procedure di test black-box, analisi della ricerca della fase iniziale del progetto e così via - niente a un livello tecnico.
Il codice fa ampio uso di una libreria di terze parti ( Lemur Indri ) per l'indicizzazione e il recupero di materiali indicizzati, ma non c'è documentazione su come usiamo questa libreria, o perché è stata scelta. Ho passato molto tempo a studiare la biblioteca stessa e il modo in cui la usiamo; Mi sento come se fosse tempo sprecato.
Durante un incontro con il mio supervisore ho detto che sarebbe stato bello se gli sviluppatori del nostro sistema avessero scritto della documentazione sulla libreria e su come la usassimo. Gli ho detto che mi avrebbe risparmiato un sacco di tempo, ma non potevo convincerlo che questo tipo di cose è essenziale.
Penso che scrivere una simile documentazione aiuti i futuri sviluppatori a prendere confidenza con il sistema e ad eseguire le modifiche più velocemente. Se dovesse esserci un tale documento, come si chiamerebbe o dovrebbe essere incluso in uno dei documenti di progettazione?