Направление К5 · pillar-материал

Secure SDLC: безопасная разработка веб-приложений в коммерческом бизнесе

Secure SDLC (Software Development Life Cycle) — модель разработки, в которой безопасность встроена в каждый этап жизненного цикла продукта, а не «прикручивается» в конце пентестом. Подход не новый — концепцию ещё в 2004 году формализовал Microsoft в SDL, OWASP с тех пор развивает открытый аналог SAMM. Но для среднего коммерческого бизнеса вопрос внедрения остался прежним: с чего начать, какие инструменты выбрать, как не сорвать релизы. Этот материал — практическое руководство для CTO, тимлида и CISO mid-бизнеса: 7 этапов жизненного цикла, конкретные инструменты SAST/DAST/SCA, threat modeling, интеграция в CI/CD, метрики и культура.

Что такое Secure SDLC и чем отличается от обычного SDLC

Обычный SDLC: requirements → design → development → testing → release → maintenance. Безопасность здесь — отдельная активность, которая либо выпадает совсем, либо проходит «в конце» (пентест за неделю до релиза, который находит проблемы, требующие переписывания архитектуры).

Secure SDLC: те же 7 этапов, но в каждый интегрированы security-практики. Пример: на этапе requirements фиксируются security-требования наравне с функциональными. На design — проводится threat modeling. На development — SAST в IDE и pre-commit hooks. На testing — DAST и security regression. На release — обязательный проход security gate в CI/CD. На maintenance — мониторинг новых CVE в зависимостях.

Бизнес-эффект двух моделей кардинально различается. Стоимость закрытия уязвимости растёт экспоненциально по фазам: на этапе требований — 1x, разработки — 5x, тестирования — 10x, после релиза — 30–100x. Поэтому «сдвиг безопасности влево» (shift-left security) — не дань моде, а способ снизить совокупную стоимость владения продуктом.

7 этапов Secure SDLC

1. Requirements: security как часть бизнес-требований

На этапе сбора требований к новой фиче security-инженер (или security champion) формулирует: какие данные обрабатывает фича, к какой категории относятся (ПДн, платёжные, конфиденциальные), кто имеет доступ, какие compliance-требования применимы (152-ФЗ, PCI DSS), какие ключевые риск-сценарии. Это занимает 30–60 минут на фичу и предотвращает «случайные» нарушения compliance.

2. Threat modeling: систематический поиск угроз на дизайне

Threat modeling — упражнение, где команда рисует архитектурную схему системы и для каждого компонента систематически проходит чек-лист угроз. Самые популярные методологии:

  • STRIDE (Microsoft). 6 категорий угроз: Spoofing (подмена личности), Tampering (нарушение целостности), Repudiation (отказ от действия), Information disclosure (утечка), Denial of service, Elevation of privilege.
  • DREAD — методология ранжирования: Damage, Reproducibility, Exploitability, Affected users, Discoverability. Используется как дополнение к STRIDE для приоритизации.
  • PASTA (Process for Attack Simulation and Threat Analysis) — более тяжеловесный процесс из 7 этапов, для крупных систем.

Для среднего бизнеса достаточно STRIDE + лёгкого DREAD-ранжирования. Threat modeling делается: по новой большой фиче (1–3 часа), по всему приложению раз в год (1–3 дня), после крупных архитектурных изменений. Открытые инструменты: OWASP Threat Dragon, Microsoft Threat Modeling Tool, IriusRisk Community Edition.

3. Design: security-патерны и стандарты

Архитектурные решения, принятые на этапе дизайна, влияют на security десятилетиями. Минимальные стандарты: выбор аутентификации (OAuth2/JWT/mTLS), модель авторизации (RBAC/ABAC/ReBAC), стратегия шифрования (что шифровать, где хранить ключи), сегментация сети, отделение dev/staging/production-окружений, ротация секретов. Эти решения документируются в Architecture Decision Records (ADR).

4. Secure coding и SAST

На этапе разработки безопасность встраивается через:

  • Coding guidelines. Внутренний документ команды: что можно/нельзя в коде (например, «никогда не конкатенировать SQL, всегда parameterized queries», «никогда innerHTML, только textContent»).
  • SAST в IDE. Плагины Snyk, Semgrep, SonarLint работают в редакторе разработчика, дают подсказки в реальном времени.
  • Pre-commit hooks. Поиск утёкших секретов (gitleaks, trufflehog), базовая проверка кода перед коммитом.
  • Code review. Каждый PR проходит ревью, в том числе с фокусом на security-вопросы (есть ли проверка прав, валидация входа, корректная обработка ошибок).

