Оценочные программы

Оценочные программы

Область применения методов этой главы
Использование оценочных програм
Что оценивается
Размер, объем работ, сроки, функциональность
Размер проекта
-СБ
Стадия разработки
Ранняя-средняя
Итеративный или последовательный стиль
Оба
Возможная точность
Высокая
В книге основное внимание уделяется неформальным методам оценки, но иногда лучшей основой для неформальных методов оказывается научная оценка — вычислительные методы, которые нельзя легко проделать вручную даже на хорошем калькуляторе.
14.1. Для чего необходимы оценочные программы.
Оценочные программы позволяют выполнить некоторые операции, связанные с оценкой, которые трудно проделать вручную.
Моделирование результатов проекта. Оценочные программы способны выполнять сложное статистическое моделирование, которое помогает ключевым сторонам проекта представить объем работы. На рис. 14.1 показан пример имитации результатов программного проекта.
Сплошные черные линии обозначают медианы (50/50) срока и объема работ. Пунктирные черные линии представляют 25-й и 75-й процентили результатов.
Рис. 14.1. Компьютерное моделирование 1000 результатов проекта (выходные данные.
Construx Estimate).
Оценочная программа учитывает несколько источников изменчивости:.
• различия в производительности;.
• различия в размере программы, возможно с декомпозицией на несколько модулей;.
• различия в темпах комплектования персонала.
Для каждого моделируемого результата программа использует метод статистического моделирования, называемый методом Монте-Карло, и моделирует один возможный результат для конкретной комбинации производительности, размера и состояния персонала. По трем факторам на диаграмме строится одна точка. Для создания всей диаграммы программа повторяет цикл 1000 раз. Сами понимаете, делать это вручную никому не захочется!.
В некоторых программах (более дорогих, чем Construx Estimate) применяются более сложные технологии.
Вероятностный анализ. В главе 1 объясняются опасности оценок с формулировками типа «с уверенностью на 90 %». Когда оценка создается на базе субъективного суждения, подобные выражения изначально подвержены ошибкам. Но если оценка генерируется специальной программой, откалиброванной по историческим данным, процентные показатели несут более содержательную информацию. Например, на рис. 14.1 объем работ в 45 человеко-месяцев имеет 75%-ю вероятность, потому что 75 % смоделированных проектов заняли менее 45 человеко-месяцев.
В табл. 14.1 представлен пример вероятностного анализа объема работ, вычисленного оценочной программой. «Номинал», упоминаемый в заголовке третьего столбца, относится к оценке в 20 человеко-месяцев, вероятной на 50 %.
Самая интересная особенность таблицы заключается в том, что для повышения достоверности с 70 до 80 % или с 80 до 90 % требуется очень большой рост объема работ. При оценках, основанных на субъективном суждении, лишь немногие оценщики умножают свои номинальные оценки на 6 для вычисления оценки.
с 90%-й достоверностью, но в данном случае нужно именно это (не используйте эти данные в общем случае; они были вычислены по конкретным предположениям, введенным в оценочную программу).
Таблица 14.1. Пример вероятностей различных объемов работ по проекту, вычисленных при помощи оценочной программы
Вероятность
Объем работ будет меньше либо равен
Расхождение с номинальной оценкой
10%
7
-64%
20%
10
-50 %
30%
13
-37 %
40%
16
-20 %
50%
20
0%
60%
26
30%
70%
37
84%
80%
58
189 %
90%
142
611 %
На рис. 14.2 показано графическое представление данных в таблице.
Рис. 14.2. Пример вероятных результатов проекта по данным оценочной программы.
Учет издержек масштаба. Оценочные программы автоматически учитывают различия в размерах проектов и их влияние на производительность.
Учет непредвиденного расширения требований. Проблема расширения требований встречается настолько часто, что в большинстве коммерческих оценочных программ может учитываться в ходе проекта.
Оценка вторичных аспектов разработки программного обеспечения. Оценочные программы обычно поддерживают возможность оценки размера документации по требованиям, размера архитектурной документации, количества тестовых сценариев, количества дефектов, среднего времени работы до отказа и множества других величин.
Вычисление плановых показателей и интеграция с программами планирования. Некоторые оценочные программы позволяют задавать объемы работ на постановку требований, проектирование, конструирование, тестирование и отладку, а также делить проект на нужное количество итераций. Подобные вычисления крайне утомительно производить вручную, но при наличии должного инструментария они выполняются легко. Некоторые программы также интегрируются с Microsoft Project и другими системами планирования проектов.
Анализ «что-если». Оценочные программы дают возможность быстро скорректировать оценочные предположения и увидеть, к каким последствиям это приведет. Необходимые вычисления на компьютере выполняются мгновенно, тогда как их выполнение вручную занимает слишком много времени и подвержено ошибкам.
Арбитраж нереалистичных ожиданий. Допустим, ваш начальник настаивает, что проект должен быть завершен за 50 человеко-месяцев и 11 календарных месяцев; вы создали оценку, показанную на рис. 14.3. Светлый прямоугольник в левом нижнем углу показывает ограничения, установленные начальником. Точечная диаграмма из 1000 смоделированных результатов показывает, что только 8 из 1000 результатов проекта попали в заданную область. Диаграмма становится весьма наглядным аргументом против попыток завершить проект в рамках этих ограничений!.
Объективное авторитетное суждение при пересмотре предположений. Стандартная, хотя и нездоровая ситуация в области оценки программного проекта: одна из ключевых фигур проекта отвергает исходную оценку, потому что она кажется слишком большой. Из проекта предлагается исключить несколько второстепенных функций, что якобы должно привести к непропорциональному сокращению стоимости и сроков. Другая вариация на ту же тему — небольшое увеличение численности группы и надежды на существенное сокращение срока.
Оценочная программа может выступить в роли беспристрастного арбитра в оценке эффекта таких изменений. Без оценочной программы вам придется объяснять начальству, что урезание функциональности не обеспечит нужного изменения в стоимости и сроках. С программой вы просто встаете на одну сторону с начальником и сваливаете все неприятное на программу: это она указывает на то, что предложенные изменения не дадут желаемого эффекта.
На рис. 14.4 показан пример вычисленного соотношения между объемом работ и сроками проекта, то есть экономия в объеме работ при возможности продления сроков. Возможно, вам будет проще убедить начальника в своей правоте, если программа скажет, что сокращение срока на один месяц достигается увеличением объема работ с 20 до 26 человеко-месяцев.
Логическая проверка оценок, полученных неформальными методами. Лучшие оценщики применяют несколько методов оценки, а затем анализируют тенденции к схождению или расхождению между полученными результатами. Оценка, созданная с помощью коммерческой программы, может стать одним из таких результатов.
Рис. 14.3. В этой модели только 8 из 1000 результатов удовлетворяют желаемым ограничениям на стоимость и сроки
Срок (месяцы)
Срок (месяцы).
Рис. 14.4. Вычисленный эффект от сокращения или увеличения срока.
Оценка крупных проектов. Чем крупнее оцениваемый проект, тем в меньшей степени он может оцениваться исключительно неформальными методами.
В крупном проекте оценочная программа должна предоставить по крайней мере одну из задействованных оценок.
СОВЕТ № 64 -.
Используйте оценочные программы для логической проверки оценок, созданных ручными методами. Оценки крупных проектов должны в большей степени опираться на коммерческие оценочные программы.
14.2.
Данные, необходимые для калибровки программ.
Калибровка оценочных программ для использования исторических данных не требует больших объемов информации. Если у вас имеются данные по одному или нескольким завершенным проектам (объем работ в человеко-месяцах, сроки в месяцах, размер в строках кода), вы можете откалибровать некоторые из моделей (в том числе Construx Estimate), чтобы программа использовала ваши исторические данные вместо среднеотраслевых. Исторические данные даже одного проекта — лучше, чем ничего, но в идеале желательно располагать историческими данными по трем и более проектам.
Высокая цена более дорогих программ (см. раздел 14.4) обычно оправдывается большими базами данных результатов исторических проектов. Но если у вас имеются исторические данные по трем прошлым проектам, оценка, построенная по собственным данным, обычно будет точнее оценки, созданной на основе обобщенных данных программы. Некоторые из дорогих программ стоят своих денег, но не за большие базы данных с исторической информацией.
14.3.
Ограничения оценочных программ.
Тот факт, что оценка была получена при помощи программы, еще не означает, что она является точной. Причины могут быть разными: неверные предположения, калибровка оценки по неподходящим или дефектным данным, внесение смещения при помощи регуляторов. А может выясниться, что базовая методология оценки была выбрана неудачно.
СОВЕТ № 65 -.
Не относитесь к результатам оценочной программы как к божественному откровению. Проверяйте их на соответствие здравому смыслу точно так же, как любую другую оценку.
14.4. Основные оценочные программы.
Существует множество оценочных программ. Разброс цен очень широк, от бесплатного распространения до $20 ООО за годовую лицензию на одно рабочее место. Далее представлены некоторые из наиболее популярных программ.
Angel,
. Analogy Softfare Tool — интересная программа с возможностью оценки будущих проектов по аналогии с прошлыми проектами.
Construx Estimate,
. Бесплатная программа, которая использовалась для создания диаграмм, представленных в этой главе. Основная методология оценки основана на модели Путнэма (Putnam and Myers 1992). Часть функциональности базируется на модели Cocomo II. Я работал старшим программистом при создании первых двух версий этой программы.
Cocomo II,
. Некоторые программные реализации Cocomo II можно найти в Интернете, проведя поиск по строке Cocomo II. Официальные версии находятся на сайте Южнокалифорнийского университета и распространяются бесплатно.
Costar,
. Costar — недорогая полноценная реализация Cocomo И, предлагаемая компанией Softstar Systems.
KnowledgePLAN,
. Программа разработана и продается в Software Productivity Research (компания Кейпера Джонса). Отличается высокой степенью интеграции с Microsoft Project.
Price-S,
. Исходная версия Price-S была разработана в RCA. Сейчас программа представляет собой пакет программных продуктов, предназначенных для оценки проектов.
SEER,
. Как и Price-S, SEER состоит из нескольких взаимосвязанных продуктов. SEER-SEM предназначается для оценки, планирования и управления; SEER-SSM — для углубленной оценки размеров программных проектов, a SEER-AccuScope — для простой оценки размеров.
SLIM-Estimate и Estimate Express,
. Семейство программных продуктов от Quantative Software Management состоит из SLIM-Estimate, полнофункциональной и мощной оценочной программы, и Estimate Express — обладающей меньшими возможностями, но все равно мощной. Обе программы базируются на модели оценки Путнэма. Компания QSM была основана Лоренсом Путнэмом.
Дополнительные ресурсы.
За дополнительными и обновленными ссылками на оценочные программы обращайтесь на мой сайт

Популярные статьи

Свежие статьи