BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс для системных аналитиков » Модуль 1.6. Acceptance & критерии готовности

Модуль 1.6. Acceptance & критерии готовности

DoR/DoD, критерии приёмки (AC), примеры/контрпримеры. Артефакт: шаблон критериев приёмки. Практика: написать AC для 3 требований.

 

Системный аналитик (SA) превращает «описанные требования» в проверяемые обязательства. Для этого нужны:

  • DoR/DoD — чёткие условия «входа» и «выхода» работы;
  • Acceptance Criteria (AC) — измеримые правила, по которым команда и бизнес понимают, что мы «сделали правильно»;
  • примеры/контрпримеры — чтобы исключить двусмысленность и «серые зоны».

 

На выходе модуля у вас будет шаблон AC, чек-листы DoR/DoD под ваш проект и готовность написать качественные AC к любому требованию.

 

Роли и ответственности (кратко)

  • SA — автор и владелец AC для функциональных и нефункциональных требований; обеспечивает проверяемость, трассируемость (RTM), данные для приёмки.
  • QA — переводит AC в тесты (E2E/интеграционные/контрактные/нагрузочные), уточняет краевые случаи.
  • Dev — реализует поведение и инструментирует систему (логи, метрики, трейсы) для проверки AC/NFR.
  • PO/бизнес — утверждает AC как критерии ценности.
  • Архитектор/Безопасность/DevOps — верифицируют AC по NFR, совместимости, безопасности, релизным режимам.

 

Практика: оформляйте «3 Amigos» (PO/BA ↔ SA ↔ QA/Dev) для финализации AC перед входом в спринт.

 

Definition of Ready (DoR) — «готово в разработку»

Минимально для карточек, где задействован SA:

  • SRS-ссылка и актуальная версия артефактов (BPMN/ER/Sequence/DMN).
  • Контракты: OpenAPI/AsyncAPI (с ошибками/лимитами/идемпотентностью/безопасностью).
  • AC/BDD: 3–7 сценариев (позитив/негатив/ошибки/повторы).
  • NFR: измеримые SLO + способ измерения (SLI/алерты/дашборды).
  • Тестовые данные/фикстуры, оговорены маски PII.
  • Зависимости и допущения (если есть) зафиксированы; риск-план (FF/rollback).

 

Правило: Story без AC/NFR — не попадает в спринт.

 

Definition of Done (DoD) — «готово к релизу»

  • Реализованы все AC (прошли BDD/E2E/контрактные).
  • Документация обновлена: SRS/OpenAPI/ER/DMN (bump SemVer, changelog).
  • Observability соответствует NFR: метрики/алерты/логи/трейсы включены и видны.
  • Совместимость: пройдены контрактные тесты N и N−1, определён срок EOL.
  • Релизные заметки/миграции/FF/rollback — описаны и проверены.
  • RTM обновлён: требование → тесты/метрики/релиз-тег.

 

Что такое AC и как их писать

Acceptance Criteria (AC) — минимальный набор однозначных и проверяемых условий, при выполнении которых требование считается реализованным.

Свойства качественного AC

  • SMART: Specific, Measurable, Achievable, Relevant, Time-bound.
  • Однозначность: без «быстро», «удобно», «как раньше».
  • Проверяемость: автоматизируемо (BDD/контракты/нагрузка/мониторинг).
  • Полнота: позитив, негатив, ошибки/таймауты/повторы, идемпотентность.
  • Независимость от реализации: описывает поведение и результаты, а не «как устроено внутри».

 

Формы записи

  1. Gherkin (BDD) — Given/When/Then.
  2. Чек-лист — таблица с входами/выходами/метриками.
  3. NFR-AC — «Метрика — Порог — Окно — Способ измерения».

 

Примеры AC (и контрпримеры)

5.1. Функциональные (финтех: возврат платежа)

Хорошо (BDD):

Scenario: Create refund (idempotent)
  Given payment status is "CAPTURED" and amount ≤ capturedAmount
  And header "Idempotency-Key" = "abc-123"
  When client POST /refunds { paymentId, amount }
  Then response code is 201
  And body.refund.status = "PENDING"
  And header "X-Correlation-Id" is present

Scenario: Idempotent retry
  Given previous request with Idempotency-Key "abc-123" was successful
  When client repeats POST /refunds with same Idempotency-Key
  Then response code is 200
  And body.refundId equals original

 

Плохо (контрпримеры):

  • «Система быстро создаёт возврат» — нет числа.
  • «Возврат не должен дублироваться» — не сказано как проверять (где ключ идемпотентности?).

 

Интеграции/ошибки/таймауты

Scenario: PSP timeout
  Given PSP does not respond within 10s
  When POST /refunds
  Then response code is 202
  And refund.status = "PENDING"
  And retry is scheduled with exponential backoff (max 3 attempts)

 