5. Testing: DAST, SCA, security regression

На staging-окружении запускаются динамические инструменты, которые проверяют развёрнутое приложение. Подробнее об инструментах — ниже отдельный раздел.

6. Release: security gate перед production

Перед каждым деплоем в production CI/CD проходит security gate: 0 critical/high уязвимостей в SAST, 0 critical CVE в зависимостях, актуальный pentest (не старше года), все обязательные security headers и конфигурации.

7. Maintenance: мониторинг CVE и инцидентов

После релиза — непрерывный мониторинг: новые CVE в библиотеках, runtime security (RASP), мониторинг подозрительных событий через SIEM, threat intelligence о новых атаках. Регулярный pentest (раз в год), quarterly security review.

SAST: статический анализ кода

SAST (Static Application Security Testing) — инструменты, которые анализируют исходный код без его запуска. Ищут классы уязвимостей по паттернам: SQLi, XSS, hardcoded-секреты, небезопасная криптография, race conditions.

ИнструментТипСильные стороны
SemgrepOpen-source + commercialБыстрый, кастомные правила на YAML, отлично интегрируется в CI
SonarQubeOpen-source Community + commercialПокрытие 30+ языков, удобный дашборд, тренд за время
Snyk CodeCommercialML-аналитика, низкий false positive rate, удобная интеграция
Bandit (Python)Open-sourceСпециализирован на Python, простой запуск
Gosec (Go)Open-sourceСпециализирован на Go
ESLint + security pluginsOpen-sourceJavaScript/TypeScript, встроен в большинство пайплайнов
Positive AppSec.HubРоссийский commercialВ реестре российского ПО, для импортозамещения
Solar inCodeРоссийский commercialПолный анализ + аудит безопасности кода, в реестре

Для большинства коммерческих компаний — связка Semgrep (быстрый CI-сканер с открытыми правилами) + SonarQube Community Edition (дашборд истории) покрывает 70–80% задач. Если есть бюджет — Snyk Code добавляет точность и снижение false positives.

DAST: динамическое тестирование

DAST (Dynamic Application Security Testing) запускает атаки на работающее приложение. Видит то, что SAST пропустил: проблемы конфигурации, ошибки авторизации, реальную эксплуатируемость.

  • OWASP ZAP — бесплатный open-source DAST, поддерживает сканирование REST/SOAP/GraphQL, интегрируется в CI.
  • Burp Suite (Professional/Enterprise) — стандарт индустрии, отличный proxy + сканер, требует лицензии.
  • Acunetix — коммерческий, низкий false positive rate, удобно для регулярных сканов.
  • Wallarm Active Threat Verification — российский, интегрируется с их же WAF.

Минимальная схема: OWASP ZAP в CI на каждом merge в main (с лёгкими правилами, чтобы не замедлять), плюс полноценный DAST-скан на staging раз в спринт. Полные результаты DAST дороже разбирать, поэтому их обычно дополняет ручной pentest раз в год.

SCA: сканирование зависимостей

SCA (Software Composition Analysis) проверяет используемые библиотеки на наличие CVE. Современное приложение состоит на 80–90% из стороннего кода — и каждое обновление может либо принести новую уязвимость, либо закрыть старую.

  • Snyk Open Source — лидер рынка, есть бесплатный тариф для open-source-проектов.
  • OWASP Dependency-Check — open-source, поддерживает Maven, npm, PyPI и др.
  • Trivy — open-source, сканирует код + контейнеры + IaC.
  • GitHub Dependabot — встроен в GitHub бесплатно, автоматически создаёт PR на обновление.
  • Renovate — альтернатива Dependabot, более гибкая конфигурация.

Базовая схема для команды: Dependabot/Renovate на автообновления minor/patch версий + Trivy/Snyk в CI на блокировку critical CVE. Обновлять major-версии вручную, читая changelog.

Threat modeling: STRIDE на практике

Пример STRIDE для типового API-эндпоинта POST /api/orders:

