<<
>>

Оценка операционной структуры проекта

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

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

Оценка объема работ по разным техническим операциям

Обратите внимание: распределение, описанное в этом разделе, основано па монолитной (не декомпозированной) оценке объема работ, описанной в главе 19.

В табл. 21.1 приведена процентная структура общего объема работ с распределением по операциям архитектуры, конструирования и тестирования системы (KLOC означает «тысячи строк программного кода»). Вследствие эффекта издержек масштаба, описанного в главе 5, доля объема работ, выделяемого на каждую операцию, зависит от размера проекта. Требования и управление обычно относятся к «особым случаям» и обсуждаются позже.

Таблица 21.1. Примерная структура объема работ в проектах разного размера

Размер

Операция

Архитектура

Конструирование

Тестирование системы

1 KLOC

11 %

70%

19%

25 KLOC

16%

57%

27%

125 KLOC

18%

53%

29%

500 KLOC

19%

44%

37%

Источники: Albrecht 1979; Boehm 1981; Glass 1982; Boehm, Gray, andSeewaldt 1984; Boddie 1987; Card 1987; Grady 1987; McGairy, Waligora, and McDermott 1989; Putnam and Myers 1992; Brooks 1995; Jones 1998; Jones 2000; Boehm et al, 2000; Putnam and Myers 2003; Boehm and Turner 2004; Stutzke 2005.


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

Оценка объема работ по требованиям

В табл. 21.1 не включены работы, связанные с требованиями. Если оценка объема работ производилась по среднеотраслевым данным производительности, учтите, что в этих данных операции, связанные с требованиями, обычно не учитываются (впрочем, бывают и исключения; это одна из причин, из-за которых в среднеотраслевых данных встречается такой разброс).

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

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

С учетом всего сказанного, в табл. 21.2 представлены приблизительные проценты от общего объема работ, которые следует отводить на работу по требованиям в проектах разных размеров. Базовая оценка объема работ увеличивается на процент, приведенный в таблице; результат определяет суммарный объем всех технических операций с учетом работ по требованиям.

Таблица 21.2. Приблизительная доля работ по требованиям в проектах разных размеров

Размер

Приращение базовой оценки

/>1 KLOC

5%

25 KLOC

5 %

125 KLOC

8 %

500 KLOC

10 %

Источники: те же, что для табл. 21.1.

Оценка объема работ по управлению

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

Таблица 21.3. Приблизительная доля управляющих операций в проектах разных размеров

Размер

Приращение базовой оценки из табл. 21.1 (без учета работы по требованиям)

1 KLOC

10%

25 KLOC

12%

125 KLOC

14%

500 KLOC

17%

Источники: те же, что для табл. 21.1.

Оценка общего объема работ

Для простоты вычислений в табл. 21.4 приведены распределения работ по требованиям, архитектуре, конструированию, тестированию системы и управлению для проектов разных размеров.

Таблица полезна в том случае, когда данные, которые использовались для калибровки вашей монолитной оценки объема работ, включали работы по требованиям и управлению.

Таблица 21.4. Распределение объема работ в проектах разного размера

Операция

Требования

Архитектура и планирование

Конструирование

Тестирование

системы

Управление

1 KLOC

4%

10%

61 %

16%

9%

25 KLOC

4%

14%

49%

23 %

10%

125 KLOC

7%

15 %

44%

23%

И %

500 KLOC

8%

15 %

35%

29%

13%

Источники: те же, что для табл. 21.1.

Поправки для типов проектов

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

Таблица 21.5. Приблизительные поправки для распределения операций

в зависимости от типа проекта

Операция

Бизнес-системы,

внутренние

интрасетевые

системы

Встроенные системы, телекоммуникации, драйверы устройств, системные программы

Коммерческие программы, научные и инженерные пакеты, публичные интернет-системы

Требования

-3%

+20 %

-20 %

Архитектура

-7%

+10 %

-5%

Конструирование

+5%

-10 %

+2%

Тестирование

системы

-7%

+6%

+9%

Управление

+3%

+3%

-15 %

Источники: Putnam and Myers 1992; Jones 1998; Jones 2000; Boehm et al, 2000; Putnam and Myers 2003; Boehm and Turner 2004; Stutzke 2005.

СОВЕТ № 98

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

Пример распределения объема работы

