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