На недавнем звонке random coffee — это такая форма нетворкинга, которой я раз в неделю радостно предаюсь — зашла речь вот о чем. А как вообще участвовать (вести, тимлидить, заниматься, управлять и даже кодить) в 10+, 15+ проектах и не поехать кукухой. И я такой подумал — действительно, как?
Ну то есть я вон в канале песни про time tracking напеваю. Так что наверно не всё так радужно. Но как-то пока держусь.
Основные сложности представляют, как мне видится, три вещи:
— переключение контекста,
— постоянный поток сообщений,
— и общая ограниченность времени, конечно.
Понятно, что проекты имеются в виду такие, что не требуют 30 часов в неделю вовлечения каждый. Иначе всё бессмысленно и кукуха отбывает в теплые края без нас. Но, тем не менее, они требуют достаточно.
Короче говоря, за годы участия во всём этом параллелизме выработал некоторые привычки, про которые и напишу. Сложно сказать, насколько они критичны, но без них нам с кукухой было бы тяжело бороться с этими сложностями.
Переключение контекста
Говорят, самая тяжелая операция в разработке. Из базовых, конечно.
Во всяком случае, когда-то писали низкоуровневые библиотеки на ассемблерах, так оно и было. Выполнение расчетов — мгновение, а вот это всё: подготовить данные, настроить каналы, переложить туда-сюда всё по стеку и регистрам — вечность.
В нашем случае, переключение контекста это смена проекта в рабочее время. Нужно вынуть из головы всё что ты только что делал, аккуратно где-то сохранить, и положить в голову состояние другого проекта, который ты делал ранее. И над ним работать. Причем, провести операцию нужно самостоятельно, без помощи уверенных рук доктора Г. Лектера.
В общем, это сложно и энергозатратно. Поэтому первое, что нужно сделать, это минимизировать операцию переключения контекста. Например, бросив 7 проектов из 10 Для этого нужно объединять задачи и планировать их выполнение.
Если, скажем, 5 из 10 проектов — это роль тимлида на разработке, спринтами, в Джире, то работа происходит в тикетах и происходит реактивно. Кто-то что-то написал — надо отреагировать. Сделать ревью, ответить на вопрос, сделать эстимейт, или написать концепцию. Обычно это короткие задачи, порой даже переключение на них занимает сравнимое время с их выполнением. Что нужно сделать? Нужно объединить эти задачи в один «спринт» на час-два, и вместо быстрой реакции на каждый тикет отдельно в течение дня — реагировать на пачку тикетов разом. Например, утром и вечером.
Возможно, что некий абстрактный project manager абстрактного тимлида за такой хороший совет пырнёт ножом в абстрактной подворотне. Но мы сейчас про то, как не поехать кукухой тимлиду, а не как порадовать PMа. Да и что он нам сделает, он всё равно в другом городе.
Разумеется, при этом не следует забывать про SLA, оговоренные контрактом, трудовым договором, или другими клятвами условия работы — например, отвечать на тикеты не позже чем через 3 часа в рабочее время, или отвечать на блокеры (критичные тикеты, от которых встаёт работа) в течение получаса. Но даже с такими условиями объединять задачи и обрабатывать их пакетно вполне реально, и PM тоже будет доволен.
И если так делать, то вполне реально на те проекты, где надо кодить (или думать, или писать длинное ТЗ), выделить подряд часа 2–3 без прерываний. И тогда разработка пойдет, во всяком случае пока в наш процесс не ворвётся
Поток сообщений
Проекты, и для роли тимлида, и для любой другой роли, постоянно генерируют коммуникации. Главное, чего не нужно делать — каждый раз, когда дзынькает почта или телега (выключи звук, кстати) — бросать всё и бежать в Джиру смотреть, кто там шумит на этот раз. Не отвлекайся. Будешь делать этот проект — посмотришь. Ну или когда кофе пить пойдешь, если больше за кофе заняться нечем.
Кстати, инструменты типа Джиры (или yougile, или другие трекеры) — наши друзья, кто бы что ни говорил. Они могут быть тормозными, глючными, перегруженными функциями, какими угодно. Но именно они дают нам хорошие срезы состояния проектов. Что происходило, что сейчас происходит, чего следует ожидать. И если ты ведешь какой-то проект в соло, то без них можно (хотя какой-то трекер у тебя все равно будет). А если с командой — то вообще нельзя.
В общем, нужно обязательно научиться не отвечать на сообщения сразу, если занят. Для тренировки, кстати, помогает простое упражнение — когда получаешь сообщение по работе, просто не отвечай хотя бы пять-десять минут. Даже если не занят (почему ты не занят, кстати?) — все равно не отвечай. Тренируйся. А если такая тренировка даётся легко, у неё есть уровень со звездочкой: заведи заказчика, который каждое свое сообщение в мессенджер сопровождает звонком по телефону, если через 2 минуты не получил ответ. У меня такой был — тренировка отличная. «Почему не отвечаете?! Это срочно!!! Мне нужен ответ немедленно!!!» — или что-то такое я мог бы услышать, если бы брал трубку.
Возможно, теперь в абстрактной подворотне абстрактного тимлида с такими хорошими советами поджидает на разговор уже несколько человек.
Чтобы снизить поток сообщений, направить его в полезное русло, и возможно немного облегчить себе работу с ним, попроубуй ознакомить особо общительных коллег с какими-нибудь советами по коммуникациям. Например, с этими. И тогда в отдельно взятом проекте возможно удастся войти в
Состояние потока
Как ни странно, это не только наш друг, но и наш враг. Это прекрасно, когда мы вошли в поток по проекту, и решаем задачи одну за другой, и всё получается, и мы сейчас вот это ещё запилим, и вон то! Не очень прекрасно, когда выходишь из этого состояния через два дня, наделав дел, и вспоминаешь, что кажется раньше чем-то ещё занимался… А, да, вот они, 120 сообщений по другим проектам.
Когда проектов много, так конечно нельзя. Поэтому очень желательно ставить в поток четкие задачи с прописанными временными рамками. А когда задачи выполнены —
И когда время прошло, тоже надо остановиться, как бы ни было обидно. И пойти делать другую работу.
Поэтому я обычно ставлю задачи, которые меня ввергают в поток, на вечер. Чтобы можно было увлечься и кодить всю ночь, и никто бы тебя за это не осудил… Ну, кроме близких, на которых ты будешь рычать на следующий день, когда не выспишься. Так что ночных потоков лучше тоже избегать, ага. Но не всегда получается, потому что —
Общая ограниченность времени
Сколько задачи ни объединяй, сколько коллег в мессенджерах ни игнорь, а времени в сутках больше не станет, надо работать с тем что есть. И тут на передний план выходит, по классике, планирование и приоритезация. Нужно вести заметки, списки задач, нужно их ранжировать и планировать, и конечно нужно чтобы это не отнимало полдня каждый день. Особой разницы как именно это делать, какими средствами и по каким принципам — как мне думается, нет. Главное чтобы было удобно и наглядно. Как говорил старина Дэвид Аллен, выбирая, что ты сейчас будешь делать, важно видеть список того, что ты сейчас делать не будешь. Соотственно, эту важную задачу средства должны решать.
У меня эти средства эволюционировали за годы работы и в принципе основные задачи решают: можно понять, что нужно сделать, когда нужно сделать, и что выбрать прямо сейчас. Описана эта, как мог сказать бы А. Нимцович, моя система — здесь. Но нюансы ее устройства не принципиальны, главное что она должна быть.
Кроме того, чтобы облегчить себе жизнь, я стараюсь следовать некоторым принципам, и по возможности знакомить с ними коллег. Это позволяет заказчиков держать в состоянии радости, а также стимулирует коллег эту радость причинять.
А еще, конечно, не повредит
Time tracking
Отслеживать время, уделенное проектам — полезно. В первую очередь, чтобы иметь возможность не просто рефлексировать о прошедшей рабочей неделе, а рефлексировать вместе с фактами. Что на самом деле вышло:
— ты в целом ленился и потому ничего не сделал?
— ты слишком много времени уделил постам в бложек личному бренду и болтанию в чатах нетворкингу?
— проект B сожрал 70% рабочих часов и на остальное ничего не осталось?
Этой практикой я занимаюсь с перерывами, пока полезно — меряю. Со временем замечаю, что больше пользы никакой тайм трекинг не наносит — перестаю. Потом возникают сомнения — меряю опять.
Ну и, вместо заключения
Самое главное
Всегда надо понимать, когда кукуха уже на пределе. Когда на вопрос, хочешь ли ты взять 129-й проект на 5 часов в неделю, пора ответить — увы, коробочка полна, горшочек, не вари. И не брать этот самый проект.