Как стать автором
Обновить

Успешное планирование в ИТ консалтинге. Теория и практика использования JIRA и MSP

Время на прочтение6 мин
Количество просмотров6.8K

1. Введение

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

Проблема заключается в том, что планирование в компании - это несколько процессов:

  • краткосрочное планирование (спринты),

  • планирование проектов\контрактов (календарный план),

  • планирование загрузки ресурсов (ресурсный план),

  • и наконец финансовое планирование (квартал, год и т.д.).

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

2. Про планирование

Планирование является одним из важнейших процессов при управлении проектами разработки программного обеспечения (ПО).

Как правило, в процессах управления производством ПО центральное место занимает какой-нибудь трекер (конечно я не рассматриваю в данной статье и не имею ввиду среды разработки). Поэтому и оперативное планирование опирается на функционал трекера. Последние годы на рынке доминирует JIRA, хотя другие – такие как Redmine не уступают в функциональности. Но рынок есть рынок.

Но для планирования проектов функционала системы трекеров не достаточно, поэтому в ИТ консалтинговых компаниях (особенно которые работают с внешними заказчиками на контрактных условиях) планирование строится на базе промышленных систем, а иногда и просто в excel.

В производстве ПО уже десятилетие культивируется Agile, но в инструментах автоматизации процессов планирования существует разрыв, сложившийся по какой-то причине в ходе развития рынка. Системы календарные планирования ориентированные на создание диаграммы Ганта, такие как MSProject, Primavera, Spider и т.п., существуют давно. В них достаточно развиты инструменты календарного и ресурсного планирования, но отсутствуют возможности, присущие трекерам таким как JIRA, Redmine, TeamTrack – например движение задачи по статусам, формирование оперативных планов (спринтов), панели и dashboard для команды, связи с другими задачами и т.д.

Поэтому разумно выделяется несколько уровней планирования – о них детально рассказываю ниже. На каждом уровне переплетаются процессы взаимосвязанные друг с другом: планирование производства, проектов и финансовое планирование.

А руководителям компании интересно контролировать финансовый план компании, который собирается из всех проектных и процессных активностей. И чаще всего просто в exсel.

3. Уровни планирования

Расскажу более детально о процессах\уровнях планирования. На практике выделяется несколько уровней которые необходимы для дальнейшего управления процессами командами, проектами, компанией.

Первый– самый детальный – уровень описания конкретных требований для аналитика, фичи для разработчиков, тестировщиков, документаторов. На этом уровне оперируют недельными планами, которые можно называть спринтами (не затрагивая в деталях идеологию agile). На этом уровне анализируется бэклог одного или нескольких проектов для формирования плана работ обычно для одной команды. В терминах PMBoK это разработка расписания для проекта. Ключевая специфика – это короткий горизонт планирования и планирование набегающей волной.

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

Третий – планирование загрузки подразделения на период – обычно месяц, квартал, год. План собирается из всех проектов второго уровня и процессов, в которых задействованы ресурсы подразделения, включая обеспечение саппорта, процессы обучения, непроизводственные процессы и т.д. Специфика данного планирования заключается в необходимости формирования загрузки ресурсов подразделения близкой к 100%. На практике этот уровень резервирует ресурсы и показывает проблемные точки загрузки для решения вопросов утилизации.

Четвертый – финансовый план уровня компании, который собирается из планов третьего уровня, и формируется в разрезе подразделений. Ключевая особенность в том, что на этом уровне сводятся и сопоставляются доходы по проектам (второй уровень планирования) с расходами компании (третий уровень планирования).

4. Функциональные архитектуры систем планирования

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

Небольшая ремарка - JIRA плюс GIT c Bitbucket дают на текущий момент широкие возможности по организации процесса разработки и выпуска продукта. При этом в самой JIRA не очень развиты инструменты, нацеленные на планирование больших проектов.

Несколько реализаций в виде плагинов в JIRA, пытающихся повторить функционал, давно реализованный в системах планирования, таких как MSProject, Primavera, Spider и т.п. можно назвать лишь потугами. Да и смысл повторять функционал таких мощных специализированных систем на мой взгляд отсутствует.

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

Хорошие варианты интеграции систем планирования и трекеров мне пришлось наблюдать и в разной степени принимать участие в реализации в таких компаниях интеграторах как БИС, БФТ и РСХБ. Расскажу об архитектуре, различиях и особенностях построения процессов.

4.1. Планирование проектов в трекере

В БФТ мы приняли решение разработать функционал планирования в виде плагина JIRA – это был интересный опыт. На тот момент, когда я уходил из компании в плагине был разработан функционал создания задач с ресурсным таймлайном на сотрудников на заданный период с заданной трудоемкостью. Первый шаг к MSProject -). Сильной стороной архитектуры была интеграция с 1С в части плановых и фактических ресурсных затрат по проектам – это позволяло шагнуть вперед в части формирования финансовых планов по компании в разрезе продуктов и ресурсных центров.

4.2. Централизованное планирование проектов трекер-MSP.

В БИС и РСХБ схему планирования реализовали, используя интеграцию трекера и MSProject. Это решение требует на 2 порядка меньше разработки и сразу дает возможность пользоваться функциями обеих систем и переходить к построению процесса разработки, а не прикладывать титанические усилия для внутренней автоматизации планирования.

В БИС в качестве трекера использовался TeamTrack, все задачи заводились в нем, а в MSProject вручную строилась иерархия и вручную вносились номера задач. После планирования конкретных задач сроки автоматически передавались в задачу TeamTrack. Информация об исполнении передавалась обратно в MSProject. Вот и весь процесс, который позволял централизованно планировать производственные ресурсы всей компании – все гениальное просто.

4.3. Трекер+локальный MSP

В РСХБ тоже используется интеграция JIRA <-> MSProject. При этом каждый руководитель ресурсного центра (являясь при этом РП конкретных проектов или программ\портфелей) создает свой локальный план в MSProject. Минусы такой системы поняты – нужно постоянно синхронизировать расхождения (по срокам, списку задач и загрузке), т.к. одни и те же ресурсы могут использоваться в различных проектах MSProject.

Теперь о плюсах - задачи из MSProject можно в автоматизированном режиме создавать в JIRA. При создании задач используется соглашение об иерархии основанное на структуре проектов в JIRA в РСХБ. Соответствие иерархии задач выглядит примерно так как на рисунке:

При этом всего три интеграционных сервиса позволяют выполнить все работы по планированию и контролю планов в связке MSProject<->JIRA:

  • Создание задач из MSProject в JIRA.

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

  • Обновление конкретных задач JIRA ->MSProject.

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

  • Загрузка новых задач JIRA->MSProject.

Позволяет при необходимости выгружать в MSProject из JIRA перечень привязанных к выбранной задаче (или эпику) задач в виде иерархии.

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

Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии3

Публикации

Истории

Работа

Ближайшие события