Концепция: Тонкая настройка процесса для малых проектов
В этом разделе обсуждается адаптация RUP для малых проектов.
Взаимосвязи
Основное описание

Введение

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

Определение малого проекта

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

  • в которые вовлечены от 3 до 10 людей
  • которые длятся не более года

Характеристики процесса в малых проектах

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

Итак, зачем вообще нужен процесс? Процесс позволяет поставить на поток эффективные методики и избавиться от неэффективных методик (или улучшить их). В частности, RUP содержит:

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

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

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

С чего начать

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

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

С помощью  Rational Method Composer (RMC) можно подобрать пакеты RUP в качестве начальной адаптации процесса, а затем перейти к тонкой настройке на основе представления процессов. Также можно добавить в процесс собственные рекомендации по конкретному проекту. Обратите внимание на то, что в состав RMC входит конфигурация метода Малый проект. Это компактная конфигурация RUP, в которую входят "неформальные" шаблоны и не входят указания, относящиеся к крупным и сравнительно формальным проектам. Рекомендуется начинать малые проекты с этого шаблона и адаптировать его по мере необходимости.  Дополнительные сведения об адаптации RUP приведены в разделе Концепция: Тонкая настройка RUP

В разделе Пример: Внедрение RUP для малого проекта приведен пример создания процесса для малого проекта. Подробные указания по разработке и документированию процесса разработки программного обеспечения для проекта приведены в разделе Задача: Адаптация процесса разработки для проекта.

Дополнительная настройка процесса

Для малых проектов особенно полезны практики и технологии под общим названием "Динамичные процессы". Подробные сведения об этом приведены в разделе Концепция: Динамичные практики в RUP и Информационный бюллетень: Применение RUP в малых проектах: расширение eXtreme Programming.