Контрпример: «При ошибке попробуем ещё» — сколько раз? какой шаг?.

NFR как AC

NFR-PERF-001: p95 latency for POST /refunds < 2000 ms over 7 days.
Measurement: Prometheus metric refunds_latency_ms_p95; Alert: >2000 ms 5 min → page on-call.

NFR-REL-002: Error rate for /refunds < 0.5% per rolling 7 days.
Measurement: refunds_error_rate; Alert: >0.5% for 5 min → SEV-2.

NFR-SEC-003: No PAN/PII in logs; masked pattern "****" for sensitive fields.
Test: automated log-scan; Audit: 0 violations per release.

 

Контрпример: «Должно быть безопасно и быстро» — вода.

 

Данные/качество данных (DQ)

AC-DQ-001: For any refund, sum(refund.amount) ≤ capturedAmount per payment (enforced by DB constraint and validated by nightly DQ job).
AC-DQ-002: idempotency_key is unique per merchantId; duplicates rejected with 409.

 

Совместимость/контракты

AC-API-Compat-001: Clients on API v2.3 continue to work unchanged during and after deployment of v2.4.
Test: contract tests against v2.3 (N-1) passing; deprecation notice included in release notes.

 

События/асинхрон

AC-EVT-001: On refund capture, event "RefundCompleted" is published once (at-least-once semantics), schema "refund-completed.avsc" v1.1, within 60s.
AC-EVT-002: Consumers can deduplicate using eventId and correlationId; schema contains both fields.

 

E-commerce (смена адреса)

Scenario: Change address before shipment
  Given order.status in { "Created", "Paid", "Packed" }
  When PATCH /orders/{id}/delivery-address
  Then response code is 200 and address.version increments by 1

Scenario: Change address after shipment
  Given order.status = "Shipped"
  When PATCH /orders/{id}/delivery-address
  Then response code is 409 and body.error = "ADDRESS_CHANGE_FORBIDDEN"

 

DWH/ETL (данные)

AC-ETL-001: Nightly load completes < 30 min; freshness lag ≤ 15 min at 08:00.
AC-ETL-002: Column "gross_revenue" equals SUM(price*qty) - SUM(discounts) per day; zero NULLs in key columns (order_id, date).

 

Шаблон «Критерии приёмки» (артефакт)

Скопируйте и используйте как базовый:

# Acceptance Criteria — <REQ-ID> <Название>
Owner: <ФИО SA> | Version: <SemVer> | Status: Draft/Review/Approved
Linked: SRS §<…>, Jira <…>, OpenAPI <…>, ER <…>, RTM <…>

## 1. Функциональные сценарии (BDD)
Scenario: <кратко>
  Given <предусловия/данные/роль>
  When <действие/запрос>
  Then <результат/статус/изменение состояния/событие>

Scenario: <альтернатива/ошибка/повтор> …
Notes: <особые случаи, локализация, валюты, TZ>

## 2. Интеграции/контракты
— OpenAPI/AsyncAPI версия: <…>
— Ошибки: <коды/типы/семантика>
— Пагинация/идемпотентность/correlation-id: <…>
— Совместимость: поддержка N/N-1 до <дата EOL>

## 3. Нефункциональные критерии (NFR)
— Performance: <метрика/порог/окно/SLI/алерт>
— Reliability/Availability: <SLO/RTO/RPO/деградации>
— Security/Compliance: <маскирование, роли, аудит>
— Observability: <логи/метрики/трейсы/дашборды/алерты>

## 4. Данные и DQ
— ER/домены/ограничения: <…>
— Валидаторы/уникальность/полнота: <…>
— Миграции/обратимость: <…>

## 5. Тестовые данные
— Наборы/фикстуры: <…>
— Маскирование PII: <…>

## 6. Готовность к релизу
— Release notes/депрекейт/FF/rollback: <…>

## 7. Подписи (утверждение)
PO/Бизнес: <имя/дата> | QA: <…> | Dev Lead: <…> | SA: <…>

 

Как внедрить AC в процесс (рабочая дисциплина)

  • В Jira добавьте поле AC link (ссылка на файл .feature/страницу).
  • В PR-шаблон внесите чек «AC/BDD обновлены и прошли».
  • В CI включите прогон Newman/BDD/контрактных тестов по AC.
  • На Sprint Review демонстрируйте фичу по AC (а не «просто покажем»).
  • Перед релизом убедитесь, что алерты заведены, а SLA/SLI видны в Grafana/Kibana.

 

