<<
>>

Для чего необходимы оценочные программы

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

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

На рис. 14.1 показан пример имитации результатов программного проекта.

Сплошные черные линии обозначают медианы (50/50) срока и объема работ. Пунктирные черные линии представляют 25-й и 75-й процентили результатов.

60** 55 - 50--

5              6              7              8              9              10              11              12              13              14              15              16              17              18              19 20 21

Срок (месяцы)

Рис. 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 показано графическое представление данных в таблице.

100%

90%

80%

70%

60%

Вероятность 50 %

40%

30%

20%

10%

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

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

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

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

Анализ «что-если». Оценочные программы дают возможность быстро скорректировать оценочные предположения и увидеть, к каким последствиям это приведет. Необходимые вычисления на компьютере выполняются мгновенно, тогда как их выполнение вручную занимает слишком много времени и подвержено ошибкам.

Арбитраж нереалистичных ожиданий. Допустим, ваш начальник настаивает, что проект должен быть завершен за 50 человеко-месяцев и 11 календарных месяцев; вы создали оценку, показанную на рис. 14.3. Светлый прямоугольник в левом нижнем углу показывает ограничения, установленные начальником.

Точечная диаграмма из 1000 смоделированных результатов показывает, что только 8 из 1000 результатов проекта попали в заданную область. Диаграмма становится весьма наглядным аргументом против попыток завершить проект в рамках этих ограничений!

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

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

На рис. 14.4 показан пример вычисленного соотношения между объемом работ и сроками проекта, то есть экономия в объеме работ при возможности продления сроков. Возможно, вам будет проще убедить начальника в своей правоте, если программа скажет, что сокращение срока на один месяц достигается увеличением объема работ с 20 до 26 человеко-месяцев.

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

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

Рис. 14.4. Вычисленный эффект от сокращения или увеличения срокаСрок (месяцы)

Рис. 14.4. Вычисленный эффект от сокращения или увеличения срока

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

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

СОВЕТ № 64

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

Калибровка оценочных программ для использования исторических данных не требует больших объемов информации. Если у вас имеются данные по одному или нескольким завершенным проектам (объем работ в человеко-месяцах, сроки в месяцах, размер в строках кода), вы можете откалибровать некоторые из моделей (в том числе Construx Estimate), чтобы программа использовала ваши исторические данные вместо среднеотраслевых. Исторические данные даже одного проекта — лучше, чем ничего, но в идеале желательно располагать историческими данными по трем и более проектам.

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

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

СОВЕТ № 65

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

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

Еще по теме Для чего необходимы оценочные программы:

  1. Основные оценочные программы
  2. Оценочные программы
  3. Образование для чего?
  4. Для чего нужны деньги?
  5. Для чего нужны карманные деньги?
  6. Оценочный период времен/Влияние оценочного периода времени на страховую стоимость и недострахование
  7. Субъекты оценочной деятельности как лица, деятельность которых регулируется законодательством об оценочной деятельности. Оценщики и заказчики как субъекты оценки
  8. Перечень мероприятий, необходимых для построения Ладземли
  9. Для самооценки темы 4. необходимо ответить на вопросы: 1.
  10. Рост населения и ресурсы, необходимые для развития
  11. Замечания о необходимости богатств для производства зерна
  12. Условия, необходимые для проведения ценовой дискриминации
  13. Разделение труда и обмен 2.1. Необходимые для существования продукты
  14. Что вам необходимо для успеха