😰Постмортем на задачку.
В сентябре мы взялись за задачу, которая изначально показалась сложной, но выполнимой в предсказуемые сроки.
Для меня сроки – это супер-важная штука. Потому что сроки – это про доверие, а доверие, ну сами понимаете. Лучше его беречь в общем.
С момента образования команды в марте, мы соблюдали все поставленные сроки. В крайнем случае укладывались в интервалы погрешности.
Это получалось по нескольким причинам – все задачи были новым функционалом в отдельных компонентах и их удавалось легко декомпозировать без встревания в легаси. А еще мы неплохо научились составлять приемочные критерии к задачам, которые давали довольно четкое понимание того, как будет выглядеть готовая задача, но при этом оставляли достаточно свободы для оптимальной технической реализации.
В чем ситуация?
😞 В сентябре мы взялись за задачу, которую пообещали сделать за две недели. И вот в ноябре мне стыдно, что задача все еще в разработке. Почему стыдно? Ну потому что выполнение этой задачи в срок позволило бы ребятам в пиццериях проще пройти пики в ноябрьские праздники. Время пиздецовое, хотелось успеть функционал, который немного бы помог не сгорать на работе.
В общем, тут моя рефлексия на то, что пошло не так, и как бы могло пойти, если бы все было так.
❌ Какие были проблемы:
🔘 Один раз код пришлось полностью выкинуть. Из-за того, что логика легаси оказалась несовместима с изначально планируемым дизайном фичи.
🔘Потратили много времени на обсуждение двух вариантов решения, оба из которых через две недели разработки оказались неверными.
🔘Много неуверенности в работе под нагрузкой. Просто не знаем, как поведет себя одна из нагруженных таблиц, которая задействована в функционале.
🔘При планировании сроков не совсем глубоко исследовали старый функционал. В итоге не знали, как он будет работать в интеграци.
🔘Мне показалось, что я уже крутой опытный синьор и легаси мне ни по чём. Поэтому мы положили хуй на фактор легаси и фактор того, что мы мало работали в той области.
✅ Что мы сделали хорошо:
🔘Изначально ограничили количество пиццерий, на которых будем тестировать фичу
🔘Изначально постарались упростить первый вариант задачи по функционалу
🔘Взяли три дня на исследование легаси
🔘Сформулировали приемочные критерии
🤟Что бы помогло в следующий раз снизить боль от работы.
🔘Возможно документация по этому легаси нам помогла бы хоть немного. Хотя бы понять, что мы встрянем в это дерьмо надолго. Хотя бы задуматься об этом.
Сейчас доделаем наконец этот функционал. Надеюсь, что на проде все будет хорошо. Пишем сценарии для тестов и покрываем ими вот это все. Дальше ждет прод и проверка фичи на одной пиццерии на проде. А потом улучшение этой фичи для раскатки на большее количество пиццерий.
⏳ Что делаем перед следующим этапом задачи:
🔘Позвали одного из самых охуенных наших инженеров по тестированию, чтобы он помог нам составить и требования к следующей задаче и тест-кейсы и проследил, чтобы мы не филонили в покрытии тестами.
🔘Напишем доку по тому что сделали и тому, что раскопали.
🔘Измерим нагрузку, которую создает наш функционал на нагруженную таблицу и если нужно оптимизируем запрос и работу с базой.
🤬А еще будем учитывать фактор осени в следующем году. Ибо осенью мозг работает в пол силы. Нужно брать что-то менее амбициозное. (Кстати, ставь лайкосик, если тоже к осени опадаешь, как кленовый лист! 🍁)
#опыт #процессы #постмортем
Post #107
104
- ❤ 3