СТАТЬЯ |
21.05.03
|
Д. Дж. Де'Вильес, консультант по процессам
Когда организация собирается внедрить новый процесс или инструмент, возникает множество вопросов. Какова оптимальная комбинация процесса и инструментов? Какая стратегия внедрения будет наиболее эффективна? Находит ли этот проект полное одобрение внутри организации? Каковы возможности организации для модернизации? Эти вопросы рассматриваются в данной статье на основании личного опыта внедрения Rational Unified Process® (RUP®) и Rational Suite® в крупных и малых организациях1. |
В зависимости от условий проекта, организация может выбрать любую из нескольких стратегий внедрения RUP:
Все эти стратегии рассматриваются ниже. Определения терминов приводятся в разделе "Терминология RUP".
При использовании стандартной стратегии, процесс и инструменты сначала внедряются в пилотном проекте, который длится 3-4 месяца и в котором задействовано от 10 до 15 человек. Перед началом проекта создается конфигурация RUP в документе Описание процесса разработки, адаптированном к конкретному проекту, и выбираются проектные инструменты. После завершения пилотного проекта подготавливается документ Организационная среда разработки (Organizational Development Environment, ODE). На этой стадии новый процесс и инструменты оцениваются руководством процесса разработки ПО (Software Engineering Process Authority, SEPA)2. Разработанные в ходе пилотного проекта описание процесса разработки и инструкции адаптируются для всей организации, а сотрудники группы пилотного проекта становятся инструкторами для других проектов (см. рис. 1).
Рисунок 1. Стандартная стратегия внедрения
Как видно по названию, это наиболее часто используемая стратегия. В ней есть свои плюсы и минусы (см. табл. 1), но она особенно эффективна в той ситуации, когда организация скептически воспринимает изменение производственного процесса. Поскольку существует риск задержки завершения пилотного проекта, достаточно разумно опробовать внедрение на срочном проекте, помня при этом о потенциальных эффектах возможной задержки.
Таблица 1. Преимущества и недостатки стандартной стратегии
Стандартная стратегия |
|
Преимущества |
Недостатки |
Быстрое применение процесса и инструментов |
Масштаб процесса изначально ограничен одним проектом. |
Возможность точной настройки процесса |
Возможна задержка завершения пилотного проекта. |
Группа пилотного проекта может инструктировать участников других
проектов. |
Организации сложно поддерживать импульс пилотного проекта3. |
Инструкции базируются на реальном опыте. |
В распределенной стратегии для начального внедрения процесса и инструментов используются несколько проектов (см. рис. 2). Поскольку при этом задействуется большая часть организации, процесс и инструменты могут быть применены в различных предметных областях и средах. Фаза подготовки среды занимает больше времени, так как требуется согласование различных оценок, описаний процесса разработки и инструкций. Как и в стандартной стратегии, члены пилотных групп используются впоследствии в качестве инструкторов для будущих проектов, при этом рост числа инструкторов позволяет запустить большее количество проектов.
Рисунок 2. Распределенная стратегия внедрения
Эта стратегия применима в тех случаях, когда организация хочет сравнить эффективность процесса и инструментов в различных сценариях (например, среда мэйнфрейма в сравнении со средой Java или собственная разработка в сравнении с договорными проектами). Рост трудоемкости и сложности делает эту стратегию более дорогостоящей в сравнении со стандартной (см. табл. 2).
Таблица 2. Преимущества и недостатки распределенной стратегии
Распределенная стратегия |
|
Преимущества |
Недостатки |
Процесс может применяться в различных предметных областях |
На начальном этапе требуется обучение большого числа сотрудников. |
После завершения пилотных проектов доступно большое количество инструкторов. |
Более длительная стадия подготовки среды. |
Снижения уровня сложности в отдельных проектах. |
Возможно возникновение конфликтов между процессами, требующих разрешения. |
Риск неудачного внедрения распределяется между несколькими проектами. |
Более высокий уровень организационной сложности на начальном этапе. |
Организации сложно поддерживать импульс пилотных проектов. |
При использовании быстрой стратегии процесс и инструменты внедряются в проекты без предварительной проверки их эффективности и без опыта работы с ними (см. рис. 3). Результаты выполнения этих проектов должны быть обязательно переданы SEPA, чтобы предотвратить синдром "башни из слоновой кости"4. Риск неудачного исхода в этой стратегии существенно выше, поскольку имеющийся запас времени не позволяет организации допускать ошибки, исправлять их и адаптироваться к изменениям.
Рисунок 3. Быстрая стратегия внедрения
Эта стратегия эффективна в тех случаях, когда текущий производственный процесс очень похож на RUP или организация уже использует некоторые из внедряемых инструментов, что ускоряет процесс обучения. Данная стратегия также применима тогда, когда проблемы организации настолько серьезны, что любое изменение может считаться усовершенствованием (см. табл. 3).
Таблица 3. Преимущества и недостатки быстрой стратегии
Быстрая стратегия |
|
Преимущества |
Недостатки |
Очень быстрый запуск проектов |
Процесс и инструменты не проходят предварительного испытания в организации. |
При использовании сходного производственного процесса или инструментов
значительно ускоряется процесс обучения. |
Риск синдрома "башни из слоновой кости". |
Повышенная вероятность создания громоздкого производственного процесса. |
При использовании этой стратегии, описание процесса разработки, созданное в начальном пилотном проекте, постепенно уточняется в нескольких последующих пилотных проектах (см. рис. 4). Инструменты могут внедряться постепенно в каждом проекте. Использование нового производственного процесса и инструментов затем распространяется подобно нефтяному пятну, по мере достижения нарастающих успехов в небольших проектах. Стадия окончательной подготовки среды сокращается, так как описание процесса разработки и инструкции не требуют существенных уточнений. При использовании этой стратегии очень важным становится быстрое достижение небольших успехов (быстрых побед), которые подтверждают значение и прогресс внедрения. В противном случае организация может потерять конечную цель из виду, а развитие может постепенно заглохнуть.
Рисунок 4. Осторожная стратегия внедрения
Осторожная стратегия обычно применяется тогда, когда возможности для модернизации организации невелики или требуется внести много изменений. В этих случаях изменения требуют тщательного планирования и должны выполняться пошагово (см. табл. 4).
Таблица 4. Преимущества и недостатки осторожной стратегии
Осторожная стратегия |
|
Преимущества |
Недостатки |
Сокращенная стадия формирования среды. |
Проекты запускаются позже. |
Постепенное уточнение описания процесса разработки. |
Масштаб процесса ограничен одной прикладной областью/стратегией |
Организация получает время на адаптацию к изменениям. |
Процесс слишком длителен, чтобы гарантировать быстрый возврат инвестиций. |
Снижение уровня сложности в отдельных проектах. |
Организации сложно поддерживать импульс пилотных проектов |
Максимальная вероятность успеха (при условии достижения быстрых результатов). |
Организации, устанавливающие организационную среду разработки, могут выполнять этот проект параллельно пилотным проектам, описанным в других стратегиях. Как правило, эта стратегия комбинируется со стандартной, как показано на рис. 5. Роль SEPA заключается в инструктаже и поддержке пилотного проекта, который дает для SEPA информацию о применении производственного процесса и инструментов.
Рисунок 5. Стратегия внедрения, основанная на организационной среде разработки
Эта стратегия может использоваться для смягчения жесткости условий пилотного проекта или в случае отсутствия разрабатывающей организации. Объединение этой стратегии с несколькими пилотными проектами значительно повышает сложность управления проектом (см. табл. 5).
Таблица 5. Преимущества и недостатки стратегии, основанной на организационной среде разработки
Стратегия, основанная на организационной среде разработки |
|
Преимущества |
Недостатки |
Инструктаж в пилотном проекте может выполняться SEPA. |
Более высокий уровень накладных расходов в пилотных проектах. |
Сокращенная стадия формирования среды. |
Риск синдрома "башни из слоновой кости". |
Организации проще поддерживать импульс пилотных проектов. |
Более высокий уровень организационной сложности |
Непосредственная обработка и распространение опыта пилотных проектов. |
Цель пилотных проектов заключается не только в выпуске продукта, но также и в применении нового производственного процесса, технологии или инструментов. В число наиболее важных требований к пилотным проектам входят следующие:
Если пилотный проект был начат до внедрения процесса, важно правильно позиционировать проект внутри соответствующей фазы жизненного цикла RUP. Если проект находится в фазе обследования или в начальной стадии проработки, то, как правило, можно выделить достаточно времени для внедрения нового процесса и инструментов, не подвергая при этом риску срок завершения проекта. Промедление с внедрением нового процесса или инструментов до более поздней стадии дестабилизирует проект, поскольку проектная группа должна будет сосредоточить свое внимание на адаптации к изменениям. Это может привести к задержке выполнения проекта, а если группа увязнет в проблемах, то, в некоторых случаях, даже к его закрытию. Четкий запуск проекта дает возможность установить реалистичные ожидания, обеспечить доступность для пользователей и сформировать проектную группу. Если проект уже стартовал, то эти вопросы должны быть решены немедленно.
Как правило, процесс и инструменты внедряются в фазах обследования и проработки, как это показано с помощью приоритетных направлений в таблице 6. В фазе обследования основные усилия нацелены на управление требованиями и проектом. Цель фазы обследования в пилотном проекте заключается в подтверждении спонсорского участия (в первую очередь – в организационных изменениях, и лишь затем – в разработке продукта). В фазе проработки основное внимание уделяется проектированию и управлению конфигурацией и изменениями. В этой фазе проводится внедрение инструментов тестирования, однако, их активное использование начинается позднее. Основная цель фазы проработки пилотного проекта заключается в устранении рисков, связанных с новым процессом и инструментами. В фазе построения новые инструменты уже не внедряются, а проектная группа сосредотачивает свои усилия на разработке продукта и повышении производительности. Цели фазы построения в пилотном проекте заключаются в стабильной и эффективной работе и в создании конечного продукта. В фазе передачи продукта в эксплуатацию проектная группа более тесно сотрудничает с SEPA, а основное внимание уделяется оценке использования процесса и инструментов в проекте.
Таблица 6. Приоритетные направления и цели фаз жизненного цикла RUP
Обследование | Проработка проекта | Создание | Передача в эксплуатацию | |
Приоритетное направление | Управление требованиями Управление проектом |
ПроектированиеУправление конфигурацией / изменениямиТестирование | ПродуктСтабильность Эффективность |
ПоставкаОценка |
Цели | Указываются спонсорами |
Устранение рисков | Законченный продукт | Сбор приобретенного опыта |
Обучение является ключом к успеху, поэтому до начала проекта все члены проектной группы должны пройти двухдневный курс по основам RUP. В зависимости от квалификации и опыта, сотрудникам может также потребоваться дополнительное обучение в конкретных областях. Например, для разработчиков может потребоваться обучение языку UML, а для пользователей – обучение использованию прецедентов и управлению требованиями. Если прикладные области углубленного обучения и пилотного проекта совпадают, то проектная группа может подготовить мини-проект, аналогичный пилотному, не опасаясь возможной неудачи и не тратя напрасно время. Важным побочным результатом обучения является создание сплоченного коллектива, который формируется лишь в том случае, если члены группы обучаются совместно.
Обучение, связанное с конкретным инструментом, проводится перед планируемым использованием этого инструмента. В проектной среде такое обучение обычно проводится в форме семинара, на котором изучаются функции инструмента, имеющие отношение к проекту, а основное внимание уделяется артефактам проекта.
Когда проектная группа начинает внедрять новую технологию или методику, ей требуется инструктаж. В обычном курсе обучения приводимые примеры лишь иллюстрируют применение теоретических концепций. Большинству людей впоследствии трудно сразу использовать эти новые концепции в решении реальных проблем. Инструктор может помочь слушателям в обсуждении вопросов и сомнений, направить их к решению и проверить создаваемые артефакты. Хотя инструктаж не может полностью заменить углубленное обучение, он является эффективным способом совмещения обучения с практикой и не заставляет искать компромисс между качеством и сроками работы.
Внедрение RUP в организации включает в себя выполнение следующей последовательности операций (см. рис. 6):
Эти операции обсуждаются ниже. Их выполнение может также носить итеративный характер, как это описывается Филиппом Крюхтеном (Philippe Kruchten) .
Рисунок 6. Внедрение RUP в организации
Цель: определение масштаба и целей внедрения нового процесса и инструментов, определение ожиданий основных заинтересованных сторон и группы Rational.
Созданная в этой операции концепция системы7 будет использоваться в качестве критерия в операции 6: Оценка достижений. Определение целей происходит на совещании с участием спонсоров и приглашенного технического менеджера Rational (см. раздел "Терминология RUP"), на котором должно быть достигнуто соглашение по следующим вопросам:
Краткое описание операции 1: Определение целей и ожиданий | |
Продолжительность | Один день |
Результат | Концепция системы, в которую входят события и мероприятия9 , подлежащие планированию в операции 2: Планирование выполнения работ. |
Цель: составление графика выполнения работ, удовлетворяющего зависимостям между определенными в операции 1: Определение целей и ожиданий событиями, мероприятиями и доступными ресурсами.
Этот график составляется на совещании с участием приглашенного технического менеджера Rational и руководителя проекта. На этом совещании должны быть решены следующие задачи:
Краткое описание операции 2: Планирование выполнения работ |
|
Продолжительность |
Один день |
Результат |
График выполнения работ, описывающий события и мероприятия, их время,
место, участников и связанные с ними ожидаемые расходы. |
Цель: создание описания процесса разработки для конкретного проекта или организации.
Точные сроки шагов этой операции зависят от выбранной стратегии внедрения. Данная операция обычно выполняется параллельно с другими и состоит следующих шагов:
Краткое описание операции 3: Конкретизация RUP |
|
Продолжительность |
2–10 дней |
Результат |
Описание процесса разработки (документ Word или HTML-оболочка). |
Цель: обучение проектной группы стандартному процессу RUP и его адаптации к проекту или организации, определенной в описании процесса разработки (см. операцию 3: Конкретизация RUP).
Группа проходит двухдневный учебный курс по основам RUP и участвует в совещании перед запуском проекта, на котором представляется описание процесса разработки10.
Краткое описание операции 4: Обучение проектной группы |
|
Продолжительность |
Обучение основам RUP – 2 дняСовещание перед запуском проекта – полдня |
Результат |
Персонал подготовлен к использованию RUP и ознакомлен с описанием процесса
разработки. |
Цель: инструктаж группы пилотного проекта относительно использования стандартного процесса RUP и его адаптации в соответствии с описанием процесса разработки.
Инструктаж проводится специалистом Rational по разработке ПО, который отвечает на вопросы сотрудников, участвует в дискуссиях и руководит ими, а также проверяет артефакты, создаваемые проектной группой. Если организация намерена установить среду разработки, то инженер процесса также проходит инструктаж по мере необходимости.
Краткое описание операции 5: Инструктаж проектной группы |
|
Продолжительность |
Зависит от масштаба проекта, количества пилотных проектов, стратегии
внедрения и компетенции сотрудников. Как правило, в первые 4-6 недель занимает
по одному дню в неделю, далее – меньше. |
Результат |
Проектная группа способна самостоятельно применять новый процесс и инструменты.
Успех этой операции часто сложно оценить количественно. Приглашенный технический
менеджер Rational обычно определяет момент снижения частоты инструктажей
на основании своей уверенности в самостоятельности проектной группы. |
Цель: выполнение оценки достижений проектной группы (или организации) во внедрении RUP и определение следующих действий по дальнейшему развертыванию производственного процесса и инструментов.
Оценка проводится специалистом (или специалистами) Rational по разработке ПО, как правило – путем опроса основных заинтересованных сторон. Следующие шаги базируются на отчете по результатам оценки и определяются при обсуждении с участием приглашенного технического менеджера Rational и спонсоров проекта.
Краткое описание операции 6: Оценка достижений |
|
Продолжительность |
1–2 дня на опросы и 1 день на составление отчетаПолдня на обсуждение |
Результат |
Основные заинтересованные стороны получают отчет по результатам оценки
внедрения. |
На основании нашего опыта мы составили списки основных причин успешного и неудачного внедрения в организации нового производственного процесса и инструментов. Организационные изменения не могут навязываться принудительно, их внедрение должны быть управляемым. На внедрение изменений влияют многие факторы, такие как квалификация персонала, его отношение к работе и мотивация, существующий производственный процесс и инструменты, структура организации и ее культура. Эти особенности процесса11 определяют конкретную конфигурацию RUP, используемую в проекте или в организации, а также наиболее подходящую стратегию его внедрения.
В этой статье были рассмотрены вопросы, которые следует принимать во внимание при внедрении нового производственного процесса и инструментария в организации. Выбор стратегии внедрения зависит от ресурсов и времени, выделяемых на внедрение. В стандартной стратегии широкому развертыванию процесса предшествует пилотный проект. Возможна реализация нескольких пилотных проектов, выполняемых последовательно или параллельно, что позволяет применить новый процесс и инструменты в более широкой области.
План внедрения включает в себя следующие операции:
Наиболее частыми причинами неудач являются попытки слишком резких и масштабных изменений, недостаточная поддержка руководства и отсутствие у заинтересованных сторон информации о ходе проекта. Успех проекта обеспечивается следующими факторами: прагматический подход к работе, распределенное владение процесса, обучение и инструктаж, а также эффективный обмен информацией.
Приведенные в этой статье оценки продолжительности и трудоемкости внедрения соответствуют типичным проектам и организациям. При планировании конкретного внедрения их можно использовать в качестве ориентиров, но при этом нужно обязательно следить за ходом проекта и уточнять план по мере необходимости.
И в заключение – если люди увидят, что вам нравится ваша работа, они захотят в ней участвовать!
Ниже приведены некоторые термины, используемые при внедрении RUP.
Менеджер по работе с клиентом (Account Manager): сотрудник компании Rational,
несущий финансовую ответственность за конкретного заказчика Rational Software.
Описание процесса разработки (Development Case): документ или web-страница
с описанием адаптации RUP к проекту или организации заказчика.
Инструкции (Guidelines): документы, создаваемые перед началом проекта, в которых
фиксируются решения относительно существующих стандартов или стратегий. Инструкции
обычно обновляются в ходе проекта на основании опыта проектной группы. Примеры:
инструкция по моделированию прецедентов, инструкция по проектированию.
Организационная среда разработки (Organizational Development Environment, ODE):
организационные стандарты производственного процесса, инструментов и методик,
единообразно используемые во всех проектах.
Пилотный проект (Pilot Project): проект, проверяющий концепцию использования
нового процесса и инструментов. Пилотные проекты обычно проводятся организациями
до полного развертывания процесса в целях минимизации риска неудачного внедрения.
Инженер процесса (Process Engineer): лицо (или группа), несущее ответственность
за конфигурирование RUP путем создания и ведения описания процесса разработки.
Инженер процесса работает в тесном сотрудничестве с руководством процесса разработки
ПО, но не обязательно входит в его состав.
Руководитель проекта (Project Manager): лицо (или группа), ответственное за
планирование, комплектование персоналом и отслеживание реализации проекта.
В данном контексте "проект" может быть либо пилотным проектом, либо
полномасштабным проектом по установке организационной среды разработки.
Rational Unified Process (RUP): определяемый архитектурой итеративный процесс
разработки ПО, разработанный Rational Software. RUP основан на web-технологии
и представляет собой описание ролей, артефактов и операций, позволяющее применять
оптимальные методики разработки ПО.
Руководство процесса разработки ПО (Software Engineering Process Authority,
SEPA):14 лицо (или группа), владеющее процессом и несущее ответственность за
управление им и его поддержку в проектах. В более формальных случаях SEPA (например,
отдел кадров) определяет стандарты процесса и проводит проверки проекта.
Специалист по разработке ПО (Software Engineering Specialist): консультант
Rational, обладающий опытом в конкретной области разработки ПО. По мере необходимости,
определяемой приглашенным техническим менеджером Rational, эти консультанты
обычно проводят обучение и инструктажи.
Приглашенный технический менеджер (Technical Engagement Manager, TEM): сотрудник
Rational, несущий техническую ответственность за успешное внедрение RUP и Rational
Suite в организации заказчика.
Автор выражает признательность Гарри Полайс (Gary Pollice), Джону Смиту (John Smith), Синди Ван-Ипс (Cindy VanEpps), Эрику Лопес Кардозо (Eric Lopes Cardozo), Катерине Саусвуд (Catherine Southwood) и Марлен Эллин (Marlene Ellin) за их терпение и помощь в работе над этой статьей.
1. Alistair Cockburn, Surviving Object-Oriented Projects: A Manager's Guide.
Addison-Wesley, 1997.
2. Philippe Kruchten, The Rational Unified Process: An Introduction, 2nd ed.
Addison- Wesley, 2000.
3. Walker Royce, Software Project Management, A Unified Framework. Addison-Wesley,
1998.
Дополнительная информация
1 Следует отметить, что средние цифры, приводимые в этой статье, основаны на опыте крупных финансовых организаций. Статистика для более мелких компаний или же компаний, занимающихся договорной разработкой ПО, может немного отличаться.
2 Если на этой стадии еще не создан формальный орган SEPA, то эту роль может выполнять группа представителей.
3Этот пункт требует пояснения. После завершения пилотного проекта во многих организациях встает вопрос: "Что же дальше?" В этот момент бывает очень трудно включить остальные части организации в созданную среду разработки. Чтобы избежать этих трудностей, стадия формирования среды должна планироваться всеми задействованными сторонами во время пилотного проекта. Это обеспечивает сохранение импульса, полученного организацией от пилотного проекта. В противном случае стадия формирования среды может растянуться на месяцы.
4Синдром "башни из слоновой кости" может возникнуть в том случае, если группа, определяющая стандарты и инструкции, оторвана от реальных проектов. Это приводит к созданию излишней документации, не имеющей практического применения в проектах.
5Примечание: эта задача обычно выполняется параллельно с другими.
6
7Этот документ содержит описание проблемы, граничные условия решения и список действий, необходимых для решения проблемы. Назначение концепции системы состоит в достижении согласия между заинтересованными сторонами.
8Сюда входят различные категории усовершенствований, такие как управление требованиями, обмен информацией или планирование проекта.
9 Примерами таких событий и мероприятий могут быть совещания, учебные курсы, семинары, обзоры и презентации.
10 В зависимости от выбранной стратегии внедрения, проектная группа может на этом семинаре фактически создать описание разработки проекта. В этом случае шаг создание описания процесса разработки переносится из операции 3 в операцию 4.
11Подробное описание особенностей процесса и их влияния содержится в книге Уокера Ройса (Walker Royce) Software Project Management, стр.209.
12 Краткий период интенсивного обучения с последующей оценкой.
13 Способ комбинированного обучения, формирования проектной группы и запуска проекта путем совместного выезда группы на несколько дней вне офиса. Эти несколько дней проводятся в занятиях, работе и отдыхе.
14Другое название: группа процесса разработки ПО.
За дополнительной информацией обращайтесь в компанию Interface Ltd.
INTERFACE Ltd. |
|