<<
>>

Другие факторы

Модель оценки Cocomo II уже неоднократно упоминалась в этой главе. Как обсуждалось в главе 4, я испытываю определенные опасения по поводу проникновения субъективности при использовании регулирующих факторов Cocomo И.

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

В табл. 5.4 перечислены рейтинги 17 множителей объема работы в модели Cocomo II. В столбце «Очень низкие» представлена величина, на которую следует отрегулировать оценку объема работы для лучшего (или худшего) воздействия данного фактора. Например, если группа обладает крайне низким опытом работы в прикладной области, номинальная оценка объема работы Cocomo II умножается на 1,22. Если же группа очень хорошо разбирается в предметной области, оценка вместо этого умножается на 0,81.

82 Глава 5 • Факторы, влияющие на оценку Таблица 5.4. Регулирующие факторы Cocomo II

Фактор

Рейтинги

Очень

низкие

Низкие

Номинальные

Высокие

Очень

высокие

Чрезвычайно

высокие

Влияние

Опыт работы

1,22

1,10

1,00

0,8

0,81

1/51

в прикладной

области

Размер базы

0,90

1,00

1/14

1,28

1/42

данных

Разработка

0,95

1,00

1,07

1,15

1/24

1,31

для повторного

использования

Объем

0,81

0,91

1,00

1/И

1,23

1,52

необходимой

документации

Навыки владения

1,20

1,09

1,00

0,91

0,84

1,43

языками

и инструментарием

Рассредоточенная

1,22

1,09

1,00

0,93

0,86

0,78

1,56

разработка

Постоянство

1/29

1,12

1,00

0,90

0,81

1/59

персонала

(текучесть)

Опыт разработки

1/19

/>1,09

1,00

0,91

0,85

1,40

для платформы

Неустойчивость

0,87

1,00

1/15

1,30

1,49

платформы

Сложность

0,73

0,87

1,00

1/17

1,34

1/74

2,38

продукта

Квалификация

1,34

1/15

1,00

0,88

0,76

1,76

программистов

(общая)

*

Требуемая

0,82

0,92

1,00

1,10

1,26

1/54

надежность

программного

обеспечения

Квалификация

1/42

1/19

1,00

0,85

0,71

2,00

аналитиков по

требованиям

Ограничения по

1,00

1,05

1/17

1,46

1,46

объему хранимых

данных

Ограничения по

1,00

1,11

1/29

1,63

1,63

быстродействию

Использование

1/17

1,09

1,00

0,90

0,78

1,50

программных

/>

инструментов

В крайнем правом столбце «Влияние» показана степень влияния каждого отдельно взятого фактора на общую оценку рабочего времени.

Скажем, у фактора квалификации в предметной области в этом столбце стоит значение 1,51; это означает, что проект, выполняемый группой с очень низкой квалификацией в этой области, потребует в 1,51 раза больший объем работы, чем у группы с очень высокой квалификацией (влияние вычисляется делением наибольшего значения на наименьшее — например, 1,51 = 1,22/0,8).

На рис. 5.7 изображено другое представление факторов Cocomo II; факторы упорядочиваются по убыванию влияния.

Сложность продукта

2,33

Квалификация аналитиков по требованиям

Ш

Квалификация программистов (общая)

1,76

Ограничения по быстродействию

Постоянство персонала (текучесть)

1,59

Распределенная разработка

1,56

Требуемая надежность

1,64

программного обеспечения

Объем необходимой документации

! Ш

Опыт работы в прикладной области

Ь'Ж'

¦              ::!

Использование программных инструментов

: 1,50

Неустойчивость платформы

: 1*49

Ограничения по объему хранимых данных

Изученность процесса Навыки владения языками

; 1,43

1

и инструментарием

ц

Размер базы данных

Опыт разработки для платформы

j 1,40 j

Архитектура и разрешение рисков

1,38

Прецедентность

1.33

Разработка для повторного использования

! 1,31 :

Слаженность команды

lie

Гибкость разработки

т

Рис. 5.7.

Факторы Cocomo И по убыванию значимости. Относительная длина полос представляет чувствительность оценки к различным факторам

На рис. 5.8 те же факторы представлены в зависимости от своего потенциала к увеличению (светлые полосы) или снижению (темные полосы) общего объема работы.

Сложность продукта ^2Т%:

74%

Квалификацин аналитиков

по требованиям .. — -

42%

Квалификация программистов (общая) Г -24 %

34 %

              у                            ¦

Ограничения по быстродействию 0 %

63 %

