Разработчику важно понимать, зачем нужна задача
В своё время я работал руководителем проектов, а сейчас большую часть задач оцениваю уже со стороны разработки. Поэтому я стараюсь оценивать задачу не только с точки зрения реализации, но и понимать, зачем она нужна продукту и какого результата от неё ждут.
На первый взгляд разработчику достаточно требований. Есть экран, несколько состояний, запрос к серверу — можно декомпозировать и поставить условные 5 story points.
Но одного описания функциональности часто недостаточно.
Допустим, задача звучит так: «Добавить повторную попытку операции при ошибке сети». - Можно просто показать кнопку «Повторить».
- А можно сделать автоматическое восстановление, сохранить состояние операции, обработать перезапуск приложения и исключить повторное выполнение.
Оба варианта формально решают задачу.
Чтобы понять, какой из них нужен, важно знать: что это за операция и почему бизнесу важно, чтобы она завершилась? Если это второстепенное действие, которое пользователь легко повторит, простого решения может быть достаточно. Если это оплата, загрузка важных данных или ключевой этап регистрации - требования к реализации будут другими. Вместе с ними изменится оценка.
Конечно, пример условный. В реальном процессе большая часть подобных вопросов, скорее всего, уже будет проработана аналитиком, руководителем продукта и отражена в требованиях.
Но смысл данного поста не в том, что разработчик должен заново делать работу аналитика. Я хочу донести насколько важно самому понимать ожидаемый результат и влияние задачи на продукт.
Потому что нужно оценить именно ту реализацию.
Поэтому при оценке мне важно понимать не только техническую часть, но и контекст: - какой результат ожидает бизнес; - какой пользовательский сценарий меняется; - насколько критична ошибка; - какие последствия нужно учитывать в реализации.
При этом я считаю, что разработчику не стоит просто механически выполнять сформулированные требования.
У нас есть собственный опыт, знание системы и понимание технических ограничений. Если мы видим, что задачу можно решить надёжнее, проще или дешевле — это стоит предложить. Это ОБЯЗАТЕЛЬНО нужно предложить.
Не потому, что разработчик лучше знает продукт. А потому что каждый участник команды смотрит на задачу со своей стороны и может добавить важную часть общей картины.
Поэтому вопросы: «Сколько времени займёт задача?» и «Какого результата мы на самом деле хотим добиться?» для меня тесно связаны.
Чем лучше разработчик понимает второй вопрос, тем точнее сможет ответить на первый.
· 05.09
ок, но вот граничный случай: контекст прилетел через аналитика на груминге, дев заложил 8 sp на идемпотентность, а через два дня продукт говорит «шипим кнопку». в какой момент и через какой канал дев узнаёт, что оценка протухла — или это снова митинг на 30 минут?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 06.09
Да, хороший и частый случай.
Здесь как раз важно фиксировать вместе с оценкой ключевые допущения: условные 8 SP — это не просто «задача стоит 8», а «8 при такой-то реализации и таких-то требованиях».
Если Product меняет сам подход — например, вместо надёжного идемпотентного сценария решает на первом этапе выпустить только кнопку, — это уже изменение исходных условий, и оценку стоит пересмотреть. И ответственность берет за это именно Product.
Отдельный митинг даже на 30 минут для этого, на мой взгляд, не нужен. Достаточно короткого изменения требований в задаче + уведомления разработчика/команды в рабочем канале. Здесь мы касаемся другой очень больной темы как коммуникация внутри команд, а главное доверие друг к другу.
Наверное, это даже ещё один аргумент в пользу того, что оценка без понимания контекста — не самостоятельная цифра, а оценка конкретного решения при конкретных вводных.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён