was successfully added to your cart.

Корзина

Циклотимия разработки

Скрумы, Агили или еще что у вас, это неважно, если вы работаете циклами / итерациями / спринтами, то вам может быть полезно.

Звонок для учителя, а итерация для заказчика и команды

Вы должны помнить, что итерации нужны не только для «контроля процесса разработки», но и для людей, а именно заказчика и команды: в конце каждой итерации приглашайте на отдельную встречу всю команду и заказчика.

Это называется All-hands meeting.

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

Когда команда узнает заказчика, как человека, она проникается к нему симпатией и начинает понимать, что «данный проект принесет вот этому конкретному человеку пользу» и эта мысль сильно мотивирует работать.

А Заказчику становиться спокойнее, поскольку он понимает, что его проект делают люди, которых он хоть немного, но знает, а значит может доверять кому-то конкретному, а не «отделу разработки».

50 оттенков тасков

Обязательно различайте и фиксируйте все типы новых задач:

  1. Новый важный функционал (50-80%)
  2. Новый неважный функционал (20-50%)
  3. Правками ошибок (10%) (непредвиденные ошибки,  потенциальная регрессия)
  4. «Чистка» существующего функционала (0-15%) (технический рефакторинг)
  5. Переделка того, что уже было сделано (0-10%) (бизнес-рефакторинг, регрессия)
  6. Переход задач из предыдущей итерации в новую (0%)

Прям создайте специальные флажки/тэги/пометки с такими названиями и добавляйте их к задачам.

Дальше следите за процентами в спринтах:

Новый критичный функционал (50-80%) — именно этот функционал двигает продукт и его доля в проекте должна быть наибольшей

Новый некритичный функционал (20-50%) — если этих задач много, значит, вы или успешно справляетесь и критического функционала не остается, или ваш продуктолог глупенький и не умеет приоритезировать фичи. Перепроверяйте себя, когда количество подобного функционала перевешивает в спринте «новый критичный функционал».

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

«Чистка» существующего функционала (0-15%) — рефакторинга быть не должно, но он бывает. Часто так бывает, что принцип «работает не трожь» жизненно необходим для проекта. Выделите красного архитектора, который будет следить за балансом «говнокода» и «почти-говнокода». Такой архитектор будет аналогом red team отдела ЦРУ,  который проверяет все решения на уязвимости — доверяйте такому человеку всецело, когда он говорит на какую из качелей можно подкинуть новый код.

Переделка того, что уже было сделано (0-10%) — тут вопрос: «Вы переделываете, потому что сделано плохо/не так, как просили»? Ставите счетчик факапов на разработчика + на того, кто выставляет задачу и следите.

Попадает из предыдущей итерации в новую (0%) — самая частая вещь, но ее процент нужно понижать до самого минимума, поскольку несоблюдение именно этого правила полностью рушит смысл итеративной разработки.

Алгоритм формирования задач и вероятности проёба

Не понимаете команда перегружена или недогружена? Попробуйте посчитать время:

Берете срок спринта, например, 2 недели = 10 рабочих дней. Умножаете на 8 часовой рабочий день = 80 часов на человека. Умножаете на количество людей, например 10 = 800 часов. Поздравляю, ваш пул времени = 800 часов.

Далее показываете задачи, чтобы команда их себе набрала и просите каждого отдельного разработчика оценить их и считаете полученное количество часов. Например 640 часов.

Значит, 800 — 640 = 160 часов – это ваш страховой бюджет на ошибки при просчете времени + на неожиданные ситуации.

По итогу спринта посмотрите насколько удалось израсходовать это время и не при этом не перерасходовать нервы.

Если же при расчете получиться 1200 часов, то есть огромный шанс, что вы или не успеете, или ебнетесь в процессе.

В общем, такой просчет просто один из удобных инструментов прогнозирования ситуации.

Как передавать задачи

О хорошем способом передачи задач рассказывает Федор Борщев – техника «пуш» и «пулл» (читать обязательно)

«Пуш» – это когда вы впихиваете задачи в исполнителей, даже если не впихуется.

«Пулл» – это когда вы показываете задачи спринта и исполнители сами выбирают какие будут делать.

Как бить по часам

При оценке задачи советую использовать количество часов 1, 2, 4, 8, 16, 24 — все что выше стоит бить на более маленькие задачи, чтобы они помещались в эти временные отрезки.

Всегда нужен свободный карман

В идеале, при пуле времени на 800 часов, нужно оставить 20% (160 ч.) на ту «критику» которая появится в процессе спринта (например, супер критическая ошибка на проде из-за ошибки провайдера), 10% (80 ч.) времени на то, что неправильно оценил даже тимлид и остальные 70% уже на задачи (560 ч.)

Все еще проблемы?

Так и не получилось у вашей команды въехать в Скрумы и Агили? Тогда напишите мне, попробую помочь настроить ваши процесс.

Немного про меня

Последние 6 лет я занимаюсь запуском, развитием и сопровождением IT-проектов. Работаю быстро, честно, открыто. Нахожу уникальные решения под каждый отдельный кейс.

А еще я пишу о своем опыте в Телеграме. Опасайтесь подделки: я никогда не напишу целую статью хотя бы без одной грамматической ошибки и слова «хуй», потому что это будет противоречить моему бренду («чистый код, грязное письмо»). 

Давид Шекунц — outsource технический директор с расширенным функционалом.

Интересно поработать вместе? Пишите

Гораздо больше контента и развлечений в Telegram-канале