В чем разница между требованиями и функциями?
Перевод статьи из блога http://www.accompa.com/product-management-blog (Michael Shrivathsan).
Ссылка на статью:
——перевод——↓
Вопрос, который чаще других возникает в последнее время в моих дискуссиях:
В чем разница между требованиями и функциями (features)?
Позвольте попробовать объяснить эту разницу в данном коротком посте.
Что такое требование?
В одной из моих любимых книг по требованиям, “Разработка требований к программному обеспечению” Карла Вигерса, требование определено следующим образом:
Формулировка потребности или цели, или условия или возможности, которым продукт должен соответствовать для удовлетворения этой потребности или цели.
В другой любимой мной книге, “Mastering the Requirements Process” Suzanne & James Robertson, требование определено следующим образом:
Требование – это то, что продукт должен делать или качество, которым он должен обладать.
Оба определения прекрасны. Принимая их во внимание, я бы определил требование следующим образом:
Требование – это возможность, которой должен обладать продукт или что-то, что продукт должен делать для удовлетворения потребностей потребителя.
Требования, как правило, достаточно подробные и обычно пишутся имея в виду реализацию. Те, кто “потребляет” требования обычно являются разработчиками или техническими специалистами.
Что же тогда есть функция?
Обращаясь опять же к указанным выше книгам, я бы определил функцию следующим образом:
Функция – это набор взаимосвязанных требований, которые позволяют пользователю достичь бизнес-цели или удовлетворить бизнес-потребность.
Функция является объектом более высокоуровневым, нежели требование и чаще сфокусировано на бизнес потребности нежели чем на реализации.
Обычно функция – это то, что вы указываете в детализированной таблице описания вашего продукта / услуги, т.е. она служит для того, чтобы показывать вашим существующим и перспективным клиентам.
Пример
Вы находите эти определения несколько туманными? Рассмотрим пример, который даст вам более реальное представление. Представим, что вы проектируете онлайн-магазин книг, чтобы конкурировать с Amazon.
Для данного проекта вот пример функции:
- заказ за один шаг
Вот несколько требований, связанных с этой функцией:
- пользователь должен иметь возможность включить функцию заказа за один шаг в своем аккаунте;
- пользователь должен иметь возможность выключить функцию заказа за один шаг в своем аккаунте;
- пользователь должен иметь возможность заказать книги всего за один шаг;
- …
- пользователь должен иметь возможность отменить заказ в течение 30 минут после осуществления заказа.
Я надеюсь, этот краткий пост помог вам понять различие между требованием и функцией.
Пожалуйста, поделитесь вашими мыслями или, возможно, лучшим определением.


