Ответ
Идеальный таск — это атомарная, чётко определённая единица работы, которую можно выполнить, протестировать и закрыть без необходимости возвращаться за уточнениями.
Критерии (по аналогии с INVEST):
- Конкретный (Specific): Чётко описано, что нужно сделать.
- Измеримый (Measurable): Есть объективные критерии завершения (Definition of Done).
- Атомарный (Atomic): Охватывает одну логическую функцию или правку. Нельзя разбить на подзадачи без потери смысла.
- Самодостаточный (Self-contained): Содержит всю необходимую информацию для выполнения (ссылки, данные, окружение).
Плохой vs Идеальный таск:
-
Плохо:
"Починить баг с оплатой"- Неясно, что именно не работает, как воспроизвести и какой ожидается результат.
-
Идеально:
Заголовок: Исправить падение API-запроса POST /api/v1/order при пустом поле 'phoneNumber'. Описание: Шаги воспроизведения: 1. Отправить POST /api/v1/order с JSON: {"phoneNumber": "", "items": [1,2]} 2. Наблюдать Internal Server Error 500. Ожидаемое поведение: - Должен вернуться статус 400 Bad Request. - Тело ответа: {"error": "Field 'phoneNumber' cannot be empty"}. Критерии завершения: - [ ] Запрос с пустым phoneNumber возвращает 400 и корректное сообщение об ошибке. - [ ] Существующие юнит-тесты проходят. - [ ] Добавлен новый юнит-тест для этого кейса.