Archive for the ‘PRD’ Category.

Взаимосвязь иерархии требований и ролей

Перевод статьи из блога tynerblain.com.

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

http://tynerblain.com/blog/2006/05/11/requirements-documents-one-mans-trash/

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

Существует несколько способов документирования требований при разработке программного обеспечения: MRD, PRD, SRS, FRS и документы проектирования системы. Каждый из участников имеет представление о том, что описывается в каждом из документов, но каждый из участников имеет свое собственное представление о том, на какие вопросы отвечает каждый из этих документов.

Процесс разработки программного обеспечения

Разработка программного обеспечения состоит из трех фаз:

  • Определить, что делать;
  • Определить, как делать;
  • Сделать.

Мы можем представить это в виде трех вопросов:

  • Зачем мы делаем это?
  • Что мы хотим сделать?
  • Как мы это сделаем?

В зависимости от роли в команде, мы получаем различные ответы на эти вопросы.  Следующая диаграмма демонстрирует весь процесс разработки:

69105247-O

Процесс разработки программного обеспечения в данном представлении разбивается на пять категорий:

  1. Рынок. Определение проблем и возможностей, которые должны быть решены. Рассматривайте их как требования рынка;
  2. Требования. MRD и PRD. Описание того, что должно быть сделано для удовлетворения потребностей рынка безотносительно к способу реализации;
  3. Спецификация. SRS или FRS. Структурированное описание технологических решений, которые позволят реализовать требования;
  4. Проект системы. Стратегия реализации спецификации;
  5. Продукт. Код и тесты. Реализация.

Представления команды

Существует четыре различных представления процесса для ответа на три указанных выше процесса («Зачем», «Что» и «Как»). Мы можем определить роли, которые несут знамя каждого из взглядов.

  • Менеджер продукта. Мыслитель, который находится в поисках перспектив создания хорошего программного обеспечения;
  • Ведущий разработчик. Изобретатель, который находится в поиске лучших технических решений поставленных задач;
  • Разработчик. Исполнитель, который старается сделать наиболее эффективное решение проекта системы;
  • Тестировщик. Контролер, задачей которого является обеспечение того, что мы делаем правильную вещь и делаем это правильно.

У каждой из этих ролей есть свой взгляд на процесс разработки, и они по-разному отвечают на три вопроса «Зачем», «Что» и «Как». И каждая из ролей выбирает различные этапы процесса разработки для ответа на эти вопросы. Следующая диаграмма показывает связь пяти категорий из предыдущей диаграммы с четырьмя ролями.

69105260_4craG-O

Менеджер продукта

  • Зачем? Рынок говорит нам, зачем мы должны делать что-либо. Мы ищем возможности и оцениваем их;
  • Что? Наши требования четко отражают проблемы, которые мы хотим решить и что необходимо для их решения;
  • Как? Спецификация – практическое описание того, что должно быть сделано.

Ведущий разработчик

  • Зачем? У нас есть требования, которые определяют рамки мероприятия;
  • Что? Спецификация говорит нам, что должно быть сделано;
  • Как? Проект системы показывает нам подход к решению задачи.

Разработчик

  • Зачем? Спецификация четко описывает наши обязанности;
  • Что? Проект системы говорит нам, как решить поставленные задачи лучшим образом;
  • Как? Мы ответственны за продукт, который мы создаем.

Тестировщик

  • Зачем? Требования должны быть реализованы;
  • Что? Проект системы должен быть надежным. Доверяй, но проверяй;
  • Как? С помощью тестов мы гарантируем качество того, что мы делаем.

Заключение

У людей в команде различные обязанности. И эти люди рассматривают разные этапы процесса разработки как «источник вдохновения». Также они ответственны за различный результат.