Назначение базы знаний проекта — передача контекста проекта для облегчения ввода в проект новых участников. Контекст проекта должен быть ограничен, прост и понимаем, в этом случае облегчены переходы участников между проектами.
Задача бизнес-слоя - быть понятным заинтересованным лицам. Он не должен содержать техническую составляющую. Бизнес и пользователи — заинтересованные лица (stakeholders) - должны быть ознакомлены и согласны с бизнес-целями и задачами проекта.
Дополнительно, для того что бы команда имела значимый уровень автономности, у нее должно быть глубокое понимание более широкого контекста.
Краткое описание проекта — главный документ, с которым должны ознакомиться заинтересованные лица. Он должен описывать решаемые проблемы и бизнес-цели проекта. То есть то, для чего проект вообще создается. В данном документе определяются
Решаемые проблемы
Бизнес-цели проекта
Видение продукта
Данный документ согласуется людьми, финансирующими работу (заинтересованными лицами).
Документ является ориентиром для команды. В любой момент времени участники команды могут спросить: «Способствует ли задача по достижению цели нашего проекта?» и свериться с данным документом.
Определяем метрики успеха продукта. Согласованные бизнес-цели продукта дают команде базовый уровень самостоятельности, позволяющий самостоятельно делать выбор из альтернативных решений — выбирать решения, максимально влияющие на достижение цели. Далеко не всегда можно измерить успех продукта. В таком случае успехом продукта является решение проблем бизнеса и пользователей, которые были сформулированы и провалидированы на этапе предпроектной деятельности и уточнены в ходе реализации проекта.
См. также Business case / Технико-экономическое обоснование
Видение продукта - конкретная точка, где мы хотим оказаться через какой-то промежуток времени; это наше представление о том, что будет представлять продукт в результате реализации проекта. Примеры:
Отменены ручные шаги по регистрации клиента (подбору продукта, заключению сделки и тому подобное)
Устранены уязвимости определенного класса или группы
Дорожная карта определяет пути достижения целей, определенных в видении продукта. Содержит в себе конкретные шаги для их достижения. Как правило, для нового продукта дорожная карта предусматривает создание визуального прототипа для валидации идеи и последующего создание MVP.
Продукт, который мы создаем, решает проблему пользователя — «выполняет работу». Мы «нанимаем» продукт для решения задач. Сначала определяем задачу верхнего уровня, далее мы разбиваем задачу верхнего уровня на подзадачи.
Формат описания задачи пользователя : Когда [ситуация], я хочу [мотивация] для того, чтобы [результат]
Пример:
Получив информацию о приобретаемых товарах и услугах, я хочу ввести суммы продуктов и услуг для того, чтобы определить параметры предложения кредита.
Описание задач пользователя помогает
Достичь командного понимания того, что создается, для кого и почему.
Мотивирует участие не-инженерных членов команды. Задачи пользователя не содержат «техническую» составляющую.
Помогают описать целиком продукт.
Помогают понимать пользователя, думать как пользователь.
Позволяют приоритизировать задачи.
Варианты использования пишутся в повествовательной форме в виде обычного текста — сценария работы с системой. Варианты использования могут детализировать пользовательские истории.
Бизнес-правила описывают правила расчета продукта. Содержат входные данные, расчетные переменные и правила вычисления условий, выполнения проверок.
Критерии приемки содержать сценарии работы системы, примеры валидных и невалидных данных.
Критерии приемки содержат конкретные тестовые примеры для проверки различных условий бизнес-правил.
Критерии приемки могут использоваться для автоматизации тестирования. В этом случае по созданному документу инженер кодирует авто-тесты для облегчения тестирования, ускорения рефакторинга продуктв.
Целью проекта является для решения задач пользователя. Сценарий продаж отражает реальные жизненные ситуации, в которых пользователь будет использовать инструмент.
Задача технического слоя - описание архитектуры и программного интерфейса приложения.
Разработка модели данных.
Разработка API продукта.