На даний момент я оновлюю проектний документ, щоб він був правильним та актуальним для майбутніх розробників.
Наразі в документі зосереджено лише факти, представляючи, як складається дизайн. Немає обґрунтування будь-яких поданих рішень. Я вважаю, що важливо прийняти обґрунтування, щоб розробники знали, чому щось саме так і є, оскільки це, мабуть, вплине на майбутні рішення. Мені неможливо додати обґрунтування всіх дизайнерських рішень, особливо тих, що були прийняті до того, як я почав працювати над проектом, але я роблю все, що можу в цьому відділі.
Однак деякі дизайнерські рішення, на повагу, є дуже поганими рішеннями, враховуючи вимоги проекту. Однак є і кілька хороших.
Моя первісна думка полягала в тому, що я повинен включати обговорення проблем дизайну та потенційних рішень або способів вирішення цих проблем, щоб зосередити увагу майбутніх технічних працівників, але я не впевнений, чи проектний документ є місцем для такого типу обговорень та інформації. Я не хочу, щоб проект "критики" сніжних кульок перетворювався на "виривання нового дизайну", оскільки інші люди працюють над цією системою та оновлюють документ, оскільки це явно недоречно.
Мій керівник підтримав би будь-яке рішення, тож я вирішую. Незалежно від підходу, який я використовую, підготовлений документ буде офіційно переосмислений та наданий розробникам, які працюють в системі, як правило, до того, як вони матимуть на себе завдання з розробки. Очікується, що новий розробник ознайомиться з документами, пов'язаними з певною програмною системою, до початку роботи з розробки.
Запитання:
- Якщо проектний документ повинен дотримуватися необґрунтованих фактів ("це дизайн") та обгрунтування ("ось чому це дизайн"), чи він також повинен використовуватися для вказівки на неповносправні проблеми з дизайном, які можуть бути проблематичними для майбутні розробники?
- Якщо проектний документ не повинен використовуватися для збору цієї інформації, який тип документа повинен захоплювати його, а що ще слід захоплювати, обговорюючи обґрунтування дизайну, компроміси та відомі проблеми (які не є дефектами, оскільки дефекти відслідковуються з використанням інших інструментів)?