воскресенье, 16 октября 2011 г.

Загнанная белка из ледникового периода и project manager - что общего?



Увертюра.

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

Какие ощущения были в то время:

1. Как бы не завалить проект.
2. Согласование требований с разными заказчиками - а как это вообще?
3. Волки цели и овцы сыты - кто есть кто лучше не уточнять, смысл в том, чтобы все были довольны.
4. Сроки, сроки, сроки...
5. Дорогая разработка, в смысле д$р$гая.

Вкратце как-то так.
Помню, как один очень хороший человек - руководитель проекта в одной крупной компании в Новосибирске, также был ранее разработчиком (Серега, привет! :)) спросил в чате, как дела. Разговор был примерно такой:

С: привет! как дела?
Я: привет, я - белка из ледникового периода, стараюсь спасти свой орешек - чтобы в проекте по срокам все было ок, заказчик доволен и команда была воодушевленной. Сейчас только понимаю, что быть разработчиком:
1. спокойно.
2. самодостаточно - есть требования, сидишь пишешь.
3. не нервно :)
С: это точно, сегодня выдалась возможность покодить - сидишь спокойно пишешь себе код, он работает.
Я: Даже спорт мероприятия пришлось забросить - ВРЕМЕНИНУСОВСЕМНЕХВАТАЕТ.

Белка ~ руководитель проекта

Помните начала мультфильма, где белка бросилась за своим орешком в пропасть и провалилась в центр земли? Там, стукнув орешком, на земле произошло разделение на материки, дальше она пыталась плавать в океане, чтобы достать свой орех и еще много каких у нее было приключений и угроз ее ореху.

Какие бега у проджект менеджера:

1. Планировать текущие задачи и задачи на несколько итераций вперед.
2. Оценивать сроки реализации задач (=затраты $) совместно с командой и сдерживать свое обещание по срокам заказчику.

2. Приоритезировать задачи и нормализовать этим порядок их выполнения.
3. Помогать аналитику в сборе требований, следить за актуальностью документации (и вообще за ее наличием).
4. Подготовить необходимое к разработке и контролировать выполнение задач по дизайну, верстке.
5. Контролировать риски, управлять рисками с негативным влиянием на проект.
6. Спланировать время "редизайна" (весело у нас получилось, кстати).
7. Предлагать новые фитчи, которые бы приукрасили жизнь пользователей, для реализации.
8. Обеспечивать удовлетворенность заказчика разработанным функционалом.
9. Присматривать за климатом в команде. Знать, когда нужно включать кондишн, а когда не стОит )
и еще N пунктов по спасению одного - вкусного любимого проекта.

кажется, со временем эти пункты воспринимаются вполне осознанно и привыкаешь к параллельному решению задач - для меня это интересно, стиль жизни так сказать.

И да, спустя несколько релизов, на этой неделе я возвращаюсь к занятиям спортом :)

3 комментария:

  1. Имхо времени не хватает всем, кто сколь либо сопереживает делу, которым занимается.

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

    То же касается менеджеров проектов. Есть просто конечные биомеханические автоматы, единственная функция которых - переводить тикеты в issue-трекере из статуса в статус и спрашивать "как у нас дела".
    А есть люди настолько сросшиеся с работой, что можно установить взаимооднозначную связь: Вася - это Проект, Проект - это Вася. Я знал менеджера, который сам участвовал в технических дискуссиях, предлагал новые (разумные) фичи, чуть ли не круглые сутки мониторил свой проект, сам правил баги в 3 часа ночи просто потому, что их заметил.

    В общем, к чему я всё это? :) Просто хочу сказать, что на мой взгляд не имеет значения, кем ты работаешь - главное подходить к своей работе ответственно и понимать, что каждый труд тяжек, если ты трудишься, выкладываясь на полную.

    ОтветитьУдалить
  2. Миша, привет и спасибо за отзыв!

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

    1. у программиста один мозг и подключений никаких доп. чипов и иных устройств :) для распараллелизации решения задач ну никак невозможно

    2. как правило, находящаяся в работе задача уже понятна и нужно провести проектирование и, собственно, реализовать.

    3. обычно программиста никто из внешних сил не отвлекает - специалист трудится без нарушения и колебаний своего биополя :)

    Пункт 1 для менеджера также актуален, но если не научиться решать параллельно несколько задач, это грозит завалиться кучей нерешенных вопросов и задач, что создает дополнительное недоверие со стороны заинтересованных лиц - не успел (забыл!) ответить на вопрос (даже мелкий) - можешь получить обвинение в игнорировании и много всего прочего :)

    Менеджер имеющий уверенный технический бекграунд - это, конечно, отличный специалист, обладающий авторитетом коллег - технарей. Наверное, таких специалистов не так много.

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

    ОтветитьУдалить
  3. Света, привет. Моё первое наблюдение, когда я перешел из тестеров в тест-менеджеры, это то, что количество переключений стало на порядок выше.
    Если помнишь было задание в стратоплане попробовать вести хронометраж своих занятия, так вот в нем было до тридцати записей. Я тебя очень понимаю, и рад, что нашла время на спорт при этой специфики работы менеджера :)

    ОтветитьУдалить