Предположим, вы разрабатываете бизнес-систему, которая, согласно вашей оценке, будет состоять из 80 ООО строк кода (1450 функциональных пунктов) и займет около 80 человеко-месяцев. В основном распределении из табл. 21.1 представлены проценты для проектов в 25 KLOC и 125 KLOC. Проект размером 80 KLOC находится примерно посередине между этими двумя размерами, поэтому мы будем использовать средние арифметические процентов для 25 и 125 KLOC. В соответствии с полученными данными, 17 % объема выделяется на архитектуру (13,6 человеко-месяца), 55 % — на конструирование (44,0 человеко-месяца), а 28 % — на тестирование системы (22,4 человеко-месяца). Таблица 21.2 рекомендует увеличить работу по требованиям на 6,5 % (5,2 человеко-месяца), а в соответствии с табл. 21.3, работа по управлению проектом возрастает на 13 % (10,4 человеко-месяца). Затем в табл. 21.6 базовое распределение объема работ умножается на поправочные коэффициенты для проектов бизнес-систем. />Таблица 21.6. Применение поправочных коэффициентов к номинальному распределению объема работ в зависимости от типа проекта

Операция

Номинальное

распределение

(человеко-

месяцы)

Поправка для бизнес- систем

Итоговое распределение (в человеко- месяцах)

Итоговое распределение (в процентах)

Требования

5,2

-3%

5,0

4%

Архитектура

13,6

-7%

12,6

13 %

Конструирование

44,0

+5%

46,6

51%

Тестирование

системы

22,4

-7%

20,8

22%

Управление

10,4

+3%

10,7

10%

ИТОГО

95,6

95,7

100 %

В данном примере номинальная и итоговая оценки объема работы составляют 95,6 и 95,7 человеко-месяца соответственно. Небольшое несовпадение результатов обусловлено ошибками округления.

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

Соотношения между численностью разработчиков и тестеров

Один из самых частых вопросов из области планирования: «Сколько разработчиков должно приходиться на одного тестера?» Некоторые типичные соотношения перечислены в табл. 21.7.

Данные в таблице были получены организациями, с которыми моя компания и я сотрудничали последние 10 лет.

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

Таблица 21.7. Примеры соотношений между численностью разработчиков и тестеров

Среда

Типичные наблюдаемые соотношения

Типичные бизнес-системы (внутренние интрасети, информационно-управляющие системы и т. д.)

3:1 — 20:1 (часто специалистов по тестированию вообще нет)

Типичные коммерческие системы (открытые интернет- системы, коммерческие программные продукты и т. д.)

1:1 — 5:1

Научные и инженерные проекты

5:1 — 20:1 (часто специалистов по тестированию вообще нет)

Типичные системные проекты

1:1 —5:1

Системы, критические по безопасности

5:1-1:2

Microsoft Windows 2000

1:2

Программное обеспечение космического шаттла NASA

1:10

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

<< | >>
Источник: Макконнелл С.. Сколько стоит программный проект. 2007

Еще по теме Оценка операционной структуры проекта:

  1. Виды и методы оценки инвестиционных проектов. Оценка финансовойсостоятельности проекта. Базовые формы (баланс, отчет о прибылях и убытках, отчет о движении денежных средств) и показатели финансовой оценки инвестиционных проектов.
  2. 7.9 Мониторинг реализуемых проектов и связь агрегированного показателя оценки проектов ЧДД (NPV) с показателем оценки текущей деятельности EVA
  3. 2.1. Синхронизация признания и оценки нефинансовых оборотных активов в операционном цикле[8]
  4. 7.8 Оценка проектов снижения издержек и замены оборудования Метод текущей оценки затрат
  5. 7.2. Оценка финансового и операционного левериджей
  6. Методы оценки инвестиционных проектов. Денежные потоки по инвестиционному проекту
  7. Вопрос 155. Ключевые элементы операционного анализа. Эффект операционного рычага
  8. 3.2. Непрерывность признания и оценки несоответствий в операционном цикле
  9. Структура издержек и операционный рычаг (левередже, leverage) предприятия
  10. Оценки и управление проектом
  11. 3.3 Схема оценки эффективности инвестиционного проекта
  12. Критерии правильной оценки проекта
  13. 4. Методы оценки эффективности инвестиционных проектов
  14. Т. 7. Отбор кредитуемых проектов. Финансовая оценка.
  15. § 4.2.2. Принципы оценки эффективности инвестиционных проектов