Концепция: Рекомендации по подготовке среды
В этом разделе обсуждаются общие принципы организации среды для проектов по разработке программного обеспечения.
Взаимосвязи
Связанные элементы
Основное описание

При подготовке новой среды разработки, в состав которой входят Rational Unified Process и сопутствующие инструменты, важны следующие компоненты:

Оценка проекта и организации

Оцените текущее состояние проекта и организации для того, чтобы определить, какие компоненты среды нуждаются в оптимизации. Кроме того, такая оценка позволит вам лучше понять особенности реализации среды.  

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

Постепенное внедрение нового процесса и инструментов

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

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

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

Дополнительные сведения можно найти в разделе Концепция: реализация процесса в проекте.  

Управление и планирование

С точки зрения управления и планирования задачи подготовки среды ничем не отличаются от остальных задач проекта разработки программного обеспечения.  

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

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

Ознакомьтесь с инструкциями по планированию и управлению проектом разработки программного обеспечения, включая подготовку среды, в разделе Управление проектом. Кроме того, ознакомьтесь с разделом Концепция: реализация процесса в проекте

Прибегайте к услугам кураторов

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

В проекте необходимо выделить ресурсы и бюджет, необходимые для осуществления кураторства. Выполнение некоторых обязанностей куратора, например проведение семинаров, требует предварительного планирования. Очень важно, чтобы куратор осознавал важность своей роли как движителя изменений и контролировал результаты своей деятельности. Кроме того, очень важно, чтобы куратор не был незаменимым, и чтобы по окончании кураторства он передал свои знания и ответственности членам проектной группы. Дополнительные сведения о том, кто такой куратор и что он делает, приведены в разделе Концепция: кураторство.

Распределите принадлежность процесса

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

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

Инженер процесса выступает в роли куратора для сотрудников, владеющих отдельными компонентами процесса, и помогает им настроить процесс.  

Думайте об окупаемости инвестиций

При настройке процесса помните об окупаемости инвестиций и уделяйте основное внимание тем областям, которые с наибольшей вероятностью окупят инвестиции в них.  

Опыт показывает, что во многих проектах слишком много времени и ресурсов тратится на разработку подробных рекомендаций, варианта разработки и других материалов, связанных с процессом. Такой подход обладает тремя существенными недостатками:

  • Сотрудники перестают читать объемные описания.  
  • Сделать все правильно с самого начала очень сложно. Проще начать с чего-то малого, а затем вносить коррективы.  
  • Такой подход снижает эффективность кураторства. Люди, знакомые с процессором, должны заниматься кураторством, а не написанием объемных документов.  

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

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

Постоянно информируйте сотрудников и вовлекайте их в процесс

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

Ниже перечислены некоторые действия, которые могут помочь предотвратить формирование отрицательного отношения сотрудников организации к изменениям: 

  • Формируйте реалистичные ожидания. Не приписывайте новым процессам и инструментам несуществующие преимущества.  
  • Вовлекайте ключевых сотрудников в процесс внедрения изменений. Предоставьте им возможность участвовать в пилотном проекте и предоставьте им ответственность за отдельные составляющие процесса. См. раздел Распределите принадлежность процесса.
  • Объясните, зачем нужно изменение. Какие задачи решает это изменение? Каких технологических изменений требует внедрение новых процессов и инструментов? Какие преимущества принесет переход на новые процессы и инструменты?
  • Проинформируйте о происходящем всех сотрудников организации. Например, обязательно проинформируйте все отделы. Не обязательно вдаваться в подробности - важно то, чтобы люди получили информацию в принципе.    
  • Помните о заинтересованных лицах, включая клиентов и спонсоров. Например, если вы решите перейти от водопадного метода разработки к итерационному, заинтересованным лицам должно быть понятно, как осуществляется управление итерационным проектом и как оценивается ход его выполнения. Например, на ранних этапах итерационного процесса не стоит ждать полной стабилизации проекта. Кроме того, в итерационном процессе по-другому осуществляется управление требованиями.  

Организуйте обучение сотрудников

Научите людей пользоваться новым процессом и новыми инструментами, поскольку они должны понимать новый процесс и уметь пользоваться новыми инструментами.   

Обучение сотрудников можно организовать несколькими способами:

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