Tutti concordano sul fatto che la documentazione è importante.
Tuttavia ...
Molti programmatori ritengono che il codice debba essere "auto-descrittivo" che il codice stesso debba fungere da documentazione e che pertanto non sia necessaria la documentazione. Ma questo è vero solo in una certa misura. Il codice non documenta in modo adeguato le relazioni tra i componenti. È irragionevole chiedere al programmatore di seguirti per guadare attraverso una base di 100.000 codici di codice cercando di capire cosa sono supposti tutti quegli oggetti astratti di fabbrica che hai scritto da fare.
La documentazione richiede tempo. La prima priorità nella maggior parte delle aziende è la spedizione, non la documentazione. Quando c'è documentazione, spesso documenta i loro processi aziendali o fornisce una guida per l'utente, ma non le relazioni tra i componenti software.
La documentazione è un'altra cosa che deve essere mantenuta. A differenza del codice di auto-documentazione, la documentazione deve essere aggiornata, altrimenti non sarà più d'accordo con il codice (che è la vera fonte della verità ).
Per tutti questi motivi, la documentazione viene spesso trascurata.