Что показывает Capacity?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Что показывает Capacity в IT-проектах?
Capacity (вместимость, пропускная способность) — это ключевой практический показатель в управлении командами и проектами. Он не является теоретическим идеалом или пожеланием, а строго измеряемой величиной, которая отвечает на главный вопрос: «Сколько работы способна выполнить наша команда за заданный промежуток времени?»
Говоря простыми словами, если Scope (объём работ) — это «что нужно сделать», а Velocity (скорость) — это «с какой скоростью мы двигались в прошлом спринте», то Capacity — это точный, реалистичный прогноз «сколько мы можем взять на себя в предстоящем спринте». Это основа для реалистичного планирования и избегания перегрузки команды.
Ключевые аспекты, которые показывает Capacity:
- Реальная доступность команды: Capacity — это не просто количество человек, умноженное на 8 рабочих часов в день. Она учитывает отпуска, больничные, обучение, совещания, административные задачи и другие виды непроектной деятельности. Он показывает «чистое» время, которое команда может посвятить работе над бэклогом продукта.
- Ограничение Work in Progress (WIP): Чёткое понимание ёмкости позволяет ограничивать количество задач, находящихся в работе одновременно. Это фундаментальный принцип Kanban и ключ к сокращению времени цикла (cycle time) и повышению предсказуемости потока работ.
- Прогнозирование сроков: Сравнивая общий объём работ (в story points, идеальных днях или часах) с текущей ёмкостью команды, менеджер может рассчитать примерные сроки завершения проекта или релиза.
- Выявление узких мест и перегрузок: Анализ ёмкости на уровне отдельных ролей (например, разработчики vs тестировщики) или отдельных членов команды помогает выявить дисбаланс. Если ёмкость тестирования значительно меньше ёмкости разработки, это создаст «бутылочное горлышко» и приведёт к накоплению непротестированного кода.
- Основа для переговоров с руководством или заказчиком: Цифры ёмкости — это объективные данные. Когда поступает запрос на срочную работу или изменение приоритетов, проект-менеджер может наглядно показать: «Наша ёмкость на спринт — 100 стори-поинтов. Чтобы взять эту новую критичную задачу (20 поинтов), нам необходимо изъять из плана эквивалентный по объёму пункт. Что вы предлагаете отложить?»
Практический расчёт Capacity: формула и пример
Наиболее распространённый подход к расчёту — отталкиваться от идеальных человеко-часов, с последующим переводом в story points, если это необходимо.
Базовая формула расчёта ёмкости команды на спринт:
# Псевдокод для расчёта Capacity команды из N человек
def calculate_team_capacity(sprint_days, team_members):
total_capacity_hours = 0
for member in team_members:
# 1. Определяем доступные часы в день (обычно 6-7, а не 8)
available_hours_per_day = member.focus_hours # например, 6.5
# 2. Учитываем отсутствия (отпуск, обучение, больничный)
days_absent = member.days_absent # например, 2 дня отпуска
effective_working_days = sprint_days - days_absent
# 3. Рассчитываем индивидуальную ёмкость
individual_capacity = available_hours_per_day * effective_working_days
# 4. Суммируем в общую ёмкость команды
total_capacity_hours += individual_capacity
return total_capacity_hours
# Пример для команды из 3 человек на 2-недельный спринт (10 рабочих дней)
sprint_length_days = 10
team = [
{'name': 'Dev1', 'focus_hours': 6, 'days_absent': 0},
{'name': 'Dev2', 'focus_hours': 6, 'days_absent': 2}, # В отпуске 2 дня
{'name': 'QA', 'focus_hours': 7, 'days_absent': 1}, # Обучение 1 день
]
team_capacity_hours = calculate_team_capacity(sprint_length_days, team)
print(f"Общая ёмкость команды на спринт: {team_capacity_hours} часов")
# Расчёт: Dev1: 6ч * 10д = 60ч; Dev2: 6ч * 8д = 48ч; QA: 7ч * 9д = 63ч.
# Итого: 60 + 48 + 63 = 171 идеальный час.
Как это используется на практике в Agile/Scrum:
- Перед планированием спринта расчитывается общая ёмкость в часах.
- На основе исторической velocity (например, 30 story points за 160 часов) устанавливается прогнозная ёмкость в поинтах для нового спринта (в данном случае ~32 point).
- Команда выбирает из бэклога продукта задачи, сумма story points которых не превышает эту прогнозную цифру.
Таким образом, Capacity — это не абстракция, а главный инструмент реалистичного планирования, управления ожиданиями стейкхолдеров и защиты команды от выгорания из-за хронической перегрузки. Грамотное управление ёмкостью напрямую влияет на предсказуемость результатов, качество продукта и здоровую атмосферу в коллективе. Это фундамент для устойчивого темпа разработки (sustainable pace).