В компании EPAM Systems сформирован комплекс систем автоматизации процессов управления портфелем ИТ-проектов.
Поставщикам ИТ-услуг, и в первую очередь услуг разработки программного обеспечения и внедрения информационных систем, не обойтись без системы внутренней автоматизации. Однако на рынке немного предложений в данной нише. Имеются системы управления ИТ-проектами, есть программы планирования работ и проектов, средства организации командной работы, есть системы учета рабочего времени, здесь же можно рассмотреть системы автоматизации процессов, ведения документооборота, учета фактических затрат и т.д. Увы, все эти решения, даже наиболее комплексные, достаточно разрозненны и не покрывают с должной степенью гибкости такие ключевые процессы деятельности ИТ-департаментов, как ведение аналитических, исследовательских работ, разработка и тестирование информационных систем, техническая поддержка и сопровождение эксплуатации информационных систем.
Бизнес ИТ-организации
В бизнесе предоставления ИТ-услуг нет цикличности — проекты бывают разные и по длительности, и по сущности, и по характеру работ. И основным ресурсом являются специалисты, по каждому из которых имеет большое значение его образование, квалификация, опыт, навыки, знания, проектная история. Конечно же, можно сравнивать проекты с дискретным позаказным производством, где планирование исходит от портфеля заказов, или же с управлением экипажами для авиакомпании, где важно учитывать индивидуальные качества сотрудника. Но все же шаблоны процессов, заложенные в вертикальные решения программных продуктов типа ERP, не укладываются в традицию ведения бизнеса ИТ-проектов.
На рис. 1 дано общее представление о деятельности компании, ориентированной на реализацию портфеля ИТ-проектов, и перечислены ключевые службы бизнеса и их функции. Для ИТ-департаментов какие-то из данных функций либо отсутствуют, например маркетинг и продажи, либо в менее явном виде выполняются другими подразделениями предприятия, в частности, за управление человеческими ресурсами отвечает отдел кадров.
Рис. 1. Основные процессы и службы ИТ-организации
Как и всегда в бизнесе, все начинается с процесса продаж, если это ИТ-структура, выделенная в отдельную бизнес-единицу, или с процесса формирования заказов, если это внутренний ИТ-департамент. В любом случае процесс является длительным, поскольку включает в себя выяснение потребностей заказчиков, согласование требований к проекту, определение путей решения проблем заказчика, оценку трудозатрат по выполнению требований заказчика, формирование технико-коммерческих предложений или даже просто технико-экономического обоснования. Все это часто сопровождается проведением предпроектных обследований, разработкой прототипов и пилотных решений и т.д. Дальше уже утверждаются соглашения и условия, на основе которых и начинается проект.
Проекты бывают с фиксированным временем и стоимостью, с оплатой по факту выполненных работ и потраченных материалов, с выделенной командой на длительный срок или даже с построением выделенного центра разработок или центра компетенций. Последние две модели сегодня часто встречаются у отечественных компаний. Каждая модель сопровождается своим учетом затрат, определением маржи, расчетом рентабельности и прибыльности. При этом надо вести все проекты в рамках одного портфеля, в разрезе заказчиков (несколько проектов для одного клиента, бизнес-единицы или департамента), регионов (с точки зрения привлечения ресурсов), подрядчиков и субподрядчиков, направлений и технологий, типов проектов и т.д.
Каждый проект специфичен, каждый заказчик, будь он внешний или даже внутренний, требует особого отношения, у каждого свои проблемы, свои условия и своя специфика бизнеса. И хотя существуют стандартные системы поддержки жизненного цикла ИТ-проектов, например, IBM Rational Process, Project & Portfolio Management Suite, может понадобиться гибкая система управления требованиями, процессом разработки и тестирования программного обеспечения, сбора метрик и т.д., по максимуму использующая готовые решения от сторонних поставщиков (например, CASE-инструментарий от Rational).
Документооборот в ИТ-организации достаточно разнообразен — это традиционный документооборот с контрагентами (договоры, счета, акты и пр.) или внутренний учетный (бухгалтерия, кадры), большая часть которого приходится на сопроводительную документацию по проектам (уставы, планы, спецификации, функциональные требования, технические задания, руководства и т.д.), а также документы, связанные с внутренними процессами полного цикла разработки программного обеспечения (планы и сценарии тестирования, отчеты по результатам тестирования, учет выпусков и дефектов). Здесь имеется большой выбор полнофункциональных или модульных решений от поставщиков программного обеспечения, но требуется кропотливая работа по построению единой системы, где готовые приложения взаимно дополняют друг друга.
Процесс продаж (формирование портфеля заказов) и процесс производства (предоставление услуг/выполнение работ) тесно связаны, и сложно определить границы между ними — часто проекты начинаются на этапе предпродажных переговоров, и в них задействованы производственные мощности ИТ-подразделения. Сам процесс производства может состоять из регулярных работ, из отдельных или взаимосвязанных проектов, из серии проектов или потоков запросов, объединенных общим заказчиком или неким общекорпоративным проектом. Все это порождает необходимость вести сложный учет многочисленных проектов различной длительности, разного состава этапов (от аналитики до полного цикла разработки и внедрения).
Результатами выполнения проектов являются документы аналитических фаз проектов, программное обеспечение (с исходными текстами), сопроводительная проектная документация, а также отчеты. Процесс доставки результатов и их приемки, включая приемо-сдаточные испытания (тестирование заказчиком) и опытную эксплуатацию, также растянут во времени. К тому же многие проекты требуют последующей технической поддержки (а для внешнего клиента — гарантийного обслуживания), в которую входит устранение дефектов и несоответствий.
Заключительный процесс — определение стоимости работ, выполненных для внутреннего или внешнего заказчика (процесс биллинга). Это требует тщательного учета потраченного на проект времени, а также прямых и косвенных затрат. Даже если проект имеет фиксированную цену, затраты должны быть прозрачны для руководства, поэтому требуется определение себестоимости работ и услуг с учетом затрат рабочего времени сотрудников в зависимости от позиции, проектной роли, уровня квалификации, места работы и т.п. От всех этих факторов зависит фонд оплаты труда и удельная доля общих затрат.
Если биллинг рассматривает ресурсы только с точки зрения учета, то для успешного функционирования ИТ-компании необходимо эффективное управление ресурсами, ключевой из которых — персонал. Каждый человек требует к себе индивидуального подхода, а для коллектива, который состоит из сотен и тысяч сотрудников, придется содержать большой штат кадровиков либо использовать информационную систему управления человеческими ресурсами, планирования найма, обучения, аттестации, карьерного роста и профилирования.
Кроме того, требуется деятельность по сбору и расчету ключевых показателей: утилизация людских ресурсов (отношение занятых на проектах сотрудников к общему числу специалистов в ИТ-службе), средняя ставка (внешняя стоимость услуг/работ), внутренняя ставка (себестоимость ресурсов с учетом прямых и косвенных затрат), эффективность выполнения проектов (соотношения предварительных оценок по срокам и трудоемкости проектов к фактическим затратам), а также множество других метрик по отдельным сотрудникам и качеству их работы, по проектам или организации в целом.
Центр управления ИТ-проектами
В компании EPAM Systems сформирован комплекс систем автоматизации процессов управления портфелем ИТ-проектов — PMC (Project Management Center). Центр управления проектами объединен единой базой данных и общей системой аутентификации и авторизации пользователей.
Основные блоки PMC: учет людских и материальных ресурсов, учет доходов/расходов, автоматизация проектного цикла разработки программ, обеспечение единого информационного пространства для взаимодействия сотрудников, система анализа и отчетности.
Блок управления взаимодействием с заказчиками может быть построен на основе тиражируемого продукта класса CRM (Customer Relationship Management). Функции ведения данных по потенциальным и существующим клиентам, учету маркетинговых мероприятий и их результатов, учету возможных сделок и закрытых договоров, прогнозу доходов («воронка продаж») имеют смысл для независимых ИТ-компаний или ИТ-организаций, действующих как самостоятельные бизнес-единицы. А вот модуль SPF (Sales Pipeline Forecast), собственная разработка EPAM, расширяет возможности стандартной CRM-системы средствами учета доходов с детализацией до отдельных счетов и поступивших оплат. Даже если ИТ-департамент работает только с внутренними заказчиками (другими департаментами того же предприятия), полезно формировать портфель проектов и запросов в данной системе, чтобы заранее планировать ресурсы и отслеживать свою «самоокупаемость» («хозрасчет»).
Ключевым ресурсом для ИТ является специалист. Поэтому HRM (Human Resources Management) — система ведения данных по людским ресурсам — является специфичной, содержит много различных модулей и функций, с одной стороны, ориентированных на учет и планирование загрузки ресурсов в рамках портфеля проектов, а с другой — сфокусированных на данных по каждому отдельному сотруднику (ведение персональной карточки учета уровня образования, полученных знаний и навыков, сертификатов и истории проектов, в которых участвовал специалист в той или иной роли).
Подсистема UPSA (Utilization and Project Staffing Analyzer) отвечает за учет загрузки ресурсов по проектам, назначение и планирование ресурсов по потенциальным и идущим проектам (комплектация), учет утилизации (загрузки) ресурсов по внешним и внутренним проектам/запросам, внепроизводственной деятельности (обучение, отпуска, командировки). В разрезе регионов, стран, городов, офисов и филиалов (рис. 2) ведется учет состояния людских ресурсов: заняты на обучении или переподготовке, находятся в плановых, больничных и других отпусках. По каждому ресурсу учитывается квалификации и уровни (12 основных позиций и ролей на проектах, пять градаций уровней, более сотни технологий, методологий и средств). Через данную систему делаются запросы на открытие записи по новому заказчику и создание нового проекта, запросы на ресурсы по квалификациям и ролям. Система учитывает также ставки по проектам для отслеживания себестоимости и стоимости для внешнего заказчика.
Но почему нельзя применить готовые системы управления кадрами, доступные на рынке в большом количестве? Использование готового программного продукта возможно, но в рамках комплекса важно, чтобы все, относящееся к человеческим ресурсам, было связано с проектами, их профилем (например, учитывало отраслевую специфику), перечнем примененных в проекте методологий и технологий. Это позволяет автоматически заполнять данные по навыкам и опыту сотрудника в кадровой системе.
Отправной точкой системы является ведение данных по кандидатам в сотрудники компании, а также по студентам-стажерам. По каждому из претендентов хранится резюме, результаты тестирования, интервью и комментарии по решению принять соискателя или отказать ему. Если появляется необходимость в новой или, наоборот, устаревшей и редкой технологии, всегда можно обратиться к базе кандидатов. Кроме учета проделанного человеком пути в компании, можно формально определить пути его карьерного роста. Сотрудники переходят с одного проекта на другой, им предоставляются возможности приобретать новые навыки и знания, что очень важно для удержания персонала. Другой мотивирующий фактор — переход по позициям, например, из разработчика или тестировщика в руководители проекта или в заместители ИТ-директора. Конечно же, основой для принятия решений по росту являются не только субъективные, но и формальные критерии, для чего автоматизировано проведение регулярных аттестаций персонала. В том числе оценка квалификации, знаний и навыков посредством компьютерных тестов, анкеты, заполненные и прокомментированные непосредственными руководителями (ресурс-менеджеры, координаторы, руководители проектов, в которых участвовал сотрудник). В системе есть возможность прямой обратной связи от сотрудников к руководству.
Все остальные расходы учитываются в модуле CTC (Cost Tracking Center), который ведет учет затрат в разрезе мест их возникновения, в первую очередь прямых затрат по проектам (специальное оборудование, командировки и т.д.), а также косвенных, которые относятся к различным центрам учета затрат (административно-хозяйственные службы, общая служба внутренней инфраструктуры и т.д.). Все затраты, связанные с командировками, закупками, расходами, проходят согласование в этой системе. Здесь же учитываются регулярные затраты, для которых можно определить лимит на каждый месяц, неделю или год.
Управление процессом реализации ИТ-проекта
Связывающей платформой для всех подсистем и модулей является сам центр управления проектами, PMC, назначение которого состоит в информационном обеспечении полного цикла проектных работ, связанных с разработкой и внедрением программного обеспечения.
Связывая задачу управления человеческими ресурсами с проектной деятельностью, надо начинать с модуля PMC Project Plans, Tasks and Assignments, который отвечает за назначение заданий нижестоящим сотрудникам или коллегам по проектной команде. В списке заданий могут быть и конкретные задачи по детализации работ, связанных с проектом, по планированию, обучению, повышению квалификации, сертификации, и мероприятия, связанные с внутренней деятельностью компании. По проектам формируется «смета работ» — Work Breakdown Structure. Каждый сотрудник, придя на рабочее место, открывает назначенные ему работы, выбирает по приоритету и планам очередную и приступает к ее реализации, отмечая результаты по ходу выполнения.
Учет требований и изменений требований по проектам и в рамках проектов по иерархической структуре осуществляется в модуле PMC Requirements, который позволяет отслеживать взаимосвязи между исходными требованиями и результатами работ, чтобы понять, насколько покрыты начальные запросы конечными «доставками» (документы, выпуски программного обеспечения). Это также позволяет всем участникам процесса разработки видеть источник каждого задания, понять, для какого из требований заказчика делается та или иная работа. Для того чтобы дать более общую картину по проекту, кроме его профайла, в системе описывается среда проекта, PMC Project Environment, — фактически происходит фиксирование различных специальных условий проекта и начальных договоренностей, которые не вошли в требования заказчика.
С основным продуктом деятельности, программами, непосредственно работают следующие модули PMC: учет выпусков программного обеспечения (Applications & Builds), разработанного или сопровождаемого проектной группой, в разрезе дат, статусов прохождения тестов и пр.; учет дефектов и несоответствий (Bugs), выявленных в ходе внутреннего тестирования или приемо-сдаточных испытаний на стороне заказчика в разрезе требований и выпусков, с датами устранения дефекта, проверки (тестирования) и подтверждения факта устранения; учет тестовых примеров (test cases), тестовых сценариев (test scenarios) и результатов тестирования выпусков; ведение заявок на техническую поддержку от членов проектной команды и от представителей заказчика (Support Requests). Всю информацию по создаваемому программному обеспечению можно увидеть на приборной панели (Build Dashboard), отображающей результаты тестирования, которое ведется постоянно по мере сборки программной системы, позволяя отслеживать качество очередного выпуска разработки. В свою очередь, само программное обеспечение в виде кода и исходных текстов хранится по версиям в репозитории (Repository).
Для поддержки процессов контроля качества реализован интересный функционал по учету рисков (Risks), связанных с проектами, с указанием причин, возможных последствий, процента вероятности возникновения события, которое может повлечь за собой риск, а также плана мероприятий, позволяющих избежать риска либо смягчить последствия.
Во многих организациях достаточно популярны средства организации совместной работы проектной команды и различных групп. В рамках PMC реализован небольшой модуль ведения проектных форумов (PMC Discussions) для сохранения истории обсуждений, своеобразное хранилище знаний по проекту.
Самое важное для подведения итогов деятельности организации, оказывающей услуги, — это учет рабочего времени сотрудников и привлеченных сторонних подрядчиков. В PMC имеется средство для ведения журнала и отчета по отработанному времени (Time Journal & Time Report), с помощью которого можно получить данные по внутренним и внешним проектам, по заказчикам, а также внепроектной деятельности (обучение, простой, административные функции, обеспечение качества процессов). Также ведется учет отпусков: регулярных, по болезни, за свой счет, отгулы в счет переработок. Система генерирует различные отчеты, в том числе сметы по запланированному времени, табели учета рабочего времени, сводки по фактически затраченному времени в различных разрезах за различные периоды.
В системе рассчитываются сводные и детальные показатели деятельности по проекту, а также имеются цветовые индикаторы, показывающие, нет ли просрочек по этапам или «вехам» (Milestones), задачам, выпускам или доставке документов, задержек с комплектацией проекта ресурсами, наличием отчетов по статусу и т.д. Через сводку по проекту можно увидеть агрегированные данные относительно каждого члена проектной группы и всей команды в целом, а также отслеживать качество доставок, например статистику по дефектам и проблемам. Если что-то не так, то можно поднять историю проекта, отраженную в отчетах по статусу проектов (Status Reports), которые хранятся в системе в хронологической последовательности. Другим важным моментом в данном контексте является история ключевых решений (Decisions), принятых в ходе ведения проекта. Это важно для последующего «разбора полетов» (особенно, если проект проблемный) и позволяет более ответственно подходить к процессу принятия решений, поскольку они все сохраняются в истории проекта. А если все хорошо, то в секции новостей проекта (News) можно увидеть благодарности команде от менеджеров, заказчиков и пользователей.
Чтобы не было проблем и с соблюдением норм стандартов, в организации проводятся плановые и внеплановые аудиты проектов. Отслеживаются даты проведения аудитов, причины внеплановых проверок, типы и результаты проверок, а также рекомендации по итогам аудита.
Для сохранения всех артефактов проекта в системе предусмотрены базовые функции ведения хранилища документов (Documents) по проектам в разрезе папок, структура которых зависит от типа проекта.
В PMC имеется приборная доска (Dashboard), позволяющая собрать на одном экране (рис. 3) ключевые показатели по тем проектам, в которые вовлечен специалист в той или иной роли, а также вывести информацию для руководителей в целом по проектам и по организации (в зависимости от уровня менеджмента).
Кроме того, PMC делает расчет и визуализацию имеющихся в системе данных в виде графиков различных метрик (Metrics). Для построения отчетов можно использовать встроенное средство (Start Reporter). Наиболее типовыми отчетами являются соотношения плановых и фактических показателей по трудозатратам, степени загрузки и доступности ресурсов, а также наличия у них тех или иных качеств. Каждый сотрудник в зависимости от своей роли и позиции находит в системе интересующий его отчет.
Ну и в завершение того, что касается блока поддержки процесса, надо упомянуть возможность подписки на различные события и факты (Subscriptions), которые фиксируются в семействе систем PMC.
Единое информационное пространство
Все перечисленные системы были рассчитаны на конкретные задачи и конкретные группы пользователей, однако единое информационное пространство всей организации — это информационный портал, состоящий из различных модулей и в первую очередь содержащий общую информацию, в том числе описание корпоративной культуры, корпоративные символы, логотипы, цвета и другие элементы бренда компании, шаблоны подписей, визиток и т.д. И конечно же, здесь история компании, новости о ней, анонсы мероприятий.
Для сбора информации по бизнесу, технологиям, процессам и для ее совместного использования в системе имеется электронная библиотека книг и программных продуктов, приобретенных компанией.
Информационная поддержка обеспечения качества процессов является порою критически важной для ИТ-организации, особенно когда быстро увеличивается штат или происходит ротация кадров. В системе имеется база данных описаний и рекомендаций по системе контроля качества (Quality Management System), описаниям процессов и стандартов организации, инструкциям, правилам и руководствам (Process Asset Library), а также шаблоны и формы документов внутреннего документооборота и проектной документации.
Еще одно решение, востребованное всеми информационными потребителями организации, — это портал управления знаниями (Knowledge Management), хранилище информации, собранной в рамках проектов и в целом по компании для обмена опытом и передачи знаний. В первую очередь эти ценные сведения нужны для учебных центров компании, аналитиков и проектировщиков, руководителей проектов и ведущих специалистов. «Курс молодого бойца» (Employee Handbook) содержит набор документов и руководство для сотрудников компании, это своеобразный путеводитель для новичков и помощник для опытных сотрудников в различных ситуациях. Здесь же имеются свои «желтые страницы» (Yellow Pages): адресная книга с контактными данными всех сотрудников по всем офисам, организационная структура и персонал компании, фотогалерея, список проектов и ключевых лиц по проектам.
Завоевывает популярность система блогов (Blogs) ИТ-сотрудников.
Также ведется учет аппаратного обеспечения, периферийных устройств и различного оборудования по офисам, проектам и сотрудникам, которым они выделены в полную или частичную загрузку. Это важно, когда возникают запросы на выделение технических ресурсов по проектам. С помощью системы определяется доступность серверов или другого оборудования и их пригодность и совместимость для установки того или иного запрошенного программного обеспечения. Этот модуль позволяет формировать отчет по затратам на технику, если заказчику по условиям контракта можно включать в счета стоимость аппаратного обеспечения или специализированного оборудования.
Число систем и модулей в PMC довольно велико, все они выполнены в едином ключе с точки зрения пользовательского интерфейса и встроенных механизмов управления процессами, статусами объектов, нормативно-справочной информацией, а некоторые ключевые функции интегрированы в приложения Microsoft Office, чтобы планировать работы в Microsoft Project, получать отчеты в Microsoft Excel или заполнить ту или иную форму в Word. Но самое главное то, что «движок» управления потоком задач (workflow) и процессом общий, поэтому через все системы просматриваются сквозные процессы компании. При этом архитектура PMC вполне стандартная — трехзвенное приложение, разработанное на Java-технологиях, совместимое с J2EE-серверами приложений (IBM WebSphere, BEA WebLogic) и серверами баз данных (Oracle, Microsoft SQL Server).
Взгляд с сточки зрения бизнеса
Процесс продаж (формирование портфеля проектов и заказов), начиная с поддержки маркетинга и завершая работой с потенциальными клиентами, обеспечивается CRM. Процесс планирования продаж и доходов ведется в SPF, здесь же фиксируется факт поступления оплаты, производится расчет рентабельности и прибыльности проектов и заказчиков. Уже на этапе предпродажной работы с заказчиком открывается проект в UPSA, планируются и назначаются ресурсы, определяются требования заказчика в PMC Requirements и специальные условия проекта в PMC Environment, работы детализируются в PMC Project Plans, Tasks & Assignments.
Как только открывается проект, в PMC заполняются документы, отчеты и другие его артефакты, ведется обсуждение хода проекта, протоколируются принятые решения, планируются и фиксируются выпуски, результаты тестирования сборок, учитываются выявленные дефекты, проблемы, риски, запросы на изменения требований и техническую поддержку (например, каждое обращение представителей заказчика в рамках гарантийного обслуживания или отдельного договора поддержки ). Главное, отслеживаются все этапы и вехи проекта, а также сроки выполнения назначенных задач по планам проекта. Кстати, модули PMC соответствуют основным стадиям проекта разработки согласно Rational Unified Process.
Учет ресурсов ведется в системах UPSA и PMC, первая из них отвечает за планирование загрузки ресурсов, а вторая — за табель рабочего времени сотрудников, и уже через ESR строятся отчеты по загрузке ресурсов, сверяются план и факт, формируются отчеты по фактически затраченному времени для оформления актов и выпуска счетов. Через ESR, PMC Dashboards и PMC Metrics отслеживаются ключевые метрики проектов и пула ресурсов в целом, строятся различные отчеты и срезы накопленной информации, в первую очередь интересны агрегаты по всему портфелю проектов и ресурсной базе.
Система HRM позволяет вести учет человеческих ресурсов от момента подачи резюме в отдел найма или начала обучения в учебном центре и в течение всего периода работы в организации, включая планирование карьерного роста, прохождение оценок и аттестаций, получение сертификатов, прохождение обучения и различных курсов, а также обеспечивает обратную связь персонала руководству.
Вся совместная работа в рамках проектных групп ведется в PMC, а по общим вопросам все делается через EPIS и его порталы, прежде всего процессы управления знаниями, обучения, ведения «желтых страниц», корпоративной библиотеки, корпоративных блогов и форумов. С помощью справочника и обучающих руководств сотрудники знакомятся с правилами работы в компании и используемыми в ней инструментами.
Остается только отметить, что для ведения бухгалтерии, финансового планирования, бюджетирования, управления и отчетности наша компания внедрила систему mySAP. Из модулей PMC в mySAP передаются сводные данные для составления финансовых транзакций и бухгалтерских проводок, а также расчетов зарплаты и других затрат. На основе информации по взаиморасчетам с контрагентами подводятся доходы и расходы.
На рис. 4 схематично показано покрытие информационными системами функциональных служб организации. Данный рисунок вытекает из схемы на рис. 1, иллюстрируя процесс смены представлений о системе, и позволяет понять траекторию движения компании к созданию собственной системы управления портфелем проектов.
Рис. 4. Автоматизация подсистемами PMC деятельности ИТ-организации
Артак Оганесян (Artak_Oganesyan@epam.com) — директор по развитию бизнеса компании EPAM Systems.