In Sviluppo software agile , lo zio Bob ha scritto una volta la sua prima legge di documentazione "Non produrre documenti se non è necessario è immediato e significativo. " Come è stato tipico di tali commenti nel mondo Agile, questo è stato erroneamente erroneamente interpretato erroneamente. Quindi in seguito ha chiarito .
Agile Methods require two kinds of documentation: Requirements and Design Documents. All other kinds of documents are optional within Agile Methods; but optional does not mean absent.
Requirements. In Agile Methods, the requirements are documented one iteration at a time. Requirements are often identified long in advance of their development, but they are not fleshed out until the iteration in which they are developed begins. Moreover, they are written as automated acceptance tests. Other kinds of requirements documentation, such a narratives, workflows, and storyboards may also optionally be created.
Design Documents. In Agile Methods the design is documented by creating unit tests using Test Driven Development. These unit tests are working examples of how to use each part of the code. Other kinds of design documents, such as class diagrams, interaction diagrams, state charts, ER diagrams, etc. may optionally be created too.
Nota l'ultimo paragrafo in particolare. A volte è ridicolo per gli sviluppatori scrivere documentazione per altri sviluppatori in inglese . Non dimenticare mai che esiste un altro linguaggio comune che gli sviluppatori parlano: codice. A differenza dell'inglese, il codice è auto-validante.
L'utilizzo di unit test per documentare l'intento del codice dell'applicazione è un modo brillante di scrivere documentazione. Perché? Perché sono garantiti per rimanere aggiornati.
Inoltre, e forse più rilevante per la tua situazione, scrive:
Documents that the development team decides they need, are simply created as and when they are needed. Documents that the business decides they need, and that the development team does not need for their own purposes, are written as story cards, and estimated, planned and scheduled as all story cards are. If they never get selected for an iteration, then they must not have been all that valuable to the business. If, however, they get scheduled for an iteration, the business must have considered them important enough to schedule.
Questa è una tecnica che uso sempre per capire che cos'è una documentazione veramente utile. Se il team di sviluppo ritiene di averne bisogno, basta dare loro i mezzi (un wiki) e lo scriveranno, senza essere chiesti. Se l'azienda ritiene di averne bisogno, accodala come un lavoro accanto a tutto il resto e controlla se decide che ne ha bisogno più del necessario.