В чем разница между требованиями и функциями?

Перевод статьи из блога http://www.accompa.com/product-management-blog (Michael Shrivathsan).

Ссылка на статью:

http://www.accompa.com/product-management-blog/2009/07/13/features-vs-requirements-requirements-management-basics/

——перевод——↓

Вопрос, который чаще других возникает в последнее время в моих дискуссиях:

В чем разница между требованиями и функциями (features)?

Позвольте попробовать объяснить эту разницу в данном коротком посте.

Что такое требование?

В одной из моих любимых книг по требованиям, “Разработка требований к программному обеспечению” Карла Вигерса, требование определено следующим образом:

Формулировка потребности или цели, или условия или возможности, которым продукт должен соответствовать для удовлетворения этой потребности или цели.

В другой любимой мной книге, “Mastering the Requirements Process” Suzanne & James Robertson, требование определено следующим образом:

Требование – это то, что продукт должен делать или качество, которым он должен обладать.

Оба определения прекрасны. Принимая их во внимание, я бы определил требование следующим образом:

Требование – это возможность, которой должен обладать продукт или что-то, что продукт должен делать для удовлетворения потребностей потребителя.

Требования, как правило, достаточно подробные и обычно пишутся имея в виду реализацию. Те, кто “потребляет” требования обычно являются разработчиками или техническими специалистами.

Что же тогда есть функция?

Обращаясь опять же к указанным выше книгам, я бы определил функцию следующим образом:

Функция – это набор взаимосвязанных требований, которые позволяют пользователю достичь бизнес-цели или удовлетворить бизнес-потребность.

Функция является объектом более высокоуровневым, нежели требование и чаще сфокусировано на бизнес потребности нежели чем на реализации.

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

Пример

Вы находите эти определения несколько туманными? Рассмотрим пример, который даст вам более реальное представление. Представим, что вы проектируете онлайн-магазин книг, чтобы конкурировать с Amazon.

Для данного проекта вот пример функции:

  • заказ за один шаг

Вот несколько требований, связанных с этой функцией:

  • пользователь должен иметь возможность включить функцию заказа за один шаг в своем аккаунте;
  • пользователь должен иметь возможность выключить функцию заказа за один шаг в своем аккаунте;
  • пользователь должен иметь возможность заказать книги всего за один шаг;
  • пользователь должен иметь возможность отменить заказ в течение 30 минут после осуществления заказа.

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

Пожалуйста, поделитесь вашими мыслями или, возможно, лучшим определением.

Leave a Reply