Методология и жизненный цикл ПО — чек-лист
Миграции в релизе, ETL, конфиги сред — Пакетная работа, ETL, конфигурации. Карта — о разделе.
Чек-лист самопроверки
Ответьте "да" / "нет" по команде или проекту. Полная теория и примеры — в главе про жизненный цикл; словарь Agile и чек-лист по PO, бэклогу, velocity, стендапу, burn-down — в Agile — гибкая методология; для ГИС — в главе про государственные системы.
Пункты 29–32 про CI/CD, TDD и рефакторинг — про зрелость доставки и качества кода (DevOps/XP), а не про выбор Scrum или Waterfall.
Много "да" в блоке Waterfall и мало в Agile — нормально для госсектора; важно, совпадает ли это с заявленным процессом.
Цели и рамки проекта
- Чётко ли определена цель проекта и зафиксирована в виде SMART-цели?
- Стабильны ли требования, или ожидается их частое изменение?
- Есть ли юридические или нормативные ограничения, требующие фиксации объёма работ до начала разработки?
- Утверждено ли техническое задание (ТЗ) до старта реализации?
- Возможны ли изменения в ТЗ без формального перезаключения контракта?
Waterfall и предсказуемость
- Используется ли линейная модель (Waterfall), где этапы строго последовательны?
- Есть ли чёткое разделение на фазы: анализ → проектирование → кодирование → тестирование → внедрение?
- Проводится ли тестирование только после завершения всей разработки?
- Является ли приёмка продукта единовременным событием в конце проекта?
- Используется ли Gantt-диаграмма или MS Project для детального планирования всех задач заранее?
Agile и Scrum
- Применяется ли Agile как философия — фокус на ценности, сотрудничество, адаптация?
- Разделена ли работа на короткие итерации (спринты)?
- Есть ли у команды Product Owner, отвечающий за приоритезацию бэклога?
- Проводятся ли ежедневные 15-минутные встречи (Daily Scrum)?
- Есть ли Sprint Planning, Sprint Review и Sprint Retrospective?
- Демонстрируется ли работающий инкремент каждые 1–4 недели?
- Используется ли продуктовый бэклог как динамический список задач?
- Меняются ли приоритеты в бэклоге между итерациями на основе обратной связи?
- Применяется ли относительная оценка задач (Story Points), а не человеко-часы?
- Используется ли Planning Poker или аналогичный метод оценки?
Kanban и поток
- Визуализируются ли задачи на Kanban-доске (To Do / In Progress / Done)?
- Установлены ли ограничения на количество задач в работе (WIP)?
- Измеряется ли время цикла (Cycle Time) для анализа потока?
- Проводятся ли регулярные встречи по пополнению бэклога и анализу потока?
- Может ли новая задача быть добавлена в работу в любой момент?
ГИС и гибриды
- Используется ли гибридная модель (например, Water-Scrum-Fall)?
- Сохраняется ли формальная приёмка по ГОСТ даже при итеративной разработке?
- Проходит ли каждый инкремент независимую экспертизу и согласование?
DevOps-практики (доставка и качество)
- Автоматизированы ли сборка, тестирование и деплой (CI/CD)?
- Запускаются ли автоматические тесты при каждом коммите в репозиторий?
- Используется ли TDD (Test-Driven Development) или BDD?
- Есть ли культура рефакторинга и управления техническим долгом?
- Участвует ли заказчик в процессе на постоянной основе (не только на старте и в конце)?
- Может ли заказчик изменить приоритеты без бюрократических процедур?
- Формулируются ли требования в виде пользовательских историй?
- Определены ли критерии приёмки (Definition of Done) для каждой задачи?
- Используются ли Jira, Trello или аналоги для управления задачами?
- Ведётся ли документация в Confluence или Notion как живой артефакт?
- Есть ли чёткое распределение ролей — кто отвечает за ценность, процесс, реализацию?
- Проводятся ли ретроспективы для анализа и улучшения процесса?
- Анализируются ли причины срывов сроков системно, а не как личные ошибки?
- Поддерживает ли архитектура системы частые изменения (модульность, контракты, тесты)?
- Используется ли эволюционный дизайн (emergent design) вместо big design up front?
- Учитывается ли технический долг в планировании спринтов?
- Есть ли метрики — Velocity, Cycle Time, Lead Time, частота релизов?
- Поставляется ли новая версия чаще одного раза в квартал?
- Возможен ли деплой в production несколько раз в день?
- Собирается ли обратная связь от пользователей после каждого релиза?
- Используются ли данные из production (логи, метрики) для планирования следующих итераций?
- Соответствует ли выбранная методология реальному поведению команды — или это лишь "Agile в названии"?