КатегорияУгрозаMitigation
SpoofingАтакующий выдаёт себя за другого пользователяJWT с подписью RS256, проверка expiry, защита от reuse
TamperingМодификация order_id или amount в request bodyСерверная валидация, не доверять клиентским значениям критичных полей
RepudiationПользователь отказывается от факта заказаAudit log с timestamp, user_id, IP, User-Agent, иммутабельное хранение
Information DisclosureУтечка чужих заказов через подбор order_idПроверка ownership в обработчике (защита от BOLA)
Denial of ServiceМассовое создание заказов скриптомRate-limiting, CAPTCHA на подозрительных переходах, fraud-detection
Elevation of PrivilegeПередача поля is_internal: true для скидкиWhitelist допустимых полей в DTO, отдельная модель для внутренних заказов

Security code review

Code review с фокусом на security — часть обычного процесса PR. Чек-лист ревьюера:

  • Проверка прав на каждом обработчике (есть ли middleware с проверкой роли или ownership)?
  • Валидация всех входных параметров (или используется типизированный DTO)?
  • SQL-запросы только через параметризацию или ORM, без конкатенации строк?
  • Вывод данных в HTML — через шаблонизатор с экранированием, не innerHTML с пользовательскими данными?
  • Секреты не закоммичены в код, не залогированы, не выведены в ответе?
  • Обработка ошибок — без раскрытия деталей наружу (general error message в ответе, детали в логи)?
  • Криптография — используются стандартные библиотеки (bcrypt/argon2 для паролей, libsodium/cryptography для шифрования)?

Интеграция в CI/CD

Типовая security pipeline:

  1. На pre-commit (локально): gitleaks (поиск секретов), линтеры с security-правилами.
  2. На push в feature branch: SAST быстрый (Semgrep), SCA (Trivy/Snyk), unit-тесты.
  3. На merge в main: полный SAST + SCA + DAST лайт (OWASP ZAP базовый скан) + container scan.
  4. На деплой в staging: полный DAST на staging, security regression тесты.
  5. Security gate перед production: 0 critical/high, актуальный pentest, проверка чек-листа.

Принцип: чем раньше в цикле — тем дешевле и быстрее. SAST на pre-commit и push даёт фидбек за минуты, DAST на staging — за десятки минут, pentest — раз в год за недели. Каждый уровень покрывает то, что пропустил предыдущий.

Security champions: масштабирование без отдельной команды

Security champion — обычный разработчик, который проходит дополнительное обучение и становится точкой контакта по security в своей команде. Это паттерн для компаний, где невозможно содержать отдельную security-команду на каждые 5–10 разработчиков.

  • 1 champion на 5–10 разработчиков, выбирается из самой команды (не «навязанный сверху»).
  • Обучение: 20–40 часов в год (OWASP курсы, конференции, внутренние воркшопы).
  • Дополнительное время в спринте: 10–20% на security-задачи.
  • Регулярные встречи всех champions: ежемесячные обмены опытом, обсуждение инцидентов.

Метрики Secure SDLC

На дашборд CISO выносятся:

  • MTTR (Mean Time To Remediate) по уровням severity. Целевые значения: critical 24–72 часа, high 1–2 недели, medium до 1 месяца.
  • Defect escape rate. Сколько уязвимостей нашёл pentest по сравнению с тем, что закрыли автоматически. Цель — снижение тренда.
  • SAST coverage. % файлов кода, покрытых правилами.
  • SCA coverage. % зависимостей с актуальной информацией о CVE.
  • Security debt. Общее число открытых high/medium уязвимостей в backlog.
  • Training completion rate. % разработчиков, прошедших обязательное security-обучение в этом году.

Сравнение SAST / DAST / SCA / IAST

Четыре класса автоматизированных проверок безопасности кода, без которых Secure SDLC не строится. Ниже — практический срез по решениям, доступным в РФ в 2026:

