Что делает отличную функциональную спецификацию отличной?

Какие качества сделали его таким замечательным и что отличало его от не очень хороших характеристик, с которыми вам приходилось иметь дело? Или, если вы никогда раньше не работали с хорошей функциональной спецификацией, какие вещи вы ожидаете от отличной спецификации?

Извините, это, очевидно, субъективно, но я создаю функциональную спецификацию (не первую), и мне пришло в голову, что я могу получить несколько хороших идей от умных людей на SO!


person DSO    schedule 08.06.2009    source источник
comment
Это настоящий вопрос, он хочет знать, что делает функциональную спецификацию хорошей, и мы можем учиться на примерах друг друга. Очевидно, что функциональная спецификация предназначена для проекта программирования, поэтому она связана с программированием.   -  person Ali    schedule 08.06.2009
comment
Думаю, этот вопрос должен быть отправлен на programmers.stackexchange.com   -  person rvazquezglez    schedule 14.01.2014


Ответы (4)


проект Aardvark спецификации от Joel on Software — лучшее, что я когда-либо встречал. Каждый экран определяется очень хорошо, с картинками. Описаны основные возможности программного обеспечения, а также некоторые технические детали.

К сожалению, характеристики, которые я получил лично, не такие блестящие. Обычно это просто маркированный список функций, которые они ожидают от каждого раздела системы, и они ожидают, что вы проработаете все детали. Что хорошо, я думаю. Тем не менее, я пишу документ по дизайну игры для ролевой игры, над которой работаю как над личным проектом, и я думаю, что спецификации, которые я пишу, написаны очень хорошо. Я разделил игру на такие разделы, как

  • Персонажи
  • Оружие и доспехи
  • Уровни
  • карта
  • Физика

и так далее, и описал каждый раздел с точки зрения игрового процесса, а также некоторых технических деталей. Его очень легко проработать.

Я также настоятельно рекомендую прочитать Серию безболезненных функциональных спецификаций от Джоэла о программном обеспечении всем, кто интересуется писать лучшие спецификации.

person Ali    schedule 08.06.2009
comment
Спасибо, не знал, что Джоэл действительно опубликовал спецификацию! - person DSO; 08.06.2009
comment
Спасибо за ссылку на проект Aardvark! Я изучаю спецификации, прежде чем перейти к одному, и похоже, что это будет большая помощь. - person Scott Marlowe; 16.07.2009
comment
Кто-нибудь знает шаблон, который я могу скачать и попробовать заполнить самостоятельно? Мне нравится формат Джоэлса, но я ненавижу воссоздавать все это в Word. - person JoshBaltzell; 17.09.2009
comment
Я рад видеть, что эти спецификации хорошо читаются, но не настолько глупы, как он предлагает в безболезненных функциональных спецификациях. По крайней мере, мне не удалось найти никаких упоминаний о мисс Пигги. Так что мне не нужно добавлять много шуток в спецификации, чтобы их было приятно читать. - person Robin; 21.05.2014

ИМХО, ключевым качеством должно быть то, что в функциональной спецификации очень подробно указывается «что», а не «как». Таким образом, заказчик (маркетинг?) получает внешний вид и набор функций, которые ему нужны, но реализация остается за теми, кто знает это лучше всего — разработчиками.

person William Leara    schedule 08.06.2009
comment
Верно, но я думаю, что самое сложное в том, где провести черту. Например. Я бы посчитал блок-схемы подходящими для включения в функциональную спецификацию, но диаграммы классов C# неуместными, даже несмотря на то, что и то, и другое можно рассматривать как то, как что-то делать. А если вы пишете функциональную спецификацию для высокотехнологичного продукта, то эта строка может быть еще более размытой (например, что более уместно: использовать безопасный канал связи или использовать SSL?). - person DSO; 08.06.2009

Очевидно, что спецификация должна быть полной, последовательной и понятной. ИМО, он также должен быть хорошо организован, поскольку он объединяет все требования к конкретной части продукта. Я не раз читал спецификации, где требования к какому-то модулю были разбросаны по всему документу, например. общее описание находится в главе 4, а дополнительные требования можно найти в пунктах глав 2, 5, 7 и приложении Б. Для работы с такой спецификацией мне сначала нужно создать карту перекрестных ссылок требований к модулям.

person Erich Kitzmueller    schedule 08.06.2009
comment
Дайте нам знать, если вы когда-нибудь увидите такого зверя в дикой природе :-) - person paxdiablo; 08.06.2009

В хорошей спецификации должно быть четко указано, что приложение должно делать.

Это кажется очевидным, но то, что я обычно получаю, часто очень расплывчато. Очевидно, людям не очень легко выразить то, что они хотят, на бумаге, ЕСЛИ они вообще знают, чего хотят.

person Morph    schedule 08.06.2009