Постоянство персонала (текучесть) [ ~ib%

29 %

Распределенная разработка Щ

22 %

Требуемая надежность ^ программного обеспечения ^

26 %

Объем необходимой документации -S %

23 %

Опыт работы в прикладной области -9 %

22 %

Использование программных инструментов :

17 %

Неустойчивость платформы —13 %

30 %

Ограничения по объему хранимых данных 0 %

46 %

Прецедентность

15 %

Изученность процесса [ -9 %

/>15 %

Навыки владения языками 1 ji :.w и инструментарием „ ^: 3

20 %

Размер базы данных -10 %

28 %

Опыт разработки для платформы «6 %

19 %

Архитектура и разрешение рисков -$ %

14 %

Гибкость разработки %

12 %

Разработка для повторного использования -5 %

Luiu

24 %

Слаженность команды %

11 %

Рис.

5.8. Факторы Cocomo Ц по способности увеличивать (светлые полосы) или уменьшать (темные полосы) общий объем работы

Некоторые замечания по поводу этих факторов приведены в табл. 5.5.

Таблица 5.5. Регулирующие факторы Cocomo И

Фактор

Влияние

Комментарий

Опыт работы в прикладной области

1/51

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

Архитектура и разрешение рисков

1,38х

Чем активнее проект расправляется с возможными рисками, тем ниже будут затраты и объем работ. Это один из немногочисленных факторов Cocomo, находящихся под контролем руководителя проекта

Фактор

Влияние

Комментарий

Размер базы данных

1,42

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

Разработка для повторного использования

1,31

Затраты на программное обеспечение, разрабатываемое с расчетом на повторное использование в будущем, могут увеличиваться до 31 %. Более того, успех инициативы не гарантирован — опыт отрасли показывает, что перспективные проекты повторного использования часто завершаются неудачей

Объем

необходимой

документации

1,31

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

Навыки владения языками

и инструментарием

1,43

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

Распределенная

разработка

1,56

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

Постоянство

персонала

(текучесть)

1,59

Текучесть кадров обходится дорого — этот фактор входит в верхнюю треть

Опыт разработки для платформы

1,40

Опыт разработки для технологической платформы умеренно сказывается на общей производительности проекта

Неустойчивость

платформы

1,49

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

Прецедентность

1,33*

Показывает, насколько «прецедентно» приложение (хотя мы чаще говорим о «беспрецедентных» приложениях). Знакомую систему всегда проще создать, чем незнакомую

Изученность

процесса

1,43'

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

Сложность

продукта

2,38

Сложность продукта является самым значительным регулирующим фактором в модели Cocomo И. В основном она определяется типом создаваемой программы

Квалификация

программистов

(общая)

1,76

Квалификация программистов способна изменить общие результаты проекта примерно в 2 раза

продолжение amp;

86 Глава 5 •

Факторы, влияющие на оценку

Таблица 5.5 (продолжение)

Фактор

Влияние

Комментарий

Необходимая

надежность

1/54

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

/>Квалификация аналитиков по требованиям

2,00

Важнейший из факторов персонала — хорошие навыки в постановке требований — способен изменить объем работы по всему проекту в 2 раза. Компетентность в этой области способна снизить общий объем работы по проекту от номинала более, чем какой-либо другой фактор

Г ибкость требований

1,26х

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

Ограничения по объему хранимых данных

1,46

Работа на платформе, на которой приходится постоянно сталкиваться с ограничениями объема, несколько увеличивает объем работы по проекту

Слаженность

команды

1,29х

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

Ограничения по быстродействию

1,63

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

Использование

программных

инструментов

1,50

Выбор современного инструментария способен заметно снизить объем работ

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

Процесс сбора и использования исторических данных подробно рассматривается в главе 8.

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

Еще по теме Другие факторы:

  1. 47. Стоимостный валютный фактор и другие факторы, влияющие на инвестирование
  2. Другие факторы, влияющие на обменные курсы
  3. Другие факторы
  4. Другие факторы, влияющие на поведение
  5. Другие факторы современного производства
  6. 13.4. Мировая экономика теория факторов Хекшера — Олина; парадокс Леонтьева; современная трактовка влияния факторов производства на структуру внешней торговли; изменение структуры факторов; теорема Рыбчинского
  7. Другие теории ценообразования
  8. ДРУГИЕ ФОРМЫ КАПИТАЛА
  9. 3.4. Другие производные финансовые инструменты
  10. Увидеть то, что не видят другие
  11. ДРУГИЕ МЕТОДЫ ЦЕНООБРАЗОВАНИЯ