Считаем в «майках»: как ИТ-компании спланировать свою работу, чтобы не потерять клиентов и сотрудников
Любой контракт – это дедлайн. Государственный контракт – это жесткий дедлайн, где соблюдение сроков и качественное выполнение взятых на себя обязательств обеспечивает исполнителю не только доход, но и репутацию.
ИТ-компания «Платформа» работает с крупными компаниями государственного сектора, поэтому соблюдение договоренностей является для нас первоочередной задачей. Штрафы и репутационные риски не позволяют расслабиться, но, вместе с тем, важно не задушить коллектив сверхурочной работой и постоянными форс-мажорами.
Поэтому я попросил нашего технического директора Дмитрия Авчухова рассказать, каким образом четкое планирование и выбор правильных инструментов помогают выдерживать сроки, получать новые выгодные контракты и не травмировать коллектив.
Для чего нужно планирование
Внутри компании в любом рабочем процессе задействованы, как минимум, две заинтересованные стороны. Во-первых, коммерческий отдел, который заключает контракты и стремится к тому, чтобы клиентов было как можно больше. Во-вторых, продуктовый отдел и разработка, которым нужно выполнить работы, обозначенные в контрактах, качественно и в срок. Чтобы коммерсанты и разработчики понимали друг друга, мы внедрили систему квартального планирования.
Этому во многом способствовала специфика нашей работы: у нас много клиентов – государственных компаний, а они считают бюджеты на год вперед. Следовательно, и мы понимаем, какие у нас есть контракты на ближайшие 12 месяцев. По ним известны объемы работ и даты окончания проектов. Конечно, у нас, как и у любой другой компании, бывают «влёты» – новые клиенты, которые появляются в течение года.
Чтобы это не обернулось вечным трудовым подвигом, необходимо было создать систему, куда можно вписать новую задачу. Поскольку мы на рынке уже более 10 лет, у нас накопилось довольно много ретроданных. Вот только относительно «влётов» что-либо планировать сложно, потому что новые клиенты появляются неравномерно и непредсказуемо.
Как увидеть все задачи, которые нужно выполнить в рамках квартала
Контракты попадают в нашу систему планирования, если вероятность их заключения более 80%. Как правило, это масштабные задачи, над выполнением которых работают сразу несколько команд разработчиков. В настоящий момент у нас семь кросс-функциональных команд, а также есть сервисные команды и специалисты, которые работают на всех направлениях.
В первую очередь мы составили иерархическую структуру в Jira:
Первый уровень: «Активности» – проекты, которые нужно реализовать
Второй уровень: «Эпики» – большие задачи, объединяющие в себе несколько задач
Третий уровень. «Задачи» – конкретные задания для разработчиков
Также мы разбили «Активности» на подтипы, чтобы была возможность их сгруппировать. Таким образом, придерживаясь этой иерархии, коммерсанты заводят проекты, а команды разработок наполняют их конкретными задачами.
Что делать с новыми задачами, которые «прилетают» в качестве сопровождения текущих активностей
Важно, что мы выделили отдельный подтип активностей «Без конкретных работ». Так мы понимаем, что по некоторым задачам нет работ, которые мы можем запланировать заранее. В этих активностях возникают только задачи по сопровождению, и их мы можем планировать с помощью исторических данных.
Мы создали таблицу в Excel, в которую внесли информацию по трудозатратам всех команд разработчиков, задействованным в выполнении задач. В будущем мы планируем перенести эту таблицу в дашборд, чтобы получать актуальные данные на постоянной основе.
Как категории работают на практике
Вот так выглядит планирование одной из наших команд. Здесь мы видим основные категории:
1. «Общая» показывает все трудозатраты команды и трудозатраты каждого участника.
2. «Без категории» отображает время, потраченное на задачи, категорию которых мы на данный момент не можем определить. (Да, мы понимаем, что процент таких задач нужно снижать и работаем над этим).
3. Категории «Сопровождение Служба поддержки», «Сопровождение Баги», «Контракты внедрений и поставок. Служба поддержки» показывают, сколько времени в процентном соотношении мы потратили на то или иное сопровождение в первые два квартала. Исходя из ретроданных, мы можем сделать прогноз, сколько времени команда потратит на выполнение этих задач в следующем квартале. В нашем случае – 24%.
4. Категория «Остаток Плановые работы» – это и есть наш ресурс на новый квартал, который мы прогнозируем на основе исторических данных.
Как построить прогноз на квартал
Чтобы составить прогноз на следующий квартал, мы:
1. Собираем информацию о ресурсах команды. Это количество часов в квартал, которое коллектив реально может потратить на выполнение задач.
2. Берем ретроданные за предыдущие два квартала и нормируем их по составу и ролям в команде.
3. Не забываем про такие факторы, как отпуска, время на созвоны и т.д. У нас на это уходит около 10% времени.
Таким образом, посчитав все показатели, мы пришли к выводу, что у команды на запланированные работы остается в третьем квартале около 1 506 человеко-часов. Запомним эту цифру!
Как быстро и легко подсчитать ресурсы
На определенном этапе мы поняли, что оценивать каждую задачу в часах с разбивкой по ресурсам – это долго, дорого и не всегда точно, поэтом решили оценивать их в «майках». Для этого мы используем привычные всем нам размеры S, M, L и XL.
«Майки» мы также рассчитали на основе исторических данных – похожих задач, выполненных в прошлом. К оценке уровня задач мы привлекли команды, задействованные в их выполнении. У нас получились следующие значения «маек»:
S – на выполнение задачи необходимо ориентировочно до 3 часов
M – на выполнение задачи необходимо ориентировочно до 14 часов
L – на выполнение задачи необходимо ориентировочно до 24 часов
XL – на выполнение задачи нужно ориентировочно до 43 часов
Теперь мы можем автоматически (конечно, с применением ИИ) оценивать задачи просто по их описанию и основным компонентам. Этот подход мы успешно обкатали и планируем внедрять во всех наших командах.
Внедрение наглядной приоритизации позволило нам составить новую сводную таблицу по трудозатратам и бюджету рабочего времени. Вот такую:
Здесь мы видим, что общие трудозатраты на третий квартал примерно равны 2 230 человеко-часам. Но мы помним, что ресурс команды составляет 1 506 человеко-часов. Причем и в первом, и во втором случае прогноз довольно точный, поскольку он сделан на основе данных за прошлый квартал. Следовательно, нам нужно либо отказаться от каких-то работ, либо усилить команду за счет принятия своевременных управленческих решений.
Плюсы квартального планирования:
1. Прозрачность процессов. Мы всегда знаем, сколько времени и людей нам потребуется на решение той или иной задачи, и можем вовремя предупредить нештатные ситуации.
2. Снижение репутационных рисков. Мы готовы заключать контракты с крупными государственными организациями, поскольку уверены, что уложимся в сроки.
3. Улучшение микроклимата в коллективе. Каждый сотрудник понимает, в каких процессах он задействован и к какому дню он должен выполнить ту или иную задачу.
Таким образом, применяя простые и наглядные алгоритмы, мы научились выстраивать план работы на квартал, причем делать это системно, быстро и довольно точно.