Когда мы открывали вакансию в поисках нашего первого менеджера проектов полтора года назад, то сформулировали очень коротко суть его работы: стыковать ожидания клиентов с результатами работы команды. С тех пор эта тема всплывала в нашей работе очень регулярно.
Сама по себе формулировка из вакансии является ожиданием компании по отношению к будущему сотруднику. К нам постепенно приходило понимание, что работа с ожиданиями всех участников процесса разработки проекта и всей компании является одним из ключевых элементов и очень важна для комфортной и результативной работы.
Поэтому недавно мы решили сформулировать сами для себя, какие ожидания есть у компании по отношению к своим сотрудникам.
Процесс
Процесс формулирования мы разбили на несколько частей. Сначала на одной из ретроспектив все вместе выписали на доске список всех ролей, которые присутствуют у нас в компании.
красными кружочками обозначены роли, не относящиеся к текущим сотрудникам
Роль мы понимаем как совокупность некоторых навыков, задач и обязанностей. Мы компания небольшая, поэтому по сути каждый сотрудник может выполнять задачи сразу нескольких ролей, которые в крупных компаниях распределяются между гораздо большим количеством людей.
Заданием на следующую ретроспективу было составить список того, какие задачи какая роль должна выполнять. Организовано это было специально, чтобы вовлечь всю команду в обдумывание темы.
На следующей ретроспективе у нас было два документа и один pull request в книгу знаний. Документы составляли ребята, разбившись на две команды. PR подготовил я сам, уделив вопросу много времени и внимания.
Мы все вместе выписывали пункты из списков ребят на доску, группируя в два новых: менеджер проектов и программист. Почему так? Потому что по факту именно такие две гипер-роли присутствуют у нас сейчас в компании помимо управляющего.
Мои же ожидания изначально были подготовлены как два списка. Они и легли в основу итогового результата. Как раз в этот период мне попалась на глаза статья Role Expectations Cheat Sheet, описывающая ожидания от программистов в компании King. Мне понравилась структура, а подход согласуется с моим видением вопроса.
Результат
В результате в нашей The Book of Knowledge появился новый раздел Ожидания от сотрудников (Role expectations), в котором на данный момент есть две статьи: для программистов и для менеджеров.
Ожидания призваны давать более широкую картинку и ясно показывать, что от сотрудников ожидается не только написание кода или составление планов проектов. Ожидания показывают, что каждый сотрудник также влияет на работу коллег и команды в целом.
Цель списков ожиданий не в том, чтобы оценивать или квалифицировать, а в том, чтобы прояснять и быть отправной точкой для обсуждений, в каком направлении сотруднику стоит развиваться.
Ниже приведены оба списка.
Ожидания от программистов
Основное
- Имеет базовое понимание технологического стека, используемого в компании
- Имеет углубленные знания в технологии, являющейся основной для работы
- Пишет работающий и стабильный код
- Придерживается общих стандартов и стиля оформления кода, принятых в компании или на проекте
- Пишет читаемый код, понятный коллегом по компании/проекту
- Пишет тесты и соответственно код, который можно тестировать автоматизировано
- Принимает архитектурные решения
- Проводит code review коллегам независимо от участия в проекте
- Разбирается не только в коде, но и инфраструктуре в целом
- Регулярно предоставляет качественный результат своей работы коллегам и/или клиентам
- Помогает коллегам по компании/проекту, делится знаниями (в беседе, с помощью доклада, статьи, рассказа, примеров)
Работа в команде
- Умеет давать качественную обратную связь и адекватно воспринимать её от других
- Имеет хорошее представление о смежных технологиях, используемых в компании/проекте
- Участвует в повышении качества работы команды как с точки зрения кода и архитектурных решений, так и со стороны рабочего продукта в соответствии с ожиданиям заказчика
- Помогает поддерживать выполнение договорённостей внутри компании и команды относительно процессов и работы с кодом
- Проактивно участвует в командных обсуждениях (например, проектов или процессов), а также во встречах с клиентами
- Умеет высказать и обосновать свою точку зрения
- Заботится не только о технической стороне проекта, но и смысловой
- Умеет правильно писать и придерживается договоренностей команды относительно письменных коммуникаций
Работа в компании
- Без труда взаимодействует с командами других проектов и/или другими сотрудниками в целом
- Способствует обмену знаний между коллегами особенно, работающими на разных проектах
- Участвует в формировании процессов работы компании
- Участвует в процессе поиска новых сотрудников
Личное развитие
- Принимает на себя ответственность за свои решения, личное развитие, а также за результат своей работы
- Постоянно совершенствует свои навыки, как основные, так и смежные
- Остается в курсе новых технологий/практик/подходов, актуальных для работы
- Не боится экспериментировать
- Не боится выходить за рамки своей роли и зоны комфорта
- Проактивно участвует в конференциях, технических сообществах
- Представляет компанию в рамках мероприятий сообществ и конференций
Инновации
- Анализирует и предлагает способы улучшить текущие процессы в работе компании/команды
- Изучает новые инструменты/практики/технологии и экспериментирует с их использованием в рамках работы компании
Ожидания от менеджеров проектов
Основное
- Стыкует ожидания клиентов с результатами работы команды
- Прорабатывает с заказчиком нюансы проекта
- Помогает заказчику найти решение для его бизнес-задачи
- Планирует работу по проекту и распределяет нагрузку на команду/компанию
- Умеет формулировать задачи программистам по SMART
- Совместно с командой приоритезирует задачи в соответствии с бизнес-потребностями заказчика
- Контролирует выполнение работ по проектам в срок и с надлежащим качеством
- Контролирует рентабельность проектов для компании и принимает меры в случае проблем с ней
- Помогает разработчикам с пониманием бизнес-требований
- Имеет уверенное представление о технологиях, используемых командой
- Ориентируется в сложности реализации функционала проектов
- Организует работу команды в соответствии с выбранной методологией
- Планирует и структурирует встречи, показы, созвоны, демонстрации
- Отвечает за организацию сдачи-приёмки работ заказчику
- Самостоятельно и оперативно принимает решения относительно хода проекта и взаимодействия команды и заказчика
Работа в команде
- Выстраивает взаимодействие команды проекта с заказчиком
- Заботится об эффективной и комфортной работе команды/компании
- Заботится о качестве коммуникации в команде
- Умеет давать качественную обратную связь и адекватно воспринимать её от других
- Помогает поддерживать выполнение договорённостей внутри компании и команды относительно процессов
- Проактивно участвует в командных обсуждениях (например, проектов или процессов), а также во встречах с клиентами
- Умеет высказать и обосновать свою точку зрения
- Умеет правильно писать и придерживается договоренностей команды, относительно письменных коммуникаций
Работа в компании
- Без труда взаимодействует с командами других проектов и/или другими сотрудниками в целом
- Способствует обмену знаний между коллегами особенно, работающими на разных проектах
- Участвует в формировании процессов работы компании
- Участвует в процессе поиска новых сотрудников
Личное развитие
- Принимает на себя ответственность за свои решения, личное развитие, а также за результат своей работы
- Постоянно совершенствует свои навыки, как основные, так и смежные
- Остается в курсе новых технологий/практик/подходов, актуальных для работы
- Не боится экспериментировать
- Не боится выходить за рамки своей роли и зоны комфорта
- Проактивно участвует в конференциях, технических сообществах
- Представляет компанию в рамках мероприятий сообществ и конференций
Инновации
- Анализирует и предлагает способы улучшить текущие процессы в работе компании/команды
- Изучает новые инструменты/практики/технологии и экспериментирует с их использованием в рамках работы компании