Prima di tutto, quasi nulla nella risposta di @ DXM corrisponde alla mia esperienza con Agile, e soprattutto non con Scrum.
Il Manifesto Agile afferma che mentre la documentazione completa è preziosa, il software di lavoro è PIÙ prezioso. Quindi, la documentazione non è certamente una cosa negativa, ma dovrebbe davvero essere al servizio della creazione di software funzionante.
Individui e interazioni su processi e strumenti
Software funzionante su documentazione completa
Collaborazione con i clienti sulla negoziazione del contratto
Rispondere al cambiamento seguendo un piano
Cioè, mentre c'è valore negli oggetti a destra, valutiamo di più gli oggetti a sinistra.
Individuare ogni dettaglio prima di iniziare a scrivere codice si è rivelato sempre più dispendioso, quindi la documentazione viene generalmente trattata in modo JIT (giusto in tempo). Cioè, documentate ciò che state effettivamente codificando.
Uno dei modi più popolari di fare Scrum è usare le User Story, che sono gestite dal Product Owner e conservate nel Product Backlog. Il Product Backlog è un elenco di livello piuttosto elevato di tutte le cose che una soluzione deve fare e una User Story è generalmente un modo ben dimensionato per descrivere ogni cosa dell'elenco. Le User Story non sono obbligatorie, ma sembrano essere un buon modo per non esagerare con i dettagli e ispirare la collaborazione.
Quindi, comunque, quando una storia è terminata - il team ha creato, testato e distribuito qualcosa che soddisfa i criteri di accettazione, la storia non viene CHUCKED, è semplicemente contrassegnata come eseguita nel backlog - quindi il backlog ha qualche indicazione di ciò che è stato fatto in ogni sprint: storie e punti ad esse associati. Questo è ciò che consente di calcolare la velocità ed è una preziosa documentazione in sé e per sé.
Detto questo, una User Story può essere tutta la documentazione necessaria per comprendere un requisito, ma più probabilmente è qualcosa che genera una conversazione tra il cliente e il team di sviluppo. Pertanto, ci sono molte cose che puoi fare intorno a quella conversazione. Se è una cosa ad hoc faccia a faccia, come spesso accade, l'analista / gli sviluppatori possono (e possibilmente, a seconda dell'organizzazione, dovrebbero) 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 è una sessione di lavagna, scatta una foto della lavagna con il tuo cellulare e salvala. Il punto è che queste cose ti stanno aiutando a ottenere il codice fatto e potrebbero essere in grado di aiutarti in seguito se hai bisogno di capire come o perché l'hai fatto nel modo in cui l'hai fatto.
Un altro metodo per acquisire i requisiti è quello di incorporarli immediatamente nei casi di test (che credo sia quello a cui stava lavorando DXM). Questo può essere davvero efficiente, in quanto è necessario testare comunque ogni requisito. In questo caso, puoi archiviare efficacemente le tue esigenze nel tuo strumento di test.
Se una storia è completata (e accettata) e quindi l'utente cambia le sue necessità, allora probabilmente dovrai crearne una nuova. Se usi una wiki per la tua documentazione, puoi collegare la nuova storia indietro all'originale, e allo stesso modo collegare quella storia originale in avanti alle nuove cose in modo che qualcuno che la guardi sappia che le cose sono cambiate. Questa è la cosa bella dei wiki: è facile e abbastanza indolore collegare le cose. Se stai adottando l'approccio test-driven, aggiorneresti il test case per gestire la modifica, oppure creeresti nuovi casi di test per la nuova storia se il nuovo e il vecchio non si escludono a vicenda.
Alla fine, dipende da quale sia il tuo bisogno. Se la cosa principale è far accelerare rapidamente le persone, è probabilmente una buona idea per qualcuno scrivere un documento di bordo per aiutarle. Quindi qualcuno lo faccia. Come ho già detto, i Wiki sono un ottimo strumento per mantenere questo genere di cose, quindi potresti considerare le soluzioni di Atlassian che possono integrare il Wiki di confluenza con Jira e Greenhopper per tenere traccia delle tue storie / attività / difetti e gestire il tuo progetto in generale. Ci sono anche molti altri strumenti tra cui scegliere.