Зачем разбивать
Крупная задача не оценивается. Пока она не разложена, любая оценка — гадание.
Она не двигается. Задача на две недели неделю выглядит как «в работе», и никто, включая вас, не понимает, сколько сделано.
Её нельзя проверить. Огромное изменение невозможно нормально разобрать: проверяющий сдаётся на третьем файле.
На ней легко застрять. Когда впереди неопределённая громада, садиться за неё психологически тяжело.
Признаки, что задача слишком велика
- Вы не можете назвать срок иначе как «неделя-две».
- В описании больше одного глагола: «сделать форму и настроить выгрузку».
- Вы не понимаете, с чего начать.
- Она затрагивает несколько несвязанных частей системы.
- Её невозможно закончить за один-два вечера.
Последний признак — самый практичный. Правило: если кусок не помещается в один-два подхода, дробите дальше.
Три способа разбиения
По шагам пользователя. Самый естественный. Задача «личный кабинет» разбивается на: вход, просмотр профиля, изменение профиля, смена пароля. Каждый кусок — законченное действие, которое можно показать.
По слоям. Хранение → логика → интерфейс. Работает, но с оговоркой: три недели делать хранение, которое ничего не показывает, вредно для мотивации и опасно, потому что ошибку в замысле обнаружишь поздно.
Лучше комбинировать: взять один сценарий и сделать его насквозь через все слои. Тонкий срез, но работающий.
По уровню готовности. Сначала простейший работающий вариант, потом улучшения. Форма без проверок → с проверками → с подсказками → с сохранением черновика.
Правило проверки результата
После разбиения каждый кусок должен быть:
- Понятным. Ясно, что делать.
- Оцениваемым. Можно назвать срок без гадания.
- Законченным. По результату видно, готово или нет.
- Небольшим. Один-два подхода.
Если какой-то кусок не проходит проверку — дробите его дальше.
Частая ошибка: разбиение на неполноценные части
Плохое разбиение: «сделать половину формы». Непонятно, что это значит и как проверить.
Хорошее: «форма принимает данные и сохраняет, без проверок» — потом «добавить проверку введённого». Оба куска можно показать и проверить.
Принцип: каждый кусок должен что-то делать целиком, пусть и в упрощённом виде.
Что делать с исследованием
Иногда непонятно, как вообще подступиться. Тогда первым куском ставится не работа, а изучение: «разобраться, как устроен обмен с этой системой, полдня, по итогам оценить остальное».
Это нормальная и честная практика. Гораздо лучше, чем неделю копать под видом разработки.
В своём проекте
Разбиение — навык, который тренируется только практикой. Возьмите свой замысел и разложите до кусков по одному вечеру. Первый раз получится плохо: часть кусков окажется вдвое больше, чем казалось.
Это нормально, и именно так набивается рука. Через два-три проекта вы начнёте видеть скрытые части сразу.
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Pair programming: when it helpsHow it works, why two people are sometimes faster than one, when it's justified, and when it only gets in the way.
- Парное программирование: когда полезноКак это устроено, почему вдвоём иногда быстрее, чем поодиночке, когда это оправдано и когда только мешает.
- Breaking a large task into piecesSigns a task is too big, three ways to split it, and the rule for checking the result.