Не итерируй

Published on Mar 21, 2021

Делаешь форму логина и говоришь: «Пока так, выкатим MVP, в следующей итерации поправим».

Потом добавляешь разбиение задач на группы. Пока так, а потом поправим. А в следующей итерации создаешь проекты для групп задач. Ну пока так, главное выкатить, а потом поправим.

А вот Ryan Singer в подскасте с Adam Wathan (https://fullstackradio.com/131) сказал такую вещь: «Мы как индустрия переоцениваем итерации».

Проблема в том, что через полгода у тебя полухреновый сайт. «Поправить» — это не одна неделя и не один месяц. Это еще столько времени, что ты даже не можешь дать прогноз. «Поправить» — это очень неопределенно. (До какой степени править? Форму логина можно и год делать.) К тому же, ты выпал из контекста тех решений, которые принимал, когда был погружен в каждую из задач.

И ты в яме. Дальше так жить нельзя — сами же говорили, что потом поправим. Надо править. Но не понятно, что и до какой степени. И это не неделя и не месяц. А проекту надо вообще-то идти вперед, там другие задачи есть. Куда же без них.

А как надо было?

Райан и тут очень красиво сказал. Когда ты делаешь новую фичу — всё, она здесь до конца жизни проекта. (Потому что, скорее всего, так и будет.) Тебе нужно принять много разных решений и намеренно отказаться от разных хороших идей и пойти на компромиссы, чтобы сделать её за разумное время. Но ты принимаешь решения и выкладываешь — так, чтобы с этой фичей можно было без стыда и без обязательства «поправить» дожить до конца проекта.

В итоге твой проект всегда готов. Идет от одного готового состояния к другому. Багаж недоделок не копится. Сайт всегда можно оставить в таком состоянии, как есть — и он будет жить, не требуя внимания.

Это — свобода!

--
Заметки
Ryan Singer — дизайнер в Basecamp
Adam Wathan — создатель Tailwind CSS
Shape Up — книга о том, как делатся проекты в Basecamp (https://basecamp.com/shapeup/webbook)