December 25, 2020

Включайте подготовку в задачу

Допустим есть заказчик, который обращается к вам раз в полгода. Он пришёл в очередной раз и хочет, чтобы вы сделали на его сайте корзину покупок. Вы можете приступить на следующей неделе. Так как это большая задача, вы написали план работы:

— пн: создание моделей и контроллеров и предствалений для корзины: кнопка «добавить», список товаров, оплата, список заказов с их состояниями.

— вт-ср: написание тестов и логики работы корзины.

— чт: сборка на тестовом сервере, показ заказчику, согласование

— пт: деплой

(Это, безусловно, нереальный план, но для нашего обсуждения пойдёт)

Объявили о своих намерениях заказчику, он согласился. Вы продолжаете работать над текущими задачами, размышляя на фоне о корзине. Внезапно вы осознаёте, что уже не очень хорошо помните как в том проекте что устроено, полгода ведь прошло и решаете выкачать последнюю версию кода из репозитория. Выкачиваете, а там 46 изменённых файлов и 4237 новых строк кода!

Теперь придётся это всё просматривать и разбираться, кто и зачем это всё написал и как это повлияет на вашу задачу. Нужно выделять на это время, значит посиделки с друзьями сегодня вечером в пролёте.

Разбирая код, вы обнаруживаете, что кто-то как раз пытался сделать корзину. Узнаёте у заказчика, он вспоминает, что три месяца назад он попытался поработать с другим подрядчиком, но у них не сложились отношения.

Вам теперь совсем непонятно, что конкретно там было сделано, можно ли это полностью откатить или попытаться это доделать.

В этот момент вы осознаёте, что у вас нарисовались адские выходные, потому что вы уже занимаетесь задачей, а планировали с понедельника.

Давайте теперь отмотаем время на начало истории, когда вы сели писать план и перепишем его:

— пн: приём текущего состояния проекта, обновление кода, сборка, анализ изменений.

— вт: выбор оптимальной тактики: написание собственной корзины, использование сторонней библиотеки, внешнего сервиса.

— ср: согласование тактики с заказчиком, написание плана работ, согласование плана работ по реализации согласованной тактики.

Вуаля, теперь вам не нужно думать о задаче до понедельника. Посиделки с друзьями и выходные спасены!