>>

Введение

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

Норман Р. Огастин

Оценка программных проектов не так уж сложна.

Эксперты ведут исследования и пишут на эту тему уже около 40 лет; за это время был разработан целый ряд методов, обеспечивающих точную оценку программных проектов. Создание точной оценки — дело простое и прямолинейное... когда вы понимаете, как ее создать. Но далеко не все методы оценки очевидны на интуитивном уровне, и даже очень умный человек не сможет найти все полезные методы самостоятельно. Если кто-то является квалифицированным программистом, это еще не делает его хорошим специалистом по оценке.

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

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

Оценка программных проектов: искусство или наука?

В настоящее время исследования в области оценки программных проектов сосредоточены на совершенствовании методов оценки, чтобы передовые организации могли прогнозировать результат с точностью ±5 % вместо ±10 %. В этих методах задействованы интенсивные вычисления, их понимание требует хорошей математической подготовки и усердного, направленного изучения, а необходимая обработка данных выходит далеко за рамки того, что можно проделать на ручном калькуляторе. Такие методы лучше всего работают в виде специализированных коммерческих пакетов оценки программных проектов.

Я буду называть их научными методами оценки.

С другой стороны, типичная фирма-разработчик вовсе не стремится к повышению точности с ±10 % до ±5 %. Она пытается избежать оценок, ошибочных на 100 % и более. (На то есть много причин, которые подробно рассматриваются в главах 3 и 4.)

Мы от природы склонны верить, что сложные формулы вида

Effort = 2.94 * (KSLOC)[а91 + 0 01 * SFJ] * EMj

всегда обеспечивают более точные результаты, чем простые формулы

Затраты = КоличествоФакторов х СредииеЗатратыНаФактор

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

По этой причине в книге основное внимание уделяется эмпирике, процедурам и простым формулам, высокоэффективным и одновременно понятным для практикующих профессионалов в области программного обеспечения. Такие методы не обеспечивают оценок с точностью до ±5 %, но они сократят ошибку оценки до ±25 % и менее; для большинства проектов этого вполне достаточно. Я буду называть совокупность этих методов неформальной оценкой.

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

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

Еще по теме Введение:

  1. Введення залишків взаєморозрахунків
  2. Введення залишків по ЗП
  3. Введение
  4. Введение
  5. Оценка введения ГИФО
  6. Введення залишків по ТМЦ.
  7. Короткострокові економічні результати введення євро і розширення ЕС [24]
  8. 75. Введение евро. Достоинства и недостатки современной валютной системы
  9. введение
  10. Введение
  11. 16.1 Введение
  12. Введение
  13. Введение