Prima di tutto, quasi nulla nella risposta @ DXM corrisponde alla mia esperienza con Agile, e soprattutto non con Scrum.
Il Agile Manifesto afferma che mentre la documentazione completa è preziosa, il software di lavoro è PIÙ prezioso. Quindi, la documentazione non è certamente una brutta cosa, ma dovrebbe veramente essere in servizio alla creazione di software funzionante.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the
items on the left more.
Annotare ogni dettaglio prima di iniziare a scrivere sul codice si è dimostrato sempre più inutile, quindi la documentazione viene generalmente trattata in modo JIT (just in time). Cioè, si documenta ciò che si sta effettivamente andando a codice.
Uno dei modi più comuni di fare Scrum è usare le User Story, che sono gestite dal Product Owner e conservate nel Product Backlog. Il Product Backlog è un elenco abbastanza alto di tutte le cose che una soluzione deve fare, e una User Story è generalmente un modo abbastanza grande per descrivere ogni cosa sulla lista. Le User Story non sono obbligatorie, ma sembrano essere un buon modo per non esagerare con i dettagli e ispirare invece la collaborazione.
Quindi, comunque, quando una storia è finita - il team ha creato, testato e distribuito qualcosa che soddisfa i criteri di accettazione, la storia non è CHUCKED, è semplicemente contrassegnata come fatta nel backlog - quindi il backlog fa avere qualche indicazione su cosa è stato fatto in ogni sprint - storie e punti associati a loro. Questo è ciò che ti permette di calcolare la velocità, ed è una documentazione valida di per sé.
Tutto ciò che è stato detto, una User Story può essere tutta la documentazione necessaria per comprendere un requisito, ma più probabilmente è qualcosa per generare una conversazione tra il cliente e il team di sviluppo. In quanto tale, ci sono un certo numero di cose che puoi fare in quella conversazione. Se si tratta di una cosa ad-hoc faccia a faccia, come spesso accade, l'analista / sviluppatore può (e possibilmente, a seconda della propria organizzazione, dovrebbe) annotare qualsiasi decisione presa e salvarla da qualche parte, come un Wiki o un repository di documentazione. Se si tratta di una conversazione e-mail, è possibile salvare le e-mail. Se si tratta di una sessione di lavagna, scattare una foto della lavagna con il cellulare e salvarla. Il punto è che queste cose sono ciò che ti aiuta a ottenere il codice e potrebbero aiutarti in seguito se hai bisogno di capire come o perché l'hai fatto come hai fatto.
Un altro metodo per catturare i requisiti è quello di incorporarli immediatamente in casi di test (che credo sia ciò che DXM stava ottenendo). Questo può essere davvero efficiente, in quanto è necessario testare per ogni requisito comunque. In questo caso, puoi conservare in modo efficace i tuoi requisiti nel tuo strumento di test.
Se una storia è completata (e accettata) e l'utente cambia le sue esigenze, beh, allora probabilmente hai bisogno di creare una nuova storia. Se usi una wiki per la tua documentazione, puoi collegare la nuova storia all'originale e collegare la storia originale con quella nuova in modo che qualcuno che la guarda sappia che le cose sono cambiate. Questa è la cosa bella dei wiki: è facile e abbastanza indolore collegare le cose. Se stai adottando un approccio basato sui test, aggiorni il caso di test per gestire il cambiamento o crea nuovi casi di test per la nuova storia se il nuovo e il vecchio non si escludono a vicenda.
Alla fine, dipende da cosa è necessario. Se la cosa principale è fare in modo che la gente diventi veloce, è probabilmente una buona idea per qualcuno scrivere un documento di bordo per aiutarli. Quindi qualcuno lo faccia. Come ho detto, i Wiki sono un ottimo strumento per mantenere questo genere di cose, quindi potresti prendere in considerazione le soluzioni di Atlassian che possono integrare Confluence Wiki con Jira e Greenhopper per tracciare le tue storie / attività / difetti e gestire il tuo progetto in generale. Ci sono molti altri strumenti tra cui scegliere.