Найважливіша функція специфікації - розробка програми . Навіть якщо ви працюєте над кодом самостійно, і пишете специфікацію виключно для своєї користі, акт написання специфікації - опис того, як програма працює в дрібних деталях - змусить вас насправді розробити програму ...
... коли ви проектуєте свій виріб людською мовою, потрібно лише кілька хвилин, щоб спробувати продумати кілька можливостей, переглянути і вдосконалити дизайн. Ніхто не почуває себе погано, коли видаляє абзац у текстовому процесорі. Але коли ви розробляєте свій продукт мовою програмування, на ітераційне оформлення потрібні тижні . Що ще гірше, програміст, який просто витрачає 2 тижні на написання якогось коду, буде досить прив’язаний до цього коду, як би це не було ...
... Коли ви пишете специфікацію, вам потрібно лише повідомити, як програма повинна працювати один раз . Усі в команді можуть просто прочитати специфікацію. Люди з якості контролю читають його, щоб вони знали, як повинна працювати програма, і вони знали, для чого перевірити. Люди, що продають маркетинг, використовують його для написання своїх розпливчастих білих паперів для випуску на веб-сайті про продукти, які ще не створені. Люди з розвитку бізнесу неправильно читають, щоб розпочати дивні фантазії про те, як продукт виліковує облисіння, бородавки та інше, але це отримує інвесторів, тож це нормально. Розробники прочитали його, щоб вони знали, який код написати. Клієнти читають його, щоб переконатися, що розробники будують продукт, за який вони хочуть заплатити. Технічні письменники прочитали його і написали хороший посібник ...
Коли у вас немає специфіки, все це спілкування все-таки відбувається, оскільки воно має бути , але це трапляється ad hoc . Люди QA дуріють з програмою мимоволі, і коли щось виглядає дивно, вони йдуть і перебивають програмістів ще раз, щоб задати їм ще одне дурне питання про те, як річ повинна працювати ...
без детальної специфікації скласти графік неможливо ... У занадто багатьох організаціях, що програмують, кожен раз, коли виникають дискусії щодо дизайну, ніхто ніколи не вдається прийняти рішення, як правило, з політичних причин. Тож програмісти працюють лише над суперечливими речами. З плином часу всі важкі рішення підштовхуються до кінця ... Написання специфікації - це прекрасний спосіб зняти всі ті дратівливі дизайнерські рішення, великі та малі, які прикриваються, якщо у вас немає специфікації. ..