Другие факторы
Модель оценки 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.
Еще по теме Другие факторы:
- 47. Стоимостный валютный фактор и другие факторы, влияющие на инвестирование
- Другие факторы, влияющие на обменные курсы
- Другие факторы
- Другие факторы, влияющие на поведение
- Другие факторы современного производства
- 13.4. Мировая экономика теория факторов Хекшера — Олина; парадокс Леонтьева; современная трактовка влияния факторов производства на структуру внешней торговли; изменение структуры факторов; теорема Рыбчинского
- Другие теории ценообразования
- ДРУГИЕ ФОРМЫ КАПИТАЛА
- 3.4. Другие производные финансовые инструменты
- Увидеть то, что не видят другие
- ДРУГИЕ МЕТОДЫ ЦЕНООБРАЗОВАНИЯ