Введение
В настоящее время, в России огромное количество небольших проектов внедрения оканчиваются не в срок, с превышением бюджета и не полностью удовлетворяя требованиям. Думаю, что часто многих проблем внедрения, возникающих на проекте можно было бы избежать если иметь четкую и внятную методику внедрения. Методик именно для небольших проектов я не нашел. Есть общие правила, методологии, но не прикладные пошаговые методики. Данное исследование посвящено как раз разработке подобной методики. Все, кому интересно поучаствовать и внести свой вклад в разработку данной методики - милости прошу, присоединяйтесь.
Данная методика внедрения ориентирована на проекты, команда управления проектом в которых имеет численность до 5 человек (чаще всего 1-3), длительность проекта ~6 мес. и бюджет проекта до 1 млн. руб. Примерами подобных проектов могут служить внедрение небольших учетных систем, специализированных систем поддержки операционной деятельности компаний (например, туристических фирм), внедрение типового сайта (не написание CMS с нуля) и тому подобные проекты.
В настоящий момент работа планируется следующим образом: в данный раздел будут выкладываться материалы для правки и обсуждения. Надеюсь на вашу помощь в разработке данной методики. Разработку, на мой взгляд логичнее вести сверху вниз, т.е. сначала определить фазы проекта, затем определить, какие именно действия выполняются на каждой фазе проекта и далее детализировать по исполнителям, шаблонам документов и т.д.
В общем, я думаю понятно. Начнем!
Обновление от 04.02.2010: открыта дискуссия в Форуме [1]
Я предполагаю, что проект внедрения должен быть поделен на несколько этапов. Каждый этап может заканчиваться подписанием договора на следующий этап, хотя рекомендуется заключать договор на все этапы сразу. Ниже перечисляю название этапов и даю их краткое описание:
1.Диагностика - начинается у Консультанта (внедряющей компании) с момента появления возможности продажи проекта (поступления RFP, RFI и т.п.), у Заказчика с момента открытия проекта (оценка альтернатив, анализ рынка). Заканчивается диагностика подписанием договора на следующий этап(ы). Диагностика - этап продажи проекта. На данном этапе должно быть сформировано общее представление о проекте, используемых подходах, целях и границах проекта.
2.Анализ - первый формальный этап, на котором выполняются работы по достижению целей проекта. Если на этапе диагностики внимание уделяется определению целей и границ проекта, то на этапе анализа основное внимание сосредоточено на определение путей достижения этих целей, на определении и планировании работ. На данном этапе определяются функциональные требования к системе и возникает план проекта. При необходимости, подписывается договор на следующий этап (если не был подписан).
3.Проектирование - этап проектирования предназначен для определения как именно будут реализовываться требования Заказчика к системе. На данном этапе по каждому функциональному требованию пишется техническое описание реализации требования в системе. В случае, если у Заказчика или Консультанта уже есть система и проведен GAP анализ, то техническое описание пишется по каждому найденному разрыву, в ином случае, пишется техническое задание на систему в целом. При необходимости, подписывается договор на следующий этап (если не был подписан).
4.Разработка - этап разработки является этапом создания системы и ее первичной проверки соответствия утвержденным требованиям. Кроме того, данный этап включает в себя создание интерфейсов системы, интеграций, а также технических средств для миграции данных.
5.Развертывание - целью данного этапа является подготовка запуска в эксплуатацию разработанной/доработанной системы. Главный акцент на данном этапе делается на приемочном тестировании, обучении пользователей и, если необходимо на тестировании производительности. Также, на данном этапе оканчивается миграция данных.
6.Закрытие - на данном этапе выполняется формальное завершение проекта. Целью данного этапа является предоставление начальной поддержки, а также преобразование проектных результатов в проектные активы компании.
Пункт 1 стоит особняком в связи с тем, что его цели отличаются от целей всего проекта. Именно выяснение целей проекта и является этапом диагностики. Если их возможно сформулировать измеряемых и проверяемых показателях и Заказчик готов сразу подписать договор, либо подписание договора не требуется, можно игнорировать данный этап и переходить к этапу анализа.
Этап «Диагностика»
Цель
Первым этапом любого проекта согласно методологии является этап «Диагностика». Данный этап является важным с коммерческой точки зрения. Целью этапа является получение информации, достаточной для составления сбалансированного коммерческого предложения на дальнейшие этапы проекта. Основными результатами данного этапа являются контракт, коммерческое предложение (содержит краткое содержание проекта и смету работ), а также высокоуровневый план проекта и высокоуровневый устав проекта.
Результаты
Результатами на данном этапе являются:
Начало
Данный этап начинается с момента появления возможности у продавца продать проект. Например, при возникновении RFI (запроса информации) или RFP (запроса предложения) со стороны потенциального клиента.
Окончание
Данный этап завершается подписанием договора на следующий этап.
Описание
На данном этапе происходит сбор ожиданий клиента и преобразование их в первичные требования к системе. Далее, получив, в общих чертах, достаточных для общей оценки работ, требования к системе, происходит составление и оценка содержания работ, и формирование первого варианта проектной сметы и первичного содержания работ для коммерческого предложения. В случае, если в коммерческом предложении нет необходимости (Заказчик готов заключить контракт на следующий(ие) этап(ы)), можно перейти к оформлению высокоуровневого плана проекта и высокоуровневого устава проекта и затем, в дальнейшем, к заключению контракта.
На данном этапе могут формироваться дополнительные документы, например таблица анализа соответствия/несоответствия уже существующей системы (если внедрена у Заказчика или есть для продажи у Консультанта) высокоуровневым требованиям. Также, на данном этапе происходит черновое определение ресурсов, необходимых для выполнения проекта.
На этапе диагностики, формируется общее представление о проекте, которое в дальнейшем будет детализироваться. Важно не затягивать данный этап, т.к. затраты на данном этапе несет в первую очередь Консультант.
Этап «Анализ»
Цель
Этап анализа является первым официальным этапом проекта для Заказчика. На данном этапе выполняется формальная инициация проекта у Заказчика и Консультанта, выделение ресурсов, планирование проекта. Главными целями данного этапа являются подписание контракта на следующий этап, устава проекта, плана проекта, создание и подписание функциональных требований, анализ решения (включая анализ “разрывов” или GAP анализ). Данные документы формализуют требования и дают понять как именно будет выполняться проект.
Результаты
Результатами на данном этапе являются:
В случае существования системы у Заказчика или Консультанта:
Начало
Началом этапа анализа является подписание контракта на данный этап, либо формальный акцепт со стороны Заказчика данного этапа.
Окончание
Данный этап завершается подписанием договора на следующий этап.
Описание
Данный этап начинается с постановочной встречи. На встрече обязательно присутствует Спонсор проекта и Заказчик проекта, а также менеджер проекта. Во время встречи происходит ознакомление руководства с общим подходом к содержанию проекта, рассматриваются цели проекта и методы их достижения, утверждаются роли, ресурсы и вехи проекта.
Также, на данном этапе проводится встреча проектной команды, на которой происходит первичное обсуждение проекта командой проекта.
По завершению совещаний, начинается работа по сбору и уточнению данных. На основе полученных результатов формируются функциональные требования к системе. Одновременно, собираются, анализируются и детализируются технические требования к системе.
Важной частью данного этапа является GAP анализ (анализ разрывов). В случае, если внедрение системы происходит не с нуля (т.е. нет необходимости писать систему заново, а можно доработать существующую), то необходимо проанализировать как требования Заказчика “ложатся” на возможности системы и выявить расхождения. Такие расхождения между требованиями Заказчика и функциональностью системы называются разрывом (GAP). В конце фазы анализа происходит пересмотр и утверждение требований к системе Заказчиком. Данный пересмотр может повлиять на все параметры проекта в случае добавления или снятия требований.
На данном же этапе происходит уточнение проектных документов, включая план проекта.
Этап «Проектирование»
Цель
Этап проектирования предназначен для определения как именно будут реализовываться требования Заказчика к системе. На данном этапе по каждому функциональному требованию пишется техническое описание реализации требования в системе. В случае, если у Заказчика или Консультанта уже есть система и проведен GAP анализ, то техническое описание пишется по каждому найденному разрыву, в ином случае, пишется техническое задание на систему в целом.
Результаты
Результатами на данном этапе являются:
В случае существования системы у Заказчика или Консультанта:
В случае отсутствия системы у Заказчика или Консультанта:
Начало
Данный этап начинается по завершению этапа анализа. К началу данного этапа должны быть утверждены функциональные требования, а при наличии системы у Заказчика либо Консультанта должен быть закончен GAP анализ.
Окончание
Данный этап завершается подписанием договора на следующий этап и утверждением технических заданий.
Описание
Этап проектирования начинается по завершению этапа анализа и использует результаты предыдущего этапа. Суть этапа проектирования в следующем: после того, как определены требования к системе необходимо спроектировать, как эти требования будут реализованы в системе. Также этап проектирования предназначен для формирования в команде Заказчика ядра команды, путем обучения и активного привлечения специалистов со стороны Заказчика, которая в дальнейшем сможет поддерживать систему. На данном этапе начинает формироваться документация, которая впоследствии будет дополняться, уточняться и использоваться на протяжении всего срока жизни системы. Кроме прочего, данный этап определяет технические подходы, которые будут использоваться в процессе создания/доработки системы и различных сред (описания дополнительных сред), и наполнении их данными (миграция данных, интеграция с третьими системами), а также в процессе тестирования (тестовые сценарии, план тестирования) и обучения (план обучения). На данном этапе уточняется план проекта и происходит одобрение заказчиком технических заданий на GAP’ы/систему, интеграцию, миграцию данных, а также акцепт трудозатрат на реализацию данных технических заданий в системе.
Также, на данном этапе создаются дополнительные среды разработки/тестирования/обучения. Данный этап является одним из наиболее важным и критичным к ошибкам, с точки зрения затрат. На данном этапе стоимость исправления ошибки гораздо ниже, чем на последующих, поэтому этапу Проектирования необходимо уделять наиболее пристальное внимание. На данном этапе такие проектные документы как план-график работ, содержание работ, реестр рисков и реестр вопросов необходимо пересматривать не реже чем еженедельно. Также, на данном этапе пристальное внимание уделяется рискам и составлению плана управления рисками.
Главными результатами данного этапа являются окончательно сформированные и утвержденные Заказчиком функциональные и технические требования, а также утвержденное техническое задание на создание/доработку системы. Данный этап завершается при наличии технической возможности в конфигурировании/доработке/создании системы (созданы среды, утверждены требования и техническое задание, …), и наличии гарантий оплаты работ (подписанный контракт на следующий этап.
Этап «Разработка»
Цель
Целью этапа разработки является создание системы и ее первичная проверка соответствия утвержденным требованиям. Кроме того, данный этап включает в себя создание интерфейсов системы, интеграций, а также технических средств для миграции данных.
Результаты
Результатами на данном этапе являются:
Начало
Данный этап начинается по завершению предыдущего этапа. Должны быть сформированы и утверждены техническое задание по системе или технические задания по GAP’ам. Должны быть утверждены функциональные требования. Должны быть утверждены технические требования.
Окончание
Данный этап завершается подписанием договора на следующий этап и окончанием разработки системы, а также механизмов интеграции, интерфейсов и механизмов, предназначенных для миграции данных.
Описание
На данном этапе большое внимание уделяется управлению проектом, а в частности управлению изменениями. Происходит постоянное выявление и исправление дефектов, оформление и согласование запросов на изменение, обновление плана-графика работ. Также на данном этапе происходит конфигурирование системы, в том числе ролей безопасности и прав пользователей. На этапе разработки происходит написание кода системы или ее доработок, кода интерфейсов и механизмов интеграции, а также создание технических средств для миграции данных.
На данном же этапе проводится модульное, интеграционное и системное (функциональное) тестирование. При необходимости проводится подготовка к нагрузочному тестированию.
На данном этапе окончательно формируются производственная и непроизводственные среды. Завершается описание функциональных требований, технических заданий, учебных материалов, и прочей документации. Заказчик закупает оборудование для системы (при необходимости). Помимо прочего, на данном этапе проверяется выполнение требований Заказчика к качеству системы.
Этап «Развертывание»
Цель
Целью данного этапа является подготовка запуска в эксплуатацию разработанной/доработанной системы. Главный акцент на данном этапе делается на приемочном тестировании, обучении пользователей и, если необходимо на тестировании производительности. Также, на данном этапе оканчивается миграция данных.
Результаты
Результатами на данном этапе являются:
Начало
Данный этап начинается с момента окончания предыдущего этапа (Разработка). Целью этапа развертывания является подготовка ввода в эксплуатацию разработанной системы. А также обеспечение возможности работы с данной системой путем обучения персонала и создания пользовательских инструкций.
Окончание
Окончанием этапа является подписание Заказчиком акта сдачи-приемки системы.
Описание
На этапе развертывания большое значение имеет управление проектом. На данном этапе очень важно отслеживать состояние дефектов и управлять ими. Также, здесь могут возникнуть запросы на изменения. Необходимо постоянно отслеживать ход работ и отражать изменения в плане-графике работ.
Ввод в эксплуатацию системы должен производиться согласно утвержденному плану развертывания. План ввода в эксплуатацию должен содержать в себе работы, необходимые для корректного ввода в эксплуатацию системы, а также меры, предпринимаемые в случае форс мажорных обстоятельств, которые могут возникнуть при вводе системы в эксплуатацию.
Перед тем, как начать эксплуатировать систему осуществляется ее приемка Заказчиком, для чего используется приемочное тестирование. В случае необходимости для уверенности в производительности системы используется тестирование производительности системы. После того, как Заказчик подписал акт сдачи-приемки, он может принять решение как о вводе системы в эксплуатацию, так и об переносе даты ввода системы в эксплуатацию. Здесь важно четко разделять момент ввода системы в эксплуатацию и момент готовности системы к эксплуатации. Обязанностью Консультанта является подготовить систему к запуску, чтобы Заказчик смог в любой момент начать с ней работать. Решение о начале работ лежит на Заказчике. В работы по подготовке системы также входят работы по первоначальному конфигурированию системы и рабочей среды, которые по тем или иным причинам невозможно было сделать на предыдущем этапе.
Помимо работ по подготовке системы, на данном этапе проводятся работы по подготовке персонала для работы с системой. Обучаются тренеры, которые в дальнейшем будут обучать работе с системой персонал на местах, а также ключевые пользователи. Пишутся пользовательские инструкции.
Этап «Закрытие»
Цель
На данном этапе выполняется формальное завершение проекта. Целью данного этапа является предоставление поддержки, а также преобразование проектных результатов в проектные активы компании.
Результаты
Результатами на данном этапе являются:
Начало
Данный этап начинается с акта сдачи-приемки системы.
Окончание
Окончанием этапа является оформление изученных уроков и закрытые контракты по проекту.
Описание
На данном этапе происходит формальное завершение проекта и передача системы на поддержку. Происходит окончательный расчет с Заказчиком, формируется упорядоченный архив проекта для будущего использования (остается как у Консультанта, так и у Заказчика), также создается документ с изученными уроками (описание проблем и методов их разрешения на проекте, специфики проекта, сработавших рисков и т.д.). Также, на данном этапе окончательно закрываются незакрытые контракты с субподрядчиками, начинается подготовка пресс релиза (если возможно). Заключается контракт на поддержку системы и Заказчик оформляет письмо об успешном завершении проекта.
На данном этапе окончательно передается все проектная информация и информация о системе от Консультанта к Заказчику.
Ссылки:
[1] http://www.lessonslearned.ru/forum-discussion--research-002-general