По-перше, майже нічого у відповіді @ DXM не відповідає моєму досвіду роботи з Agile, і особливо не з Scrum.
Agile Manifesto стверджує , що в той час як вичерпна документація цінний, працює програмне забезпечення є більш цінним. Так, документація, безумовно, не є поганою справою, але вона справді повинна послужити створенню робочого програмного забезпечення.
Індивіди та взаємодія над процесами та інструментами
Працює програмне забезпечення над всеосяжною документацією
Співпраця з клієнтами щодо укладання договорів
Відповідаючи на зміни протягом наступного плану
Тобто, хоча в елементах праворуч є значення, ми більше цінуємо предмети зліва.
Збивання кожної деталі перед початком кодування знову і знову виявляється марнотратною, тому документація, як правило, обробляється JIT (точно вчасно). Тобто ви документуєте те, що ви насправді збираєтеся кодувати.
Один з популярних способів роботи з Scrum - це використання Історій користувачів, які підтримуються Власником продукту та зберігаються в Блоку продукту. Блокування продукту - це досить високий перелік усіх речей, які необхідно зробити, і історія користувача, як правило, добре описаний спосіб описувати кожну зі списку. Історії користувачів не є обов'язковими, але вони здаються хорошим способом не перестаратися з деталями та надихнути на співпрацю.
Отож, у будь-якому випадку, коли історія зроблена - команда створила, протестувала та розгорнула щось, що відповідає критеріям прийняття, історія НЕ БЕЗПЕЧЕНА, вона просто позначена як зроблена на відсталі - тому відставання має певну ознаку про те, що було зроблено в кожному спринті - історії та моменти, пов’язані з ними. Це те, що дозволяє обчислити швидкість, і це цінна документація сама по собі.
Все, що було сказано, історія користувача, можливо, є вся документація, необхідна для розуміння вимоги, але, швидше за все, це щось, щоб створити розмову між замовником та командою розробників. Таким чином, існує будь-яка кількість речей, які ви можете зробити навколо цієї розмови. Якщо це спеціальна річ віч-на-віч, як це часто буває, аналітик / розробники можуть (і, можливо, залежно від вашої організації) записати будь-які рішення, які були прийняті, і зберегти їх десь, наприклад, у Вікі або сховище документації Якщо це розмова електронною поштою, ви можете зберігати електронні листи. Якщо це сесія на дошці, сфотографуйте дошку за допомогою мобільного та збережіть її. Справа в тому, що саме ці речі допомагають вам виконати код і, можливо, зможуть вам допомогти пізніше, якщо вам потрібно розібратися, як і чому ви це зробили так, як ви це зробили.
Інший метод захоплення вимог - це негайно вбудувати їх у тестові випадки (що, на мою думку, DXM отримував). Це може бути по-справжньому ефективною, оскільки в будь-якому випадку вам потрібно перевірити кожну вимогу. У цьому випадку ви можете ефективно зберігати свої вимоги у вашому інструменті тестування.
Якщо історія завершена (і прийнята), а потім користувач змінює свою потребу, ну, вам, ймовірно, потрібно створити нову історію. Якщо ви використовуєте вікі для своєї документації, ви можете пов’язати нову історію з оригіналом, а також зв'язати цю оригінальну історію з новими матеріалами, щоб хтось, хто дивиться на неї, знав, що все змінилося. Це приємна річ у вікі - це легко та досить безболісно пов'язувати речі. Якщо ви виконуєте тестовий підхід, вам слід або оновити тестовий випадок для усунення змін, або створити нові тестові випадки для нової історії, якщо нові та старі не виключають взаємно.
Зрештою, це залежить від вашої потреби. Якщо головне - швидко прискорити людей, швидше за все, хтось має намір написати бортовий документ, щоб допомогти їм. Тож майте хтось це робити. Як я вже згадував, Wiki - це чудовий інструмент для збереження подібних речей, тому ви можете розглянути рішення компанії Atlassian, які можуть інтегрувати Вік злиття з Джирою та Greenhopper для відстеження ваших історій / завдань / дефектів та управління вашим проектом загалом. Тут також можна вибрати багато інших інструментів.