Типовые риски и анти-паттерны

  1. AC описывают UI вместо поведения → привяжитесь к API/событиям/данным (UI — слой, меняется чаще).
  2. Нет негативных сценариев → обязательно добавляйте ошибки/таймауты/повторы.
  3. NFR без SLI/алертов → нельзя принять; добавьте метрики/порог/окно/алерт.
  4. Разрыв AC ↔ SRS/OpenAPI → docs-as-code и PR-проверка ссылок/версий.
  5. Слишком много AC (20+) → объединяйте, оставляйте сценарии с наибольшим риском; остальное — в тест-план QA.
  6. AC зависимы от окружения → фиксируйте требования к стенду (данные/сети/ключи), используйте FF и мок-сервисы.

 

Вопрос–Ответ

Q: Сколько AC должно быть на одно требование?
A: Обычно 3–7 ключевых (позитив/негатив/ошибка/повтор). Если больше — вероятность «вода/дубли».

 

Q: Кто финально утверждает AC?
A: PO/бизнес (ценность), QA (тестируемость), Dev Lead (реализуемость), SA (корректность и полнота).

 

Q: AC можно менять в спринте?
A: Только через Change Request и синхронное обновление SRS/RTM/тестов. Иначе — риск дефектов требований.

 

Q: Как принимать NFR?
A: По фактическим SLI на стенде/канареике с заданным окном измерения; наличие алертов — обязательное условие.

 

Q: Где хранить AC?
A: В Git (канон) — .feature/Markdown; в Confluence — витрина/ссылки; в Jira — поле AC link.

 

Практика: напишите AC для 3 требований (60–90 мин)

Вариант темы:

  1. FR-PAY-001 — создать платёж (идемпотентно).
  2. FR-ADR-003 — смена адреса до отгрузки.
  3. NFR-PERF-010 — p95 для POST /payments < 3000 мс за неделю.

 

Задание:

  • Для каждого требования напишите минимум 3 BDD-сценария (позитив/негатив/ошибка/повтор).
  • Добавьте 2–3 NFR-AC (перформанс/безопасность/наблюдаемость) там, где применимо.
  • Укажите тестовые данные и требования к стенду.
  • Сохраните файл ac/<feature>.feature и таблицу «NFR-AC» в /docs/nfr.

 

Эталон для самопроверки (кратко):

FR-PAY-001 — Create payment (idempotent)

  • BDD: успех (201), повтор с тем же Idempotency-Key (200 + тот же paymentId), таймаут PSP (202 + ретрай ≤3).
  • NFR-AC: p95 POST /payments < 3000 мс; error-rate < 0.5%; в логах нет PII; X-Correlation-Id обязателен.

 

FR-ADR-003 — Change address

  • BDD: до Shipped (200 + version++), после Shipped (409), неправильный формат адреса (422).
  • NFR-AC: ответ < 500 мс; аудит-лог адресных изменений; маскирование PII.

 

NFR-PERF-010 — p95 payments

  • NFR-AC: p95 < 3000 мс (7 дней), алерт >3000 мс 5 мин — SEV-2; throughput ≥ 50 RPS в пик 1 час.

 

Шпаргалка (распечатайте)

  • DoR: нет AC/NFR/контрактов — нет разработки.
  • DoD: пройдены тесты по AC, обновлены спеки, включены метрики/алерты.
  • AC: BDD + NFR-AC + данные + совместимость.
  • Плохие AC: без чисел, без негативных сценариев, с привязкой к внутренней реализации.
  • Главное: по AC принимаем фичу на ревью и релизе — никаких «на глаз».

 

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Модуль 1.5. Структура требований и трассируемость
Следующая статья →
Модуль 2.1. BPMN 2.0 на практике
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Группа компаний «Галакс» ведет свою деятельность с 2005 года, являясь в те годы дистрибьютором известных международных марок в ряде крупнейших торговых сетей России в сегменте аудио и видео аксессуаров. Активно работая в этом направлении и приобретая ценный опыт, начали создавать собственные торговые марки «GAL» и «VIXTER»

  • Группа компаний «Невский кондитер» основана в 1996 году в Санкт-Петербурге и на сегодняшний день является одним из крупнейших производителей кондитерских изделий в России.

     

  • Ситилинк

    Электронный дискаунтер «Ситилинк» — один из крупнейших онлайн‑ритейлеров России (3‑е место по объему онлайн‑продаж в рейтинге Data Insight и Ruward 2016 года E‑commerce Index TOP‑100, 8 место в рейтинге Forbes «20 самых дорогих компаний Рунета — 2017»). На рынке работает 9 лет.

    В ассортименте дискаунтера более 50 000 наименований компьютерной цифровой, бытовой и садовой техники, офисной мебели и других товарных категорий. Более 700 мировых брендов в портфеле. Около 4 000 сотрудников по всей России

  • АО «Новосибирскэнергосбыт» является единственным гарантирующим поставщиком электроэнергии на территории г. Новосибирска и Новосибирской области. Предприятие отвечает за электроснабжение клиентов, закупая электроэнергию на оптовом рынке, регулируя поставку электроэнергии через договорные отношения с сетевыми организациями.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.