Я думаю, що тест Джоеля є актуальним - він є настільки ж актуальним, як і більшість текстів програмного забезпечення, які є "позачасовими".
Робити розробку продукту (що включає розробку програмного забезпечення) без специфіки - просто безумство.
Як ти знаєш, куди хочеш поїхати?
Є лише один момент, про який я хочу писати специфіку (я насправді не думаю, що характеристики Джоеля дуже хороші ... кращі, ніж нічого, але не такі гарні, як могли бути). Цей момент:
Коли ви пишете специфікацію, кажіть лише те, що повинен робити продукт, а не як це робити.
Це означає, що ви не диктуєте деталі реалізації в специфікації. Це дизайнерська діяльність, і ви залишаєте це досвідом та творчістю дизайнерів.
[Є лише одне виняток із цього правила: Іноді певна деталізація або метод впровадження дозволена або потрібна; у такому випадку введіть її. Наприклад, якщо програмне забезпечення повинно бути написане на PHP, і це не підлягає обговоренню, воно входить специфікація Прикладів цього має бути дуже мало.]
Я можу додати: відсутність відстеження помилок - це акт рівного безумства. Це просто самий непрофесійний і нерозумний спосіб діяти і призведе до великих болів і страждань.