Раздел описывает организацию инженерной работы: от возникновения потребности и исследования задачи до проектирования, реализации, проверки, выпуска и последующего улучшения системы.

Материалы раздела рассматривают управление требованиями, планирование, совместную разработку, контроль версий, code review, тестирование, документацию, технические решения и взаимодействие инженеров с другими участниками продукта.

Основные направления

  • Жизненный цикл инженерной работы — discovery, delivery, сопровождение, обратная связь и непрерывное улучшение процесса и системы.
  • Требования и постановка задач — цели, ограничения, функциональные и нефункциональные требования, критерии приёмки, декомпозиция и трассируемость изменений.
  • Планирование и управление потоком работы — backlog, приоритеты, оценки, зависимости, риски, WIP, lead time, cycle time и координация поставки.
  • Совместная разработка и контроль версий — Git, ветвление, commits, pull requests, code review, владение кодом и интеграция изменений.
  • Качество и проверка решений — стратегия тестирования, автоматические проверки, статический анализ, критерии готовности и предотвращение дефектов.
  • Технические решения и документация — исследования, прототипы, RFC, ADR, спецификации, архитектурные решения и поддержание актуального инженерного контекста.
  • Командное взаимодействие и ответственность — роли, зоны ответственности, коммуникация, обратная связь, передача знаний и взаимодействие между командами.
  • Измерение и улучшение процесса — инженерные метрики, ретроспективы, анализ причин задержек и ошибок, автоматизация и управление техническим и процессным долгом.

Основные вопросы раздела

Материалы раздела должны помогать отвечать на следующие вопросы:

  • Как превратить потребность или проблему в проверяемую инженерную задачу?
  • Какие требования, ограничения и критерии завершения необходимо зафиксировать?
  • Как декомпозировать крупное изменение на небольшие поставляемые части?
  • Как оценивать работу и управлять неопределённостью, рисками и зависимостями?
  • Как организовать ветвление, code review и безопасное объединение изменений?
  • Какие проверки необходимы до признания изменения готовым?
  • Когда использовать исследование, spike, прототип, RFC или ADR?
  • Как сохранять контекст решений и передавать знания между участниками?
  • Какие роли и зоны ответственности необходимы для владения системой?
  • Как измерять скорость потока работы без ухудшения качества?
  • Как находить причины задержек, дефектов и повторной работы?
  • Какие повторяемые действия следует стандартизировать и автоматизировать?

Границы раздела

Раздел посвящён организации инженерной работы, совместной разработке и управлению изменениями программных систем.

Потребности пользователей, бизнес-цели и продуктовые показатели рассматриваются в разделе пользователя и бизнеса. Принципы организации кода и архитектуры относятся к разделу проектирования программного обеспечения. Технические процессы сборки, выпуска и развёртывания рассматриваются в разделе доставки и эксплуатации. Особенности тестирования и инструментов конкретных языков относятся к разделу программирования и сред выполнения.

в этой папке 0 элементов