Слово о команде разработки. Часть 2: Место команды в матричной структуре компании
Привет Хабр! В предыдущей статье я рассказал, какие роли в команде были в той компаний. В этой статье пойдет речь о том какое место занимала команда в орг структуре компании. Начнем с того, что есть два типа руководителей: линейный и проектный.
Проектный руководитель aka Руководитель Команды
Временны руководитель в рамках проекта и собранной команды. Project Manager. Заниматься задачами, связанными с текущими потребностями проекта.
Линейный руководитель.
Руководитель IT отдела. Вице-Президенты по Аналитике, Тестированию, Разработке и т. д. Устанавливают стандарты и инструкции по работе в своей сфере. Нанимают и собеседуют людей. Выделяют людей для команд в проекты. Например, Вице-Президент по QA описывает как должны выглядеть тест-кейсы. Как рассчитывается KPI работы QA и т. д. Вице-Президент по Java разработке может глянуть по просьбе PM код и дать оценку его качества. Code-Review. Если PM не уверен в оценке, например в 16 часов данной ему Java разрабом в команде он может сходит к Вице-Президенту по Java разработке и у него уточнить действительно ли это вот потребует столько времени. Обычно предпочитают такие вопросы решать в рамках команды через p2p ревью кода (разрабы ревьювят код друг друга) и покер планинг (каждый разраб говорит сколько времени займет задача и берут среднее значение). Так же линейный руководитель занимается ростом и развитием своих подчиненных.
Команда в итоге была мини компанией внутри компании, где у каждого члена команды есть линейный руководитель и проектный руководитель всей команды.
На рисунке изображена схема, где есть команда, включающая в себя несколько сотрудников. Обычно одна команда — это одно решение (Solution) или одна система, включающая в себя множество продуктов. Тут нарисовал упрощенную схему и не стал отображать всех Вице-Президентов. По разработке мобильных приложений под Android, Фронтенд React, Бекенд на Java, Бекенд на PHP и т. д.
ВП — Вице-Президент.