КлассРешенияКогда выбирать
SAST (Static)Semgrep, SonarQube, Snyk Code, GitHub CodeQL, Solar appScreener, PT Application InspectorSemgrep — гибкие custom rules; SonarQube — всестороннее quality+security; CodeQL — для GitHub-проектов; Solar appScreener — отечественный для импортозамещения; PT AI — для критичных приложений с требованиями ФСТЭК
SCA (Dependencies)Snyk Open Source, Dependabot, OWASP Dependency-Check, Trivy, Syft, RenovateSnyk — самый полный CVE-фид; Dependabot — встроен в GitHub; Trivy — для контейнеров и IaC; Renovate — для агрессивного обновления зависимостей
DAST (Dynamic)OWASP ZAP, Burp Suite Enterprise, StackHawk, Acunetix, PT BlackBoxZAP — open-source, базовый для CI; Burp Enterprise — для команд, которые уже используют Burp на pentest; StackHawk — современный API-focused
IAST (Interactive)Contrast Security, Seeker (Synopsys), Checkmarx CxIASTIAST встраивается в среду исполнения и комбинирует SAST+DAST преимущества. Дорого, для крупных команд с критичными продуктами
Secret scanningTruffleHog, gitleaks, GitHub Secret Scanning, Snyk Secretsgitleaks — pre-commit hook; TruffleHog — для исторического анализа репозиториев; GitHub Secret Scanning — встроен в публичные репозитории
Container securityTrivy, Grype, Snyk Container, Aqua Security, NeuVectorTrivy — стандарт для CI; Aqua — для крупных production-кластеров Kubernetes

Интеграция SAST в GitHub Actions: пошаговый пример

Минимальный рабочий стек для команды на GitHub: Semgrep (SAST) + Snyk (SCA) + gitleaks (secret scanning), интегрированы в один pipeline. Базовые шаги:

  1. Шаг 1. Подключение Semgrep в .github/workflows/security.yml: job на pull_request и push в main, action returntocorp/semgrep-action, конфигурация p/owasp-top-ten p/r2c-security-audit, выгрузка SARIF в Code Scanning.
  2. Шаг 2. Подключение Snyk: action snyk/actions/python (или соответствующий для стека), команда snyk test --severity-threshold=high --sarif, фейл pipeline на high/critical, информация на остальном.
  3. Шаг 3. Подключение gitleaks: action gitleaks/gitleaks-action на каждом push, конфигурация в .gitleaks.toml, фейл pipeline на любой match.
  4. Шаг 4. Branch protection rule: требование «security check passed» для merge в main. Включить required status checks для всех трёх jobs.
  5. Шаг 5. Dependabot: создать .github/dependabot.yml с расписанием weekly для всех package ecosystems, auto-merge minor updates через bot.
  6. Шаг 6. Дашборд: GitHub Advanced Security даёт встроенный security overview, альтернатива — DefectDojo как централизованный агрегатор найдок из всех инструментов.

Интеграция SAST в GitLab CI

Для GitLab-проектов путь проще: GitLab Ultimate имеет встроенные templates безопасности. Для бесплатных тарифов и self-managed используются те же тулы как кастомные jobs:

  1. Включить шаблоны: include: - template: Security/SAST.gitlab-ci.yml и - template: Security/Secret-Detection.gitlab-ci.yml и - template: Security/Dependency-Scanning.gitlab-ci.yml.
  2. DAST: отдельный job с ZAP на staging-окружении после deploy, для review apps (динамические staging) — DAST на ephemeral окружении.
  3. Container scanning: - template: Security/Container-Scanning.gitlab-ci.yml для docker-образов, использует Trivy.
  4. SBOM: - template: Security/Cyclonedx.gitlab-ci.yml для генерации SBOM в формате CycloneDX, хранится как артефакт каждого pipeline.
  5. Merge Request Widget: результаты появляются в UI MR, можно dismiss с указанием причины (для compliance audit).
  6. Self-managed: если используется GitLab Self-Managed для импортозамещения, добавить Solar appScreener или PT Application Inspector как кастомный SAST вместо встроенного.

Расширенный кейс: внедрение Secure SDLC в FinTech

FinTech-проект «Заказчик Д» — сервис эквайринга и расчётного счёта для малого бизнеса. Команда — 24 разработчика в 4 фича-командах, бэкенд Kotlin+Spring, фронтенд React, мобильное приложение Flutter, релизы 2 раза в неделю. До внедрения Secure SDLC: 1 раз в год pentest (находил по 30-40 проблем), несколько утечек секретов через коммиты, общая security-команда — 1 человек.

