Scrum - ітеративна та додаткова модель, заснована на гнучких значеннях . Це означає, що у вас немає окремої фази проектування. Ідея полягає в тому, що вам слід постійно займатися дизайном, так само як ви постійно займаєтесь аналізом, реалізацією, тестуванням та інтеграцією протягом всього проекту.
Вам потрібно трохи планувати, щоб це працювало. Введіть зустріч з планування спринту , де команда оцінює завдання на спринт, що випереджає. Більшість людей не усвідомлюють, що це не лише зустріч з оцінкою, а й проектні зусилля. Наприклад, завданням може бути "Додати код нової моделі автомобіля". Ви ще не можете цього оцінити, вам потрібно знати трохи більше. Тож команда обговорює дизайн та придумує широке рішення ("Автоклас підкласу?") І додає це як нагадування до завдання. Ви рідко потребуєте більшої формальності, ніж це. Тепер у вас є ідея, як вирішити проблему. У вас ще немає всіх деталей, і це нормально, ви знаєте достатньо дизайну, щоб можна було зробити зручну оцінку. Без необхідності створювати будь-які діаграми взагалі (в цей момент).
Для фактичної фізичної документації я рекомендую створити схему огляду систем на стіні, щоб всі бачили. Огляд повинен містити лише найважливіші класи та модулі і їх рідко доводиться оновлювати. Також дуже корисно створення декількох діаграм стану для найважливіших класів у системі. Посипте декілька вибраних діаграм послідовності типових випадків використання, щоб людям було легко побачити, як пов’язані речі. Я припускаю, що ви можете генерувати діаграми ієрархії класів з вашого коду, так що ця проблема легко вирішується.
Зауважте, що всі діаграми створюються після фактичної реалізації. Це відповідає «робочому програмному забезпеченню над всеосяжною документацією» та точно вчасно розробленим дизайном.
І так, читабельний код - це безумовно документація.