Кто такой IT-менеджер?

2013-10-10

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

По сей день можно встретить недоумение в среде российских разработчиков в стиле: «Да зачем он нужен, этот менеджер?»

Давайте разберёмся: а действительно, зачем?

Здесь уместно вспомнить классическую книгу Фредерика Брукса «Мифический человеко-месяц, или Как создаются программные системы». В этой книге выводится основной закон Брукса:

 

Если проект не укладывается в сроки, то добавление рабочей силы задержит его ещё больше

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

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

Под IT-менеджментом, как правило, понимаются люди, известные в англоязычной среде как PM: продукт-менеджеры и проект-менеджеры. 

Существует всего две категории людей, занятых в IT-менеджменте: 

А) люди, имеющие опыт программирования/разработки/инжиниринга

Б) люди, не имеющие опыт программирования/разработки/инжиниринга. 

И в том, и в другом случае есть свои сложности. Считается, что не IT-шник не очень понимает специфику разработки. А IT-шник не очень понимает людей и тонкости продаж.

Очень немногие специалисты могут похвастаться серьёзным опытом и в той, и в другой сфере. Однако, находятся люди, имеющие настоящий талант в управлении разработкой продукта. Достаточно вспомнить Стива Джобса, который не был квалифицированным инженером, но, безусловно, многое знал о технологиях, с помощью которых создаётся продукт, а также понимал тонкости использования предполагаемого продукта пользователями.

Уровень требуемого технического понимания во-многом зависит от компании. Скажем, в компаниях, создающих технически нагруженные инфраструктурные продукты (например, Heroku, Appcelerator, Akamai Technologies, Inc.), требуются технически подкованные менеджеры. А нужны ли серьёзные технические навыки менеджерам компаний, фокусирующихся на связях между пользователями (Twitter, Quora, Tumblr)?

Итак, перед нами встают два вопроса:

  1. Должен ли IT-менеджер иметь опыт разработки?

  2. Какие навыки нужны IT-менеджеру?

Для начала следует определиться с функциями IT-менеджера.

 

Чем занимается IT-менеджер?

  • выясняет нужды конечных пользователей предполагаемого продукта;

  • определяет концепт продукта, его цели, требования к нему;

  • разрабатывает план реализации продукта совместно с командой разработчиков;

  • выстраивает политику распространения и ценообразования продукта.

Основная задача IT-менеджера сводится к планированию, прогнозированию, маркетингу отдельного продукта компании на всех стадиях его разработки.

Что из вышеперечисленного требует опыта в программировании?

Ни-че-го.

Можно даже пойти дальше и сказать, что для IT-менеджера лучше не иметь опыта программирования совсем, чем «уметь кое-что и чуть-чуть». Почему? Если у человека нет опыта разработки, на те идеи, которые рождаются у него в голове, не будет срабатывать триггер «это трудно или невозможно сделать». Эти вопросы пусть решает не менеджер, а команда разработки. Задача менеджера – определить, что нужно пользователям от продукта.

Если менеджер когда-то был разработчиком,  он часто может сам фильтровать свои идеи, исходя из собственного прошлого опыта. Поскольку опыт уже в прошлом, может оказаться так, что хорошие идеи пропадают просто потому, что не были высказаны. Более того, собственный опыт может быть искушением при постановке сроков выполнения задачи, а отсюда уже недалеко до прямых конфликтов между оценками команды и оценкой менеджеров-технарей. Прошлый опыт может породить желание поучаствовать в жизни команды не в качестве руководителя, а в качестве исполнителя. Плохо, когда менеджер начинает использовать свой опыт не для того, чтобы быстро принять правильное решение, а для того, чтобы сделать что-то самому.

Поэтому ещё раз: все вопросы по реализации решает команда разработчиков!

 

Каких нетехнических знаний может не хватать технократу, выбравшему путь IT-менеджмента?

  • Опыт обращения с продуктом в качестве пользователя. Как правило, у разработчиков «замыливается глаз», и за решением комплексных задач они забывают о том, как будет выглядеть конечный продукт. Это не значит, что программисты лишены чувства прекрасного, но порой скульптор, увлёкшись тонкой обработкой складки на драпировке, забывает взглянуть на своё творение с расстояния в несколько шагов.

  • Аналитика. Одна из основных задач продукт-менеджера  оценить функцию продукта, вычленить её достоинства и недостатки на основе собранных данных. Для этого нужен некоторый экономический опыт.

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

  • Взгляд из другой сферы. Да, для создания нового продукта полезно выползти из собственной ракушки. Сложно это сделать, если ты вплотную занят в одной сфере.

С другой стороны, без необходимого набора технических навыков IT-менеджеру тоже не обойтись. Для этого есть как минимум одна важная причина: с технарями необходимо говорить на их языке. Далее, технический опыт может помочь сократить время принятия решения и управлять рисками. Менеджер не должен писать код или заниматься проектированием системной архитектуры. Но знать основы просто обязан. 

 

Сферический менеджер в вакууме: какой он? 

Если собрать общую картину, мы получим следующие навыки, которыми желательно обладать идеальному IT-менеджеру:

1. Нетехнические навыки:

  • Понимать значение пользовательской среды/пользовательского интерфейса (UX/UI). Хотя бы на бытовом уровне. Где лучше расположить кухню в имеющейся квартире? А если это кафе? Где должна быть кнопка регистрации в приложении? Это вопросы одной категории.

  • Уметь планировать, составлять графики и документацию.

  • Быть эмоционально зрелым. Уметь мотивировать. Выстраивать взаимоотношения. Быть честным. Контролировать свои эмоции.

  • Знать методологии Agile и Lean.

  • Иметь опыт в маркетинге и продажах.

  • Иметь представле

    ние о бюджете и его планировании.

  • Быть лидером.

2. Технические навыки:

  • Понимать общие принципы программирования (переменные, классы, подклассы, методы и т.д.), принципы построения архитектуры программных решений. HTML, CSS, PL-SQL не должны быть чуждыми аббревиатурами.

  • Иметь представление о API, непрерывной интеграции, автоматическом тестировании, A/B-тестировании, модульном тестировании.

  • Иметь представление о нескольких фреймворках для веб-разработки (Django, jQuery, Rails, Symphony) и платформах для мобильной разработки (PhoneGap, Titanium).

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

 

В качестве итога

Огромную часть работы IT-менеджера составляет внешнее общение: встречи с клиентами, посещение конференций; а также решение внутренних вопросов: определение концепта, составление дорожной карты, требований, определение стратегии, политики распространения и ценообразования. IT-менеджер  это адвокат конечного пользователя, который гарантирует простоту и интуитивную понятность продукта.

IT-менеджер  это Китайская стена для своей команды. Одна из его задач  убрать все отвлекающие от основного направления работы факторы, защищать своих разработчиков от поступающих извне лишних задач.

Хороший менеджер всегда найдёт время, чтобы прокачать свои технические скиллы. Хороший разработчик всегда найдёт время, чтобы донести до менеджера свою мысль.

IT-менеджеры  это люди, которые не допускают вот этого: 

Отсюда можно сделать лишь один вывод. Давайте жить дружно! (с)

Автор: Люся Ширшова. Подготовлено по отзывам и советам из Quora и из жизни. 


Читайте также: 

Какие языки программирования сводят разработчиков с ума?

Закончится ли «золотая эра программистов»?

О чём никто не расскажет: тёмная сторона разработки ПО