План внедрения (6 месяцев):

  1. Месяц 1. Threat modeling двух главных бизнес-процессов (эквайринг, расчётный счёт), выделение 4 security champions по командам, базовое обучение security awareness.
  2. Месяц 2. Внедрение SAST (Semgrep) и SCA (Snyk) в GitLab CI, ротация всех боевых секретов через Vault, gitleaks как pre-commit hook.
  3. Месяц 3. Threat modeling всех новых фич стало обязательным шагом в PRD; обучение security champions расширенным практикам (OWASP ASVS Level 2).
  4. Месяц 4. Внедрение DAST (OWASP ZAP) на staging для критичных user-flow; SBOM для всех release-артефактов.
  5. Месяц 5. Интеграция SIEM (Wazuh) с audit log от всех сервисов, правила корреляции для аномалий в финансовых операциях.
  6. Месяц 6. Pentest «измерение результата»: 8 проблем (vs 38 годом ранее), все Medium, 0 Critical/High, MTTR закрытия 5 дней (vs 35 ранее).

Стоимость: ~6 млн ₽ единовременно (внешняя помощь + лицензии + обучение) + 1.2 млн ₽/мес постоянных расходов на лицензии и поддержку. Сравнительная стоимость одной утечки в финтех — десятки миллионов штрафа + потеря лицензии Банка России.

Стандарты и регуляторы

  • OWASP SAMM — Software Assurance Maturity Model, методология оценки зрелости Secure SDLC.
  • OWASP ASVS — стандарт верификации безопасности приложений (3 уровня).
  • Microsoft SDL — оригинальная модель Microsoft Security Development Lifecycle.
  • NIST SSDF (SP 800-218) — Secure Software Development Framework.
  • cisecurity.org — CIS Benchmarks для конфигурации сервисов и платформ.
  • fstec.ru — приказ ФСТЭК № 17 (для гос. систем), требования к безопасной разработке.
  • cve.org — реестр уязвимостей для SCA.

Связанные материалы

FAQ о Secure SDLC

С чего начать внедрение Secure SDLC, если в команде нет security-инженера?

Начните с дешёвых и эффективных мер: подключите SAST-сканер (Semgrep, SonarQube Community) в CI/CD на блокировку high/critical, включите Dependabot или Renovate для автоматических обновлений зависимостей, проведите threat modeling для 2-3 главных бизнес-процессов (платежи, авторизация, доступ к ПДн). Назначьте «security champion» — обычного разработчика, который пройдёт обучение и будет точкой контакта по security-вопросам. Через 3-6 месяцев такой подход покрывает 70% базовых рисков. Дальше — нанимать security-инженера или привлекать внешнюю команду для квартального аудита и pentest.

SAST или DAST: что важнее?

Это не «или», а «и». SAST (Static Application Security Testing) анализирует исходный код, находит классы уязвимостей на этапе разработки: SQLi, XSS, hardcoded-секреты, небезопасное использование криптографии. Быстрый, дешёвый, интегрируется в IDE и CI. DAST (Dynamic Application Security Testing) тестирует запущенное приложение, имитирует атакующего, находит то, что SAST не видит: проблемы конфигурации, ошибки авторизации, реальную эксплуатируемость уязвимостей. Минимум — SAST в CI, DAST раз в спринт на staging, плюс pentest раз в год. SAST даёт быстрый feedback разработчику, DAST подтверждает, что найденное действительно эксплуатируемо.

Сколько ложных срабатываний даёт SAST и как с этим жить?

Базовая статистика: SAST-сканеры дают 30-60% false positives на новом проекте без тюнинга. Это нормально. Управление: первые 1-2 недели — режим «информация», не блокируйте сборку, накопите статистику. Затем — настройка правил: отключите неактуальные категории, добавьте suppression-комменты к ложным срабатываниям с пояснением, понизьте severity предупреждений, которые не критичны для вашего стека. Через 1-2 месяца false positive rate должен упасть до 10-15%. После этого можно блокировать сборку при появлении новых high/critical.

Что такое threat modeling и сколько это занимает времени?

Threat modeling — упражнение, где команда (разработчики + security + продукт) собирается на 1-3 часа, рисует data flow diagram системы и для каждого компонента/потока проходит чек-лист угроз. Самая популярная методология — STRIDE (Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege). Для одного бизнес-сценария среднего масштаба — 2-4 часа, для всего приложения с микросервисами — 1-3 дня. Делается на этапе дизайна новой фичи (стоит дёшево) либо как разовый аудит существующего приложения (дороже, но всё ещё выгоднее, чем пентест за теми же находками).

