Ответ
Определяю задачи на спринт через приоритизацию бэклога с учетом:
- Бизнес-ценности — что принесет максимум пользы заказчику.
- Зависимостей — блокирующие задачи идут в первую очередь.
- Технического долга — выделяю 10-20% времени на его сокращение.
- Оценки команды — учитываю capacity и реалистичность выполнения.
Пример:
backlog = [
{"task": "Реализовать оплату", "priority": 1, "story_points": 5},
{"task": "Исправить баг с кэшем", "priority": 2, "story_points": 3},
{"task": "Доработать API", "priority": 3, "story_points": 8}
]
sprint_capacity = 10
sprint_tasks = sorted(
[task for task in backlog if task["priority"] <= 2],
key=lambda x: x["priority"]
)[:sprint_capacity]
Использую Planning Poker для уточнения оценок и согласования с командой.