Выявление и документирование требований (BCS)
Коротко Учебник BCS рассматривает инженерию требований как последовательность шагов: выявление (elicitation), анализ, валидация, документирование и управление, — и уделяет особое внимание знаниям, которые людям трудно выразить словами. Эта страница превращает две главы книги о требованиях в рабочий порядок действий для вашего следующего проекта.
По материалам: D. Paul, D. Yeates, J. Cadle (eds.), Business Analysis (BCS), 2nd ed., гл. 9 и 10.
На этой странице
Главные идеи#
Начните с задания на проект: OSCAR#
Прежде чем что-либо выявлять, авторы книги BCS требуют чёткого задания на проект (terms of reference). Их мнемоника OSCAR охватывает Objectives — цели, Scope — границы, Constraints — ограничения (бюджет, сроки, стандарты), Authority — полномочия (кто разрешает конфликты между требованиями) и Resources — ресурсы. Без них требования уходят в сторону от того, чего бизнес пытается достичь.
Кто участвует#
Со стороны бизнеса — спонсор (согласует задание на проект, выделяет ресурсы, подписывает требования, разрешает конфликты), эксперты в предметной области и бизнес-пользователи. Внешний эксперт в предметной области приносит отраслевую практику, но может не знать культуры и внутренней политики компании, и его могут воспринимать как чужака. Со стороны проекта — руководитель проекта, бизнес-аналитик и разработчик, который проверяет техническую осуществимость и может создавать прототипы.
Неявное знание#
Книга опирается на наблюдение Майкла Полани: люди знают больше, чем могут рассказать. Формы неявного знания (tacit knowledge), на которые стоит обращать внимание:
- Навыки, отработанные до автоматизма и поэтому трудные для описания.
- Само собой разумеющиеся факты, о которых эксперт не упоминает, потому что они кажутся очевидными. Они всплывают на приёмочном тестировании или после запуска, когда их исправление обходится дорого.
- Парадная версия и закулисье (front story / back story): люди описывают приглаженную версию своей работы. Фраза «всё работает без сбоев» — сигнал проверить цифры.
- Представить новое трудно, если нет прототипа, на который можно отреагировать.
- Разные нормы: в книге рассказывается об исследователе, который указал на гору, чтобы спросить её название, и записал местное слово, означавшее «твой палец».
- Интуиция эксперта и организационная культура, включая сообщества практики со своими неписаными правилами.
Чтобы вывести такое знание на поверхность, BCS предлагает четыре подхода: ученичество (apprentice: ходить за экспертом по пятам или проводить анализ протокола, когда эксперт работает и рассуждает вслух), наблюдение (observe), пересказ (recount: истории и сценарии) и разыгрывание (enact: прототипы и ролевое проигрывание сценариев).
От списка к каталогу#
Сырые требования сначала попадают в простой список требований: требование, источник, комментарий. Затем аналитик пропускает список через фильтры:
- Отнесите каждое требование к категории.
- Объедините дубликаты и разделите пересекающиеся требования.
- Разбейте составные требования так, чтобы каждое говорило об одном.
- Проверьте необходимость: требование должно поддерживать цели проекта и относиться к проблеме, а не к симптому.
- Проверьте техническую, деловую и финансовую осуществимость.
- Разрешите конфликты переговорами, при необходимости — с эскалацией к спонсору.
- Уберите замаскированные решения: требование говорит, что нужно бизнесу, а не как это обеспечить.
Каждое оставшееся требование должно быть ясным, кратким, непротиворечивым, относящимся к делу, однозначным, правильным, проверяемым и трассируемым. BCS рекомендует форму действующее лицо + глагольная группа + объект и итоговую проверку по SMART.
Четыре категории#
- Общие: деловые ограничения, политики, правовые требования, требования к фирменному стилю, культурные и языковые требования, требования к непрерывности бизнеса.
- Технические: оборудование, программное обеспечение, совместимость систем.
- Функциональные: ввод данных, ведение данных, процедуры, получение данных (отчёты и запросы).
- Нефункциональные: скорость, безопасность, доступ, резервное копирование и восстановление, архивирование, сопровождаемость, доступность, удобство использования и ёмкость системы. Авторы предупреждают, что эти требования часто откладывают или прорабатывают поверхностно и что это становится причиной многих реальных провалов.
Общие требования часто раскладываются на остальные: закон о защите данных превращается в уровни безопасности (нефункциональные требования) и правила доступа (функциональные).
Документирование, валидация, управление#
Документ требований по BCS состоит из шести частей: введение и предыстория, модели бизнес-процессов, функциональные модели (контекстная диаграмма и диаграмма вариантов использования), модель данных, каталог требований и глоссарий.
В валидации участвуют спонсор, владельцы требований, эксперт в предметной области, разработчики, тестировщики и проектный офис. По итогам каждое требование либо принимается как есть, либо принимается после небольших правок, либо отправляется на доработку и повторное рассмотрение.
Для приоритетов используется MoSCoW из DSDM Atern: Must have (в первом инкременте), Should have (может ненадолго отложиться), Could have (исключается первым, если не хватает времени) и Won’t have this time (в этот раз не делаем).
Управление требованиями — это трассировка каждого требования назад, к его источнику, и вперёд, к тому, что с ним стало, а также управление конфигурацией: версии 0.1, 0.2 для черновиков, 1.0 для проверенной базовой версии, 2.0 и далее после одобренных изменений.
Как применять#
- Запишите OSCAR на одной странице и согласуйте со спонсором.
- Планируйте выявление по тому, какое неявное знание вы ожидаете встретить: ходите по пятам за опытными работниками, наблюдайте там, где парадная версия может скрывать проблемы, делайте прототипы там, где система новая.
- По ходу работы записывайте всё в список из трёх столбцов.
- Пропустите список через фильтры, затем перенесите оставшиеся требования в каталог.
- Назначьте приоритеты по MoSCoW вместе со спонсором и владельцами требований.
- Проведите валидационное рассмотрение, на котором представлены все группы рецензентов.
- Зафиксируйте базовую версию 1.0 и направляйте изменения через одного человека.
Шаблон#
| Поле | Что указать |
|---|---|
| ID | Буква типа + номер + версия, например F-012 v0.2 |
| Название | Краткое название |
| Описание | Действующее лицо + глагольная группа + объект |
| Источник | Человек, документ или семинар, откуда пришло требование |
| Владелец | Представитель бизнеса, который может принимать по нему решения |
| Автор | Аналитик, который его записал |
| Тип | Общее / техническое / функциональное / нефункциональное |
| Приоритет | Must / Should / Could / Won't this time |
| Бизнес-область | Процесс или подразделение |
| Заинтересованные стороны | Кого ещё оно затрагивает |
| Связанные нефункциональные требования | Связанные требования к качеству |
| Критерии приёмки | Как вы будете его проверять |
| Связанные требования и документы | Ссылки |
| Обоснование | Выгода для бизнеса, в идеале — из бизнес-кейса |
| Решение | Реализовано / отложено / объединено / отклонено |
| История версий | Изменения и даты |
Пример#
В «Мастерской» (вымышленной сети веломастерских) в списке есть требование «Стойка приёма может бронировать, изменять и отменять ремонты». Фильтры разбивают его на три требования. Другая запись — «Использовать то же приложение для бронирования, что и кафе по соседству» — это замаскированное решение; аналитик переписывает её как стоящую за ней потребность: «Клиент может забронировать время ремонта онлайн, не звоня по телефону». Когда управляющий говорит, что заказ запчастей «работает нормально», аналитик, прежде чем принять эту парадную версию, просит записи о задержанных ремонтах за месяц.
Источники и что почитать#
- D. Paul, D. Yeates, J. Cadle (eds.). Business Analysis, 2nd ed. BCS, The Chartered Institute for IT, 2010. Гл. 9 (сбор требований) и гл. 10 (документирование требований и управление ими).