Можно ли купить Secure SDLC «под ключ» как сервис?

Полностью «под ключ» — нет, потому что Secure SDLC — это процесс внутри вашей команды, его невозможно полностью аутсорсить. Но можно аутсорсить компоненты: внедрение и настройку SAST/DAST/SCA-инструментов, threat modeling по бизнес-процессам, code review критичных модулей, обучение команды и security champions, регулярный pentest. Типовой пакет внедрения: 3-6 месяцев работ внешней команды, за это время внутренние разработчики осваивают процесс. Дальнейшее сопровождение — внутренней командой или подключение security-партнёра на квартальный аудит.

Замедляет ли Secure SDLC релизы?

Краткосрочно — да, обычно на 10-20% на этапе внедрения (новые проверки в CI, обучение команды, исправление накопленных проблем). Долгосрочно — наоборот, ускоряет: автоматизация security-проверок в CI заменяет ручные ревью, отсутствие срочных багфиксов после pentest освобождает спринты, audit-логи ускоряют расследование инцидентов. Главное правило — security-проверки должны быть быстрыми (SAST < 5 минут в CI), давать актуальные находки (не «всё подряд»), интегрироваться в IDE и pull request, а не запускаться отдельным процессом раз в неделю.

Какие метрики Secure SDLC отслеживать?

Минимальный набор: MTTR (Mean Time To Remediate) для critical/high уязвимостей — целевое значение для critical 24-72 часа, для high 1-2 недели. Defect escape rate — сколько уязвимостей нашёл pentest по сравнению с тем, что должны были найти автоматические сканеры. Test coverage — покрытие security-тестами (SAST/SCA % файлов, DAST % эндпоинтов). Training completion rate — % разработчиков, прошедших security-обучение в этом году. Security debt — общее число открытых high/medium уязвимостей в backlog, тренд снижения месяц к месяцу. Эти метрики идут на дашборд CISO и обсуждаются на ежеквартальном security review.

Как встроить SAST в GitHub Actions без замедления PR?

Базовая конфигурация: запускать Semgrep или CodeQL только на изменённых файлах (semgrep ci --baseline), кэшировать базу правил между запусками, разделять блокирующие правила (Critical/High) и информационные (Medium/Low) — блокировать PR только при наличии новых блокирующих находок. Параллельно с SAST запускать SCA (Snyk, Dependabot) и secret scanning (TruffleHog, gitleaks). Целевое время full pipeline на PR — до 5 минут. Для крупных монорепо — sharded запуск по сервисам, для маленьких — параллельные jobs. Ночной cron для полного scan всего кодабaза.

Как встроить DAST/SAST в GitLab CI и какие шаги нужны?

GitLab Ultimate включает встроенные SAST (на основе brakeman/bandit/semgrep), DAST (на основе OWASP ZAP) и SCA (Gemnasium/RetireJS) — достаточно включить шаблон в .gitlab-ci.yml: include: template: Security/SAST.gitlab-ci.yml. Для бесплатных тарифов: ручное добавление через job-ы с docker-image. DAST требует staging-окружение, доступное для GitLab Runner — обычно это отдельный shared runner с доступом в VPN или ephemeral окружение через Review Apps. Результаты публикуются как Merge Request Widgets с возможностью dismiss/confirm. Для импортозамещения — связка GitLab Self-Managed + Solar appScreener.

Что входит в технический долг по безопасности и как его измерять?

Security debt включает: незакрытые High/Medium-уязвимости из pentest/SAST/DAST/SCA; устаревшие зависимости с известными CVE; недостающие компоненты Secure SDLC (нет threat modeling, нет audit log, нет ротации секретов); legacy-модули без покрытия тестами; отсутствие документации по архитектуре. Измерение: SBOM-инструменты (Syft, Trivy) для зависимостей, SAST-агрегатор (DefectDojo) для уязвимостей кода, отдельный backlog в Jira с метками «security-debt» и SLA на закрытие. Целевая динамика — снижение general debt на 10-15% в квартал; новые High уязвимости закрываются полностью в течение спринта.

Обсудить внедрение Secure SDLC Бесплатная 30-минутная встреча: текущий процесс, узкие места, ориентировочный план внедрения.