8 IT-CAREER Мой Компьютер №12 /35/ КАРЬЕРНЫЙ РОСТ в IT-ИНДУСТРИИ МЕНЕДЖЕР ПРОЕКТА Управление IT-проектами—дело хлопотное и непростое. Но что это такое на самом деле и кто всем этим занимается? Оказывается, менеджер проекта (Project Manager). Чтобы лучше узнать специфику этой должности, мы, как обычно, предоставляем слово сотруднику компании EPAM Systems. Знакомьтесь: Project Manager Максим Боровиков. Максим Боровиков, 29 лет В 2000 году закончил БГУИР, ФКСиС, специальность «Вычислительные машины, системы и сети». В 2004 году получил степень магистра технических наук по специальности «Информатика». В октябре 2004 года перешел в компанию EPAM Systems на должность старшего программиста. В феврале 2005-го возглавил первый проект. Заказчик—всемирно известная Лондонская биржа (London Stock Exchange). В январе 2006 года стал ведущим программистом, а с января 2007 года—Project Manager. Преподает авторский курс «Основы организации программных проектов» на тренингах EPAM Systems. Предпочитает активный отдых: бассейн, велосипед, боулинг, волейбол. Любит путешествовать. Постоянный участник EPAM AutoParty. «ТЕМНАЯ ЛОШАДКА» PROJECT MANAGER Начнем, пожалуй, с определения того, что такое Project Manager в IT-сфере и «с чем его едят». Недаром я назвал его «темной лошадкой». Дело в том, что многие понимают должность руководителя проекта довольно тривиально: мол, вот тебе проект, программисты—руководи, ведь ничего сложного в этом нет. На самом же деле отдавать проект в руки человека, не подкованного в области управления проектами,—опасно. Могут пострадать все: и сотрудники, и компания, и заказчик. Поэтому руководство программным проектом доверяется человеку, подготовленному и проверенному—менеджеру проекта (Project Manager). Для того чтобы понять, насколько важна эта роль, обратимся к определению программного проекта. Итак, программный проект—это уникальный набор скоординированных действий, имеющий начальную и конечную точки, направленный на получение определенного конечного результата в рамках ограничений времени, цены, качества и объема работ. Как видим, требование к скоординированности действий является практически главным. И это неспроста. Например, в оркестре обязательно должен быть дирижер, насколько бы профессиональными ни были бы сами музыканты и насколько хорошо они ни владели бы своими инструментами. Необходим человек, который будет координировать все действия, чтобы из набора отдельных звуков получилась красивая музыка. Иначе говоря, применительно к IT-сфере, роль руководителя проекта существовала всегда, а человек, занимавший ее, мог быть и старшим программистом, и бизнес-аналитиком, и кем-нибудь еще. Однако по мере роста зрелости компании и принятия лучших практик индустрии, увеличивалась и потребность в том, чтобы как-то выделить профессионалов, специализирующихся именно в области управления проектами. В результате появилась должность Project Manager. С тех пор все, что касается организации проектов, является его прерогативой. Итак, чем же занимается проект-менеджер в компании? Попробуем сформулировать его обязанности. В EPAM Systems он выполняет следующие функции: • осуществляет планирование работы над проектом; • набирает специалистов в команду для выполнения проектной задачи; • регулярно взаимодействует с заказчиком для координации действий; • управляет документацией на проекте, обеспечивает создание и обновление базовых документов в зависимости от текущего цикла; • идентифицирует потенциальные проблемы и риски, находит способы их решения, а также осуществляет управленческий контроль; • обеспечивает достижение проектом определенного конечного результата в рамках оговоренного бюджета, в установленный срок и на должном уровне качества. Как видим, менеджер проекта является ключевой фигурой, принимающей решение—что, кто, как, когда и зачем делает на проекте. Любой IT-проект должен быть закончен успешно (т.е. в соответствии с требованиями клиента и стандартами качества), в срок и в рамках бюджета—это, по сути, и должен гарантировать руководитель проекта. Причем менеджер проекта, с одной стороны, отвечает за успех перед своей компанией, с другой—перед заказчиком, а с третьей—перед командой и самим собой. Конечно, итоговый успех—успех всей команды и каждого отдельно взятого специалиста. Однако, не умоляя роли программистов, тестировщиков и всех, кто работает над проектом, повторюсь, что успешным он будет только в том случае, если сам менеджер сумел эффективно организовать все процессы, снизить возможные риски и гарантировать прибыль всем участникам проекта— словом, это одна из самых ответственных ролей на проекте. ЗАЧЕМ И КОМУ ЭТО НУЖНО Я считаю, что в любой компании, которая желает добиться успеха на рынке, должны быть оптимизированы бизнес-процессы. Сегодня эффективное ведение бизнеса даже невозможно представить без использования информационных систем и технологий. Поэтому все большее количество компаний обращается за помощью к специалистам. Миссия компании в целом и менеджера проекта в частности—помочь бизнесу заказчика оптимизировать его процессы для достижения наибольшей выгоды. Приведу один поучительный пример из практики. У нас есть один клиент—крупная компания, где рутинную работу выполняли аж 50 человек(!), которые изо дня в день занимались «бумажками»: перекладывали, анализировали и ГЛОССАРИЙ • Билд/Build—промежуточная версия программного продукта, которая собирается (компилируется, фор• • • • • мируется структура файлов, библиотек, и т.д.) из текущей версии исходных кодов. В процессе разработки продукта может быть выпущено несколько сотен промежуточных билдов, пока не будет достигнут должный уровень качества. Milestones—сроки реализации отдельных составляющих проекта. Проект (термин происходит от латинского слова «projectus», что означает «брошенный вперед»)—это деятельность, имеющая начало и конец во времени, направленная на создание определенного уникального продукта или услуги. Project manager—человек, который отвечает за организацию и координацию всех действий, касающихся реализации проекта (бюджет, ресурсы, люди). Это самая важная фигура, не только несущая ответственность за выполнение проекта и его соответствие техническим требованиям, но и обладающая для этого всеми необходимыми полномочиями. Scope—это объем работ, обговоренный с заказчиком. Управление проектами (англ. «project management»)—область деятельности, в ходе которой определяются и достигаются цели, а также оптимизируется использование ресурсов (время, деньги, люди, материалы, энергия, пространство и др.) в рамках некоторого проекта, определяющего конечный результат и ограничение по времени и/или другим ресурсам. систематизировали их. После того как разработанный нами продукт был внедрен в производство, отдел «бумажек» в составе двух человек стал справляться с еще большим объемом работы. Чувствуете разницу? Более того, благодаря внедрению разработанной нами системы число клиентов у нашего заказчика постоянно растет. От осознания этого факта всей проектной команде очень радостно: с одной стороны, мы выполнили этот проект успешно, с другой стороны, помогли заказчику улучшить их бизнес, а от этого в конечном итоге…весь мир стал чуточку лучше. РАБОТА НАД ПРОЕКТОМ По большому счету, работу над проектом можно организовать поразному, ведь существует множество методик. При любом решении RAD— это Waterfall, Open Source, Scrum, Spiral, PRINCE2 или RUP. Менеджер проекта должен хорошо владеть фундаментальными концепциями, на которых они построены. Классический пример организации проекта—это RUP (Rational Unified Process). Поэтому чтобы внести ясность относительно специфики работы менеджера на каждом отдельном этапе проекта, мы остановимся на каждом из них в отдельности. Сразу оговорюсь, что данное разделение достаточно условно, так как есть процессы, которые присутствуют на каждой стадии работы. В какой-то момент они требуют больше ресурсов, в какой-то—меньше, и от этого никуда не уйдешь. Первая стадия—Inception (от англ. «начало», «зарождение»)—очень важная, и вот почему: именно в этот момент мы принимаем решение о дальнейшей работе над проектом. Бывает так, что заказчик не представляет реальных сроков и начинает требовать невозможное. Если мы скажем об этом сразу, притом не просто скажем, а обоснуем, привлекая экспертов (внутренних или внешних), в дальнейшем это убережет исполнителя от потраченных впустую сил и времени, а клиента—от лишней траты денег. Если заказчик все понимает, принимает наши замечания и предложения, координирует свои планы, то you are welcome—мы начинаем работать. Если нет—увы, сотрудничество будет невозможно. Однако в EPAM на моей памяти такого еще не было. В этом плане мне как менеджеру проектов повезло: есть наработанная база клиентов, которые ставят адекватные сроки и требования и прекрасно понимают, что чудес не бывает. Предлагаю рассмотреть ситуацию, когда уже принято решение работать над проектом и всех все устраивает. Итак, происходит знакомство с заказчиком, и довольно часто—на стороне заказчика, а это командировки, в том числе и за рубеж. Мне лично нравится живое общение, поэтому я считаю оправданными такие поездки: бывает, что за полчаса разговора «живьем» узнаешь больше, чем за многочасовые переговоры по телефону. И вообще, общение face-to-face снимает многие барьеры, привносит человечность в отношения с клиентом, что благоприятно сказывается на дальнейшем взаимодействии. Бывает, что проект-менеджер принимает решение отправить для знакомства своего помощника—бизнес-аналитика: все зависит от сути проекта и от текущей загрузки проект-менеджера. Это я к тому, что не всегда езжу именно я. На стадии знакомства определяются требования к проекту, бизнесцели, преследуемые заказчиком, и принимается решение о том, каким образом можно оптимизировать бизнес. Здесь необходимо определить scope проекта, сроки его реализации (milestones), определить возможные риски, спрогнозировать требуемое количество и квалификацию людей, задействованных в работе над этим проектом. По сути, здесь проект-менеджер выступает в роли аналитика, цель которого—собрать «костяк» проекта и общее виденье того, над чем команда будет работать в дальнейшем. На следующей стадии— Elaboration (от англ. «глубокое изучение»)—происходит тщательная проработка полученного на первом этапе материала. Необходимо внести ясность в виденье проекта (т.е. проанализировать все детали) и подготовить почву для последующей работы: должно состояться не простое прогнозирование будущего результата, основанное на экспертных данных и опыте проект-менеджера, а сбор и разработка реальных требований, написание спецификаций, определение архитектуры проекта, разработка мероприятий по минимизации рисков, согласование бюджета с клиентом. Основная функция проект-менеджера на данном этапе—организовать весь процесс, т.е. определить, кто, чем и в каком объеме будет заниматься, кто за что будет отвечать. Возможно, на первый взгляд это может показаться простым занятием: распределить обязанности, а самому следить, как они выполняются. На самом же деле это далеко не так. Проект-менеджер должен быть, ко всему прочему, хорошим психологом: важно уметь находить подход к каждому человеку, замечать его сильные стороны и в соответствии с этим распределять обязанности. Если проект крупный, на данной стадии проект-менеджер работает в тесном сотрудничестве с бизнес-аналитиком, системным архитектором и ведущим разработчиком, каждый из которых имеет свои полномочия. В то же время всю ответственность за выполнение проекта несет именно проект-менеджер, и если что-то пойдет не так, отвечать будет он. В конце концов, он подбирал команду для выполнения проекта на первом этапе, поэтому у него нет прав винить членов команды КАРЬЕРНЫЙ РОСТ в IT-ИНДУСТРИИ Рис.1. RUP-модель развития проекта Что почитать: Phases Disciplines Inception Elaboration Construction Transition Buisness Modeling Requirements Analysis & Design Deployment Configuration & Change Mgm/t Project Managment Enviroment Elab #1 Elab #2 Const #1 Const #2 Const #3 Tran #1 Tran #2 Iterations за плохо выполненную работу. Например, когда я из восьми предложенных мне студентов выбираю только одного или двух, никто не говорит, что я придираюсь или «кручу носом»: все понимают, что от каждого конкретного человека зависит общий успех, а моя задача как проектменеджера заключается в том, чтобы грамотно подобрать исполнителей. К концу этой стадии работы должен быть подготовлен конечный комплект документов с указанием конкретных требований и сроков, а также со сформированным бюджетом проекта. Стадия Construction (от англ. «производство»)—это уже непосредственная разработка продукта. В это время в оговоренные сроки выпускаются билды (см. Глоссарий). Кажется, ну сейчас уж проектменеджер сможет отдохнуть: основную работу теперь выполняют программисты, которые в соответствии со спецификациями должны выдать программный продукт. Но не тут-то было: не стоит забывать о том, что в термине «проект-менеджер» присутствует слово «менеджер». Во время реализации проекта его руководитель должен постоянно заниматься уточнением графика работы, контролировать выполнение заданий и служить дополнительным «справочным бюро» к спецификации системы, реализуемой программистами. Конечно, часть полномочий можно переложить на других: на бизнес-аналитика или риск-менеджера—однако от этого работы не станет меньше. Проект-менеджер обязан постоянно сверять планы и сроки с заказчиком, возможно, корректировать их по ходу выпуска билдов (см. Глоссарий), готовить отчетность по статусу проекта для клиента, наконец, обеспечивать качество выпускаемого продукта. Кстати, на этой стадии я как проект-менеджер должен уметь грамотно отвечать на все вопросы заказчика, вплоть до строчки программного кода. Проект-менеджер— это «и швец, и жнец, и на дуде игрец». На своих тренингах я провожу параллель с оркестром: проект-менеджер—это дирижер, который обеспечивает красивое звучание множества инструментов. Однако дирижер ведь не только управляет оркестром, он знает, как играть на скрипке или на барабанах, что и позволяет ему услышать в нужный момент, какой инструмент сфальшивил и как это можно исправить. Точно так же и проект-менеджер: он должен разбираться в коде не хуже программиста, в тестировании—не хуже тестировщика, в бизнесе той сферы, для которой выполняется проект,—не хуже самого заказчика. Последняя стадия Transition (от англ. «переход»). На этой стадии действительно осуществляется «переход» готового продукта от исполнителя к заказчику. Естественно, мы проводим демонстрацию готового продукта, консультируем Рис.2. Спиральная модель развития проекта (Spiral) Develop and test Determine Goals Constraints Risk analisys Constraints Alternatives Alternatives Budget Risk analisys Risk analisys Constraints Budget Start Prototype Prototype Requements Budget Prototype Detailed design Development plan Requements Integration and test plan Code SW design SW verification System verification System validation Plan • Эд. Йордон «Путь камикадзе». (Death March); • Стив Макконнелл «Совершенный код. Практическое руководство по разработке программного обеспечения». (Code complete); • Стив Макконнелл «Остаться в живых! Руководство для менеджера программных проектов» (Software Project Survival Guide); • Эд. Салливан «Время—деньги. Создание команды разработчиков програмпо различным аспектам Где посмотреть: его запуска и внедрения в бизнес. Бывает, что необхоhttp://www.cioinsight.com; дима поездка к заказчику, http://www.osp.ru/os/2007/01/rub/1072572.html; особенно, если продукт http://www.e-xecutive.ru/. сложный. Признаться, получаешь настоящее Проект-менеджер должен быть удовольствие, когда проект завершен в коммуникабельным человеком. Ему нужоговоренные сроки, отвечает всем требоно быстро находить общий язык с различваниям и положительно сказывается на ными людьми, не стесняться выступать бизнесе клиента. перед большими аудиториями, не бояться лишний раз что-то спросить или уточнить КАК СТАТЬ PROJECT MANAGER у заказчика. Хорошие ораторские способности также не будут лишними, чтобы Основной тезис—«Ни один вычетко сформулировать и донести свою пускник ВУЗа не может сразу работать проект-менеджером». И не потому, что он мысль до других. К тому же проект-менеджер должен уметь формулировать был плохим студентом, а потому, что это свои мысли как на русском, так и на очень ответственная должность и здесь английском языке. Этим могут грешить нужен опыт. «технари»: мол, гуманитарии пусть учат Допустим, студент твердо решил языки, а я буду программистом. Я скажу стать проект-менеджером. Что для этого ему необходимо сделать? Первоначально так: английский в IT-сфере is a must. Хочешь быть отличным специалистом—поу него должен быть технический бэкграмимо технологий, учи английский. унд. Я знаю, что некоторые IT-компании Проект-менеджер должен быть набирали на должность проект-менедхорошим организатором. Это вовсе не жера людей с высшим экономическим означает, что он будет «тянуть лямку» за образованием. Я не берусь утверждать, всех, ему необходимо уметь мудро расчто это в корне неправильно, однако, на мой взгляд, хороший менеджер IT-проек- пределять полномочия между членами своей команды. та должен обладать знанием технологий. В какой-то мере проект-менеджер Представим, что проект возглавляет должен быть и психологом: в его обязанчеловек, который имеет только общее ности входит создание хорошей атмосфепредставление о работе членов своей ры в коллективе, он должен уметь найти команды—программистов. В лучшем случае вы получите надзирателя, который подход к каждому. И здесь очень важно понять, у кого к чему «лежит душа». Моя всегда полагается на ответственность задача как проект-менеджера—учитывать программистов—это не очень хороший такого плана нюансы и организовывать подход. Поэтому я считаю, что проектработу над проектом таким образом, чтоменеджер должен быть «технарем», и бы все оказались в выигрыше: и команда, только потом—экономистом. Следоваи компания, и клиент. Я горжусь, когда тельно, уже на 3-4 курсе человек должен определиться: или Java, или .NET. Можно мои ученики достигают успехов, ведь это говорит о том, что я вовремя заметил их пройти тренинги, которые регулярно способности и направил в нужное русло. проводит наша компания: это позволит И вообще, каждому сотруднибыстрее «влиться в реальные процессы». Девиз проект-менеджера, отражаю- ку необходимо изначально сообщать щий все требования к этой должности,— менеджеру о планах. Открытость перед менеджером—один из гарантов дости«The more the better». Потенциальный жения желаемых успехов в карьере, ведь проект-менеджер—человек с широким именно он подбирает тренинги, предокругозором, увлекающийся, быстро обуставляет возможность проявить себя чаемый, коммуникабельный, с аналитическим складом ума. Поясню на примере: наилучшим образом. Можно и нужно помогать своему проект-менеджеру или если, допустим, заказчик—биржевик, главному разработчику, не стесняться зато проект-менеджер должен не просто давать вопросы. Важно также заинтереиметь общее представление о бирже, он обязан знать, чем «живет» биржа, разби- совать самого себя—чтобы все увидели, что тебе это действительно интересно. раться во всех тонкостях в этой области, Параллельно нужно читать специалиоперировать специфическими термизированную литературу, интересоватьнами. Ведь у каждой профессии есть ся вопросами управления проектами. свой профессиональный жаргон, и если менеджер проекта не знает терминологии При этом быть готовым к тому, что сие замечательное событие произойдет не заказчика, это усложняет процесс комчерез полгода или год: к цели надо идти муникации и тормозит процесс в целом. Но и этого мало: частые коммуникации с последовательно, постепенно приобретая опыт, от проекта к проекту. техническими специалистами «вынужКак говорится, было бы желадают» изучать жаргон программистов. ние, а возможности наша компания Здесь как раз и выручает техническая предоставит. база: мне не нужно объяснять, что такое «деплой» или «релиз». • • • Initial Evaluate Risks IT-CAREER Sony Cyber-shot DSC-W80S Price: от 345 у.е. много обеспечения» (Under Pressure and on Time). Implementation Test Мой Компьютер №12 /35/ Фотокамера: Sony Cyber-shot DSC-W80S silver 7.2Mp 3xZoom ГАРАНТИЯ - 2 Года ДЖЕТ NEC VT-49G Тел.: (017) 280-14-61 Price: от 950 у.е. ПРОЕКТОР: LCD / SVGA (800x600), Max UXGA (1600x1200) / 1600 ANSI-Lm, Контрастность 600:1 / ЦИФРОВОЙ ZOOM 10% / Wall Color Correction / Коррекция Трапеции +/- 30 Гр./ БЫСТРЫЙ СТАРТ - ВЫКЛЮЧЕНИЕ / RGB OUT / ШУМ 25db (Эко) / 309x258x112 Mm / 2,8 Кг / ГАРАНТИЯ - 3 Года бутуз NEC VT-490/590G Тел.: (017) 211-60-20 Price: от 1220 у.е. ПРОЕКТОР: LCD / SVGA/XGA, Max UXGA (1600x1200) / 2000 ANSI-Lm, Контрастность 600:1 / РУЧНОЙ ZOOM 1,2 / Wall Color Correction / Коррекция Трапеции +/- 30 Гр. / БЫСТРЫЙ СТАРТ - ВЫКЛЮЧЕНИЕ / RGB OUT / ШУМ 29db (Эко) / 309x258x112 Mm / 2,9 Кг / ГАРАНТИЯ - 3 Года БУТУЗ NEC NP40/50/60G Тел.: (017) 211-60-20 Price: от 1650 у.е. ПРОЕКТОР: DLP / XGA (1024x768), Max UXGA (1600x1200) / 2200-2600-3000 ANSI-Lm, Контрастность 1600:1 / АВТО FOCUS / АВТО Коррекция Трапеции +/- 16 Гр. / БЫСТРЫЙ СТАРТ ВЫКЛЮЧЕНИЕ / ЗАЩИТА ЛАМПЫ / Wall Color Correction / ШУМ 35db (Эко) / 246х177х72 Mm / 1,6 Кг / ГАРАНТИЯ - 3 Года БУТУЗ T2.6842.900 Тел.: (017) 211-60-20 Price: от 590 у.е. Шкаф телекоммукационный. 42U 600x800 мм. Комплект: 19” Рамы - 2 пары, ножки и ролики, крепеж М6 - 40 Шт., съемные боковые панели, двери - передняя обзорная, задняя из листовой стали с замками, ввод кабеля через крышу и пол. цвет Ral7004 Серый, Статическая нагрузка - До 500 Кг. СЕРВЕР TS.6A42.811 Тел.: (017) 284-31-48 Price: от 690 у.е. Шкаф Серверный 42U 600x960 мм в комплекте: 19” Рамы - 2 пары, ножки и ролики, крепеж М6 - 40шт., Съемные боковые панели, двери - передняя обзорная, Задняя перфорированная Из листовой стали с замками, ввод кабеля через крышу и Пол. Цвет RAL9004 Черный, Статическая Нагрузка - до 800 Кг. СЕРВЕР WM.6406.900 Тел.: (017) 284-31-48 Price: от 125 у.е. Шкаф настенный Односекционный 6U-15U 600x450 Мм. Комплект: 19” Рамы - 2 Пары, M6 От 10шт., Съемные боковые Панели, Дверь - передняя обзорная с замком, ввод кабеля через крышу и пол, Возможность установки вентиляторов. Цвет Ral7004 Серый, Статическая нагрузка - До 60 Кг. СЕРВЕР ZH.6406.900 Тел.: (017) 284-71-76 Price: от 155 у.е. Шкаф настенный двухсекционный 6U-15U 600x550 Мм. Комплект: 19” Рамы - 2 пары, М6 От 10 Шт., Съемные боковые панели, Дверь - передняя обзорная с замком, Ввод кабеля через крышу и пол. Цвет Ral7004 серый, Статическая нагрузка - До 60 Кг. СЕРВЕР XORO HSD 6000 Тел.: (017) 284-71-76 Price: от 160 у.е. Домашний Кинотеатр, Сателлиты: 5шт. x 15 W PMPO / 4 Ohm / однополосный динамик / корпус из пластика Сабвуфер: 1шт. x 25 W PMPO / 6 Ohm / корпус деревянный, Размеры DVD проигрывателя: 430 x 50 x 320 мм, FM/AM тюнер, Пульт ДУ Юнисател SPEAKER WCS-611G Тел.: (017) 299-00-25 Price: от 30 у.е. Акустика SPEAKER WCS-611G 576w PMPO, деревянный корпус ДЖЕТ SWEEX BLUE BAY Тел.: (017) 280-14-61 Price: от 55 у.е. MP3 Плеер SWEEX Blue Bay 1Gb +V/record джет SKYSTAR 2/3/USB Тел.: (017) 280-14-61 Price: от 75 у.е. DVB-S плата для ПК Прием цифрового DVB-S ТВ, радио каналов и телетекст; Прием данных через спутниковую антенну (Multicast/Unicast, MPE); Plug&Play; USB 1.1; Входная частота: 950-2.150 МГц; Поддержка: LNB-13В/18В, 350мА маx. Гар.12 мес. WWW.UNISATEL.RU XEROX 4800 Тел.: (017) 299-00-24 Price: от 62 у.е. СКАНЕР Оптическое Разрешение 1200х4800 dpi Глубина цвета 48-Бит Режим скоростного сканирования Высокоскоростной Интерфейс Usb 2.0 Технология One Touch Гарантия 12 Месяцев КОПИЛЭНД Тел.: (017) 203-31-18 11 9