Chi leggerà la documentazione? A cosa servirà la documentazione? Queste sono le domande più importanti a cui rispondere. Ad esempio, la documentazione per gli sviluppatori di manutenzione si concentrerebbe maggiormente sulla struttura, mentre la documentazione per gli sviluppatori che si integrano con il prodotto si concentrerebbe maggiormente sui servizi Web e sulla struttura del database.
In generale, fai tutta la documentazione necessaria e non di più. Molte organizzazioni richiedono documentazione perché qualcuno ha insistito sul fatto che è la migliore pratica, ma la documentazione finisce per raccogliere polvere.
Supponendo che le persone utilizzino effettivamente la documentazione, non tentare di acquisire il codice e il database al livello più piccolo. Gli sviluppatori esamineranno il codice per le minuzie. Invece, concentrarsi su dettagli che non sono evidenti nel codice , ad esempio:
- I casi d'uso che il prodotto incontra. Questo può essere difficile considerando l'età del prodotto, ma catturare ciò che il prodotto è destinato a fare dà un contesto vitale a lettori e tester non tecnici. Chi sono i concorrenti sul mercato (se presenti)? C'è qualcosa di escluso dall'ambito del prodotto?
- Eventuali chiari requisiti non funzionali . Ad esempio, il prodotto è stato scritto per gestire un determinato volume? Quanti anni possono avere i dati? Dove viene utilizzata la memorizzazione nella cache? Come vengono autenticati gli utenti? Come funziona il controllo degli accessi?
- Un diagramma di contesto che mostra l'interazione con altri sistemi, come il database, le fonti di autenticazione, il backup, il monitoraggio e così via.
- (Se noto) Rischi e modo in cui sono stati mitigati insieme a un registro delle decisioni . Ciò è probabilmente difficile in retrospettiva, ma spesso ci sono decisioni critiche che influenzano un progetto. Cattura quelli che conosci.
- Common modelli di progettazione o di linee guida di progettazione . Ad esempio, esiste un modo standard per accedere al database? Esiste uno standard di codifica o denominazione?
- Percorsi di codice critico , di solito utilizzando diagrammi di flusso o attività UML o diagrammi di sequenza. Potrebbe non esserci nessuno nel progetto, ma questi sono generalmente quelli che gli utenti aziendali hanno articolato.
Anche se tutte queste informazioni non sono disponibili, inizia ora . Gli sviluppatori che verranno dopo di te ti ringrazieranno.
Buoni test di unità automatizzati o casi di test possono anche essere una documentazione utile, sebbene difficile da accedere per persone meno tecniche.
Sembra anche che sia necessario apportare un cambiamento culturale per includere la documentazione . Iniziare in piccolo ma, idealmente, il progetto non dovrebbe essere "fatto" fino a quando non abbia almeno un livello minimo di documentazione. Questo è probabilmente il passo più difficile perché quanto sopra sono cose che puoi controllare. Questo è qualcosa in cui gli altri devono acquistare. Tuttavia, può anche essere il più gratificante, in particolare se il prossimo progetto che fai viene fornito con una buona documentazione.