DevOps — культурный и профессиональный сдвиг, объединяющий разработку (Development) и эксплуатацию (Operations) ради быстрой и надёжной поставки ценности. Для аналитика это продолжение Agile, а не следующая «методология после Scrum»: требования становятся гипотезами, проверяемыми в реальной эксплуатации, а не только артефактами на входе в разработку. Заметка отвечает на вопрос: как меняется мышление, артефакты и ответственность аналитика, когда команда живёт в ритме CI/CD — без ухода в настройку Jenkins или Kubernetes (это — 07.06 CICD и конвейеры — влияние на требования). Контекст SDLC — в 00.03 Жизненный цикл ПО и место аналитика (SDLC, STLC); базовый Agile-ритм — в 05.02 Scrum и Kanban (аналитик в Agile); контраст с документоцентричностью — в 05.01 Waterfall и V-model.
1. Суть темы
DevOps — не набор инструментов, а культура совместной ответственности за продукт от идеи до эксплуатации. Для аналитика сдвиг в том, что работа не заканчивается передачей спецификации: вы сопровождаете требование через автоматизированные проверки, релиз, мониторинг и обратную связь от пользователей.
Два контура работы с требованиями не противоречат, а дополняют друг друга:
| Контур | Цель | Что делает аналитик |
|---|---|---|
| Контур спецификации (shift-left) | Поймать ошибки до прода | Пишет проверяемые AC, BDD-сценарии, контракты API; участвует в статическом анализе требований |
| Контур обучения (learning loop) | Уточнить ценность по фактам | Формулирует гипотезы, определяет метрики, анализирует данные эксплуатации и инициирует новые истории |
Ранние спецификации задают минимально достаточное поведение для безопасной поставки; прод и метрики — источник истины о ценности гипотезы. Подробнее о V&V в обоих контурах — 02.04.01 Верификация и валидация (V&V).
Поток идей из learning loop усиливает давление на бэклог: новые истории по данным прода нужно встраивать в управление приоритетами и объёмом, а не добавлять «сверху» (→ 02.05.02 Управление приоритетами в условиях изменчивости, 02.05.03 Управление объёмом (Scope Creep) и ожиданиями).
CI/CD — техническое воплощение DevOps:
- Continuous Integration (CI) — частая интеграция изменений кода в общую ветку с автоматической сборкой и прогоном тестов. Ядро CI — код и автотесты; линтеры user stories и BDD в пайплайне — расширение shift-left, а не определение CI.
- Continuous Delivery (CD) — код всегда в releasable-состоянии; выкладка в прод — бизнес-решение (release on demand).
- Continuous Deployment — каждая успешная сборка автоматически попадает в прод; применяется не везде и требует зрелой автоматизации и доверия к качеству.
Аналитик участвует в формулировании требований к обоим контурам: что должно быть проверено до merge и что измеряется после deploy.
2. Ключевые понятия
2.1 CALMS: культура, которую переводит аналитик в практику
DevOps опирается на CALMS:
- Culture — совместная ответственность Dev и Ops за ценность; blameless postmortem вместо поиска виноватых.
- Automation — автоматизация сборки, тестов, деплоя, мониторинга; аналитик описывает, что автоматизировать (AC, контракты, quality gates).
- Lean — устранение потерь, поток ценности, минимизация WIP (→ 01.05 Теория ограничений и бережливое мышление).
- Measurement — метрики на всех этапах. Для аналитика практичны: lead time for changes (от commit до prod), change fail rate, время от гипотезы до решения (масштабировать / откатить), доля историй с трассировкой до метрики (→ 02.01.02 Цели, KPI и критерии успеха (SMART, GQM), 08.01 Метрики и KPI процесса анализа). Высокий change fail rate и повторяемость дефектов требований — сигналы для анализа рисков на этапе спецификации (→ 08.05 Управление рисками на этапе анализа).
- Sharing — прозрачность, docs-as-code, общие дашборды.
2.2 От документа к потоку гипотез
В DevOps крупные требования формулируются как гипотезы:
«Мы верим, что [изменение] приведёт к [результат]. Мы узнаем это по [метрика]».
Вместо детальной спецификации всей функциональности сразу аналитик определяет минимально жизнеспособный продукт (MVP) или вертикальный срез (vertical slice) — минимальную поставку для проверки гипотезы; дальнейшие требования уточняются по данным из эксплуатации (→ 04.02 Пользовательские истории (User Stories) и Job Stories)). Формулировка гипотез и метрик успеха чаще лежит в зоне бизнес-аналитика (BA); исполняемые спецификации и контракты — у системного аналитика (SA) (→ 00.02 Бизнес-анализ vs Системный анализ vs Требования).
Где гипотезный режим слабее: фиксированный контракт и scope (fixed-price), регуляторика и audit trail (08.06 Юридические и регуляторные требования РФ (PCI-DSS)), жёсткие SLA с внешними контрагентами, safety-critical системы. Здесь нужны зафиксированные спецификации, трассировка и формальное согласование (→ 02.05.02 Управление изменениями (Change Control Board)) — гипотезы допустимы внутри согласованных границ, а не вместо них.
2.3 Shift-left: требования как исполняемые спецификации
«Сдвиг влево» переносит проверки качества на ранние этапы. Для аналитика:
- Критерии приёмки (Acceptance Criteria) в формате BDD (Given-When-Then) становятся автотестами в CI (→ 02.04.02 Критерии приёмки (Acceptance Criteria)).
- Статический анализ требований (линтеры user stories, проверка INVEST) — отдельная практика shift-left, интегрируемая в пайплайн (→ 08.03 Тестирование требований (статическое тестирование), 04.02 Пользовательские истории (User Stories) и Job Stories)).
- Контракты API (OpenAPI, AsyncAPI) — часть требований, проверяемая в CI (→ 03.05.03 Спецификации контрактов (OpenAPI, AsyncAPI, Protobuf), 03.05.07 Управление версионированием API и жизненным циклом).
Схема артефактов аналитика в потоке поставки (стадии пайплайна, quality gates и конфигурация — в 07.06 CICD и конвейеры — влияние на требования):
flowchart LR
A["Гипотеза / Story + AC"] --> B["Исполняемые спецификации\n(BDD, контракты, NFR)"]
B --> C["Автопроверки в CI"]
C --> D{Обратная связь}
D -->|Дефект / gate| A
D -->|Deploy| E["Метрики и эксплуатация"]
E --> A
В SAFe аналогичный этап называют Continuous Exploration — см. 05.03 SAFe и LeSS — аналитик в масштабируемых фреймворках.
2.4 Docs-as-code и согласование без «подписанного SRS»
Требования хранятся в Git (Markdown, AsciiDoc), проходят Pull Request и review (→ 07.05 Системы контроля версий (Git) для документации). Формальное согласование не исчезает — меняет форму:
- PR + approved reviewers заменяют подпись на бумаге; история merge — audit trail.
- В регулируемых проектах PR дополняется CCB или электронным workflow с фиксацией версии baseline (→ 02.05.02 Управление изменениями (Change Control Board), 02.03.04 Трассировка требований (концепция)).
- Трассировка гипотеза → story → deploy → метрика → новая story обязательна для обоснованных решений в CD (→ 02.05.05 Жизненный цикл требования).
2.5 НФТ, observability и DevSecOps
DevOps делает нефункциональные требования (НФТ) частью потока поставки. Аналитик формулирует на уровне «что должно быть измеримо и проверяемо» (шаблон — 10.01.12 Шаблон нефункциональных требований (NFR)):
- Логирование, метрики, трейсинг — какие события фиксировать для инцидентов и проверки гипотез.
- Feature flags — поведение при включённом/выключенном флаге; критерии постепенного раскатывания и отката.
- Деградация и отказоустойчивость — поведение при недоступности зависимостей.
- Безопасность и комплаенс — требования, проверяемые сканерами в пайплайне (DevSecOps → 08.07 Основы кибербезопасности для системного аналитика).
Таксономия и стандарты НФТ — 08.02 Нефункциональные требования (НФТ) — классификация и стандарты; здесь достаточно связки «какие классы НФТ всплывают при CD».
2.6 Release on demand, spec debt и Continuous Deployment
| Решение | Кто принимает | Роль аналитика |
|---|---|---|
| Release on demand | Бизнес / PO по готовности и рискам | Участвует в release checklist: AC закрыты, NFR для deploy выполнены, rollback описан |
| Continuous Deployment | Автоматика после green pipeline | Формулирует quality gates и критерии автоматического отката; следит за spec debt |
Spec debt — накопленное расхождение между спецификацией и фактическим поведением в проде (устаревшие AC, «висящие» ветки feature flags, контракты API не совпадают с реализацией). Управление качеством требований и профилактика расхождений — 02.04.03 Управление качеством требований.
Паритет окружений (dev / stage / prod) — предмет требований: «зелёный CI» в изолированном dev не гарантирует успех в проде, если конфигурация, данные или интеграции расходятся.
3. Как применяется в работе аналитика
3.1 Готовность требования к пайплайну (DoR / ready for build)
Это не Definition of Done: DoD в Scrum описывает завершённость releasable инкремента для всей команды (→ 05.02 Scrum и Kanban (аналитик в Agile)). Здесь — критерии готовности артефакта к входу в поток поставки (ready for build / CI), дополняющие DoR команды:
- AC проверяемы и при необходимости автоматизированы (BDD).
- NFR для deploy: rollback, observability (метрики/алерты), feature flag (если применимо).
- Трассировка к гипотезе или бизнес-цели.
- Для API — актуальный контракт в репозитории; для изменений схемы БД — стратегия миграции (см. §3.2).
- Чеклист перед стартом — 10.04 Чеклист аналитика перед стартом разработки; NFR — 10.01.12 Шаблон нефункциональных требований (NFR).
3.2 Откат, совместимость и частые релизы
При CD аналитик формулирует поведение системы при неудачной поставке, а не только «happy path»:
| Тема | Что описать в требованиях |
|---|---|
| Rollback | Критерии ручного и автоматического отката; состояние данных после отката; сообщения пользователю |
| Partial rollout | Поведение при канарейке на части трафика: что видит пользователь «внутри» и «снаружи» эксперимента |
| Breaking API | Стратегия версионирования, период deprecation, поведение старых клиентов (→ 03.05.07 Управление версионированием API и жизненным циклом) |
| Миграции БД | Expand–contract или поэтапное включение; обратная совместимость схемы между релизами; откат данных (→ 10.01.03 Шаблон спецификации БД сервиса) |
| Feature flags | Поведение при каждом состоянии флага; критерии снятия флага и обновления AC |
Архитектурные развилки (expand–contract vs big-bang migration, стратегия флагов) фиксируйте в ADR (→ 10.01.13 Шаблон архитектурного решения (ADR)), если решение влияет на несколько релизов.
3.3 Роль в кросс-функциональной команде
В DevOps-команде аналитик:
- Часть единой команды, ответственной за ценность на всех этапах (You build it, you run it — в части понимания поведения системы).
- Обычно не входит в техническую on-call rotation — не устраняет инфраструктурные инциденты. Но остаётся контактом по бизнес-контексту: доступен для уточнения требований при сбоях, связанных с непониманием поведения.
- Участвует в blameless postmortem с фокусом на требования: были ли сценарии неполными? Как улучшить спецификацию и процесс? Повторяемость инцидентов из-за пробелов в требованиях — вход в реестр рисков (→ 08.05 Управление рисками на этапе анализа). Анти-паттерн: «не дописали требования» без изменения DoR, quality gates или обучения команды.
- Сотрудничает с продуктовой аналитикой — дашборды, воронки, A/B-тесты. Системный аналитик задаёт что измерять и как это связано с требованиями; дизайн проверки гипотез и KPI — 02.01.02 Цели, KPI и критерии успеха (SMART, GQM); глубокая product analytics — смежная компетенция, не замена спецификации.
3.4 Практики, усиливающие роль аналитика
| Практика | Что делает аналитик |
|---|---|
| Feature flags | Описывает поведение при разных состояниях флага; при снятии флага обновляет AC и документацию — иначе накапливается spec debt |
| Canary deployments | Определяет долю пользователей, метрики автоматического отката (ошибки, latency) и критерии успеха эксперимента (→ 02.01.02 Цели, KPI и критерии успеха (SMART, GQM)) |
| Contract testing | Совместно с разработчиками задаёт контракты между сервисами (→ 03.05.03 Спецификации контрактов (OpenAPI, AsyncAPI, Protobuf)) |
| BDD-фреймворки | Пишет Gherkin-сценарии из AC |
| Мониторинг / APM | Формулирует бизнес-метрики для дашбордов |
| IaC | При зрелости команды может описывать тестовые данные, флаги, конфигурацию окружений для проверки требований; в других организациях это зона DevOps/SRE |
| ChatOps | Получает уведомления о падении acceptance-тестов |
3.5 Сценарий трансформации
Было: SRS на 100 страниц → передача разработке → ручная проверка через месяцы → дефекты требований на системном тестировании.
Стало: User Story с AC в Gherkin в Git → refinement с командой → CI прогоняет BDD-тесты → приёмка на стейджинге → deploy → аналитик отслеживает метрики и инициирует доработку по данным, согласуя приоритет с PO.
4. Типовые ошибки и ограничения
- «Только гипотезы» в regulated-контексте — игнорирование baseline, audit trail и формального change control. Критерий: если аудитор или контракт требуют воспроизводимую версию спецификации — гипотезный режим внутри зафиксированных границ.
- Противопоставление shift-left и «истины в prodе» — контур спецификации и контур обучения из таблицы в §1 работают вместе; отказ от AC «потому что всё равно узнаем в проде» увеличивает change fail rate.
- Путаница DoD и готовности к пайплайну — DoD команды ≠ пакет ready for build; смешение терминов ломает договорённости со Scrum (→ 05.02 Scrum и Kanban (аналитик в Agile)).
- Learning loop без управления бэклогом — метрики из прода порождают истории быстрее, чем команда их переваривает; без приоритизации и контроля объёма scope creep неизбежен (→ 02.05.02 Управление приоритетами в условиях изменчивости, 02.05.03 Управление объёмом (Scope Creep) и ожиданиями).
- Смешение CI и линтеров требований — называть линтер stories «ядром CI» вводит в заблуждение; CI интегрирует код, расширения shift-left — отдельный слой.
- Зелёный пайплайн без паритета окружений — требования не покрывают конфигурацию stage/prod, интеграции и тестовые данные.
- Rollback «на усмотрение Ops» — без критериев отката и поведения для пользователя в спецификации.
- Breaking change без стратегии совместимости — миграция схемы или API «за один релиз» при Continuous Deployment.
- Feature flag сняли — AC остались — типичный spec debt; документация описывает несуществующие ветки поведения (→ 02.04.03 Управление качеством требований).
- Нормативное «аналитик пишет IaC» — без оговорки о зрелости команды и границах роли.
- Обвинение аналитика на postmortem без системных улучшений (DoR, gates, observability).
- Дублирование 07.06 — детальная настройка пайплайна, quality gates и артефакты репозитория — в 07.06 CICD и конвейеры — влияние на требования, не здесь.
- Иллюзия, что аналитик «DevOps-ит инструменты» — ваша зона: формулировать требования к потоку поставки, а не администрировать Jenkins/K8s.
Связи с другими разделами базы
- 05.02 Scrum и Kanban (аналитик в Agile) — Agile как база DevOps; DoR и DoD.
- 05.05 Методология быстрой разработки (RAD, XP) — XP: CI, TDD и исполняемые спецификации как предшественник DevOps-практик.
- 07.06 CICD и конвейеры — влияние на требования — техническая сторона конвейера.
- 02.04.02 Критерии приёмки (Acceptance Criteria) — BDD и автоматизация.
- 02.04.03 Управление качеством требований — spec debt и расхождение spec ↔ prod.
- 03.05.07 Управление версионированием API и жизненным циклом — совместимость API при частых релизах.
- 02.05.02 Управление приоритетами в условиях изменчивости — поток идей из learning loop.
- 08.02 Нефункциональные требования (НФТ) — классификация и стандарты — observability, rollback, флаги.
- 08.05 Управление рисками на этапе анализа — change fail rate и postmortem.
- 10.01.12 Шаблон нефункциональных требований (NFR) — NFR для deploy.
- 10.01.13 Шаблон архитектурного решения (ADR) — развилки совместимости и миграций.
- 00.02 Бизнес-анализ vs Системный анализ vs Требования — границы BA и SA в DevOps-команде.
Источники и дополнительные материалы
Книги и стандарты
- Джин Ким, Джез Хамбл, Патрик Дебуа. «Руководство по DevOps». Культура, автоматизация, поток.
- Джез Хамбл, Дейв Фарли. «Непрерывное развёртывание ПО: автоматизация процессов сборки, тестирования и внедрения». Классика CI/CD.
- Gary Gruver, Tommy Mouser. Leading the Transformation: Applying Agile and DevOps Principles at Scale.
- Len Bass, Ingo Weber, Liming Zhu. DevOps: A Software Architect's Perspective — NFR и мониторинг.
- Gojko Adzic. Specification by Example — BDD и исполняемые спецификации.
- SAFe DevOps — https://scaledagileframework.com/devops/
- DASA DevOps Competence Model — https://www.devopsagileskills.org/
Статьи
- Martin Fowler. «Continuous Delivery» — https://martinfowler.com/bliki/ContinuousDelivery.html
- Martin Fowler. «Feature Toggles» — https://martinfowler.com/articles/feature-toggles.html
- Martin Fowler. «Observability vs Monitoring» — https://martinfowler.com/articles/observability-vs-monitoring.html
- Martin Fowler. Software Delivery Guide — https://martinfowler.com/delivery.html
- Thoughtworks. «Continuous Delivery Cannot Succeed Without Business Analysts» — https://www.thoughtworks.com/en-us/insights/blog/continuous-delivery-cannot-succeed-without-business-analysts
- Atlassian. «Continuous integration vs delivery vs deployment» — https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment
- Gojko Adzic. «Specification by Example, 10 years later» — https://gojko.net/2020/03/17/sbe-10-years.html
- Avanscoperta. «Specification By Example by Gojko Adzic» (интервью о SBE и DevOps) — https://blog.avanscoperta.it/2024/01/03/specification-by-example-bridring-the-communication-gap/
- IIBA. «The Role of Business Analysis in DevOps» — вебинар IIBA (YouTube)
Обучение
- Cucumber School — бесплатные курсы по BDD.
- ICAgile Certified Professional in DevOps Foundations.