Ответ
На предыдущем проекте я выступал в роли активного участника сессий по грумингу бэклога. Мои ключевые обязанности включали:
- Уточнение требований: Помогал Product Owner и команде прояснять критерии приемки (Acceptance Criteria) для пользовательских историй.
- Декомпозиция: Разбивал крупные эпики и задачи на небольшие, выполнимые подзадачи, готовые к попаданию в спринт.
- Оценка: Участвовал в планировании покера или других техниках оценки для определения сложности задач.
- Определение DoD: Следил, чтобы у каждой задачи были четкие и измеримые критерии завершения (Definition of Done).
Пример декомпозиции задачи:
Исходная задача (User Story): "Как пользователь, я хочу фильтровать товары по цене."
После груминга:
1. Реализовать UI-компонент слайдера для выбора диапазона цен.
2. Добавить валидацию ввода (мин. цена < макс. цена).
3. Интегрировать фильтр с API бэкенда.
4. Оптимизировать SQL-запрос для фильтрации с учетом индексов.
5. Написать автотесты для нового функционала (UI и API).
Этот процесс помогал команде избегать недопонимания, равномерно распределять нагрузку и повышал предсказуемость результатов спринта.
Ответ 18+ 🔞
А, ну это я знаю, блядь! На прошлом проекте я был тем самым мудаком, который на этих ебучьих сессиях по грумингу бэклога мозги всем выносил. Сидишь, слушаешь, а там Product Owner несёт какую-то хуйню про «хочу чтобы всё летало и блестело». А команда смотрит на него, как баран на новые ворота.
И вот тут я вступаю, как Герасим, только не немой, а, наоборот, блядь, самый разговорчивый. Моя работа была — превратить этот словесный понос в нормальные, годные задачи.
Чем конкретно занимался, спросишь? А вот чем:
- Разбор полётов: Когда PO начинал нести про «кроссплатформенную интеграцию синих виджетов», я его останавливал и спрашивал: «Слушай, а что пользователь-то в итоге должен сделать? На какую кнопку нажать и что увидеть?». Пока не выцарапаем из него вменяемые критерии приёмки — никуда не уйдём. Иначе получится «сделали хуйню, но в срок».
- Дробление на куски: Приносят тебе эпик размером с мамонта — «Переделать всю систему оплаты». Ну ты смотришь на это и думаешь: «Ёпта, да мы это до второго пришествия пилить будем». А вот хуй там! Берёшь и пилишь этого мамонта на стейки, блядь. На такие кусочки, чтобы за спринт можно было сожрать и не подавиться.
- Споры про цифры: А это самое весёлое, в рот меня чих-пых! Все садятся, тыкают в карточки пальцем и начинается: «О, это на пять стори поинтов!». «Да ты что, с ума сошёл? Это же на восьмёрку, тут пол-бэкенда перелопатить!». А я там как миротворец, блядь, чтобы до мордобоя не дошло.
- Чек-лист «Сделано»: И главное — следил, чтобы у каждой задачи был чёткий список: «Вот это сделал — можешь идти пить чай. Всё это не сделал — сидишь, допиливаешь, пока не закроешь». Чтобы никаких «ну я вроде сделал, но тесты не писал, так сойдёт». Не, сука, не сойдёт!
Вот смотри, как это выглядело на практике:
Берём какую-нибудь хотелку от заказчика, которая звучит как бред сумасшедшего:
Исходная хотелка: "Как пользователь, я хочу фильтровать товары по цене."
После того, как я с ней поработаю на груминге, она превращается не в одну расплывчатую хуйню, а в конкретный план для дебила:
1. Сделать на фронте эту ползунковую штуку, чтобы туда-сюда двигать.
2. Прописать логику, чтобы левая граница не была больше правой, а то пользователи — те ещё изобретатели.
3. Прикрутить эту фигню к бэкенду, чтобы он данные отдавал по запросу.
4. В базе данных поправить запрос, чтобы он не тормозил как черепаха, когда товаров овердохуища.
5. И, наконец, обмазать всё это тестами, чтобы потом не вылезло, что всё ебнулось после очередного коммита.
И знаешь, блядь, в чём прикол? После таких разборов команда переставала бояться этих задач. Всё становится прозрачно, как слёзы ребёнка. Недопонимания — ноль, нагрузка распределяется ровно, и в конце спринта не оказывается, что половину фич вырезали, потому что нихуя не успели. В общем, работа грязная, но кто-то же должен её делать.