Оценка трудоемкости создания ПО является одним из наибо­лее важных видов деятельности в процессе создания ПО, хотя она и не выделена в стандарте ISO I2207 как отдельный процесс (тем не менее, в новую версию стандарта предполагается включить процесс «Измерение» (measurement)).

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

• разработка бюджета проекта (здесь прежде всего требуется точность общей оценки);

• анализ степени риска и выбор компромиссного решения (решение данной задачи позволяет уточнить такие характе­ристики проекта, как масштабы, возможность повторного использования, количество разработчиков, используемое оборудование и т. д.);

• планирование и управление проектом (полученные резуль­таты обеспечивают распределение и классификацию расхо­дов по компонентам, этапам и операциям);

• анализ затрат на улучшение качества ПО (это позволяет оценить затраты и прибыль от стратегии инвестирования в совершенствование аппаратных средств, технологий и воз­можности повторного использования).

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

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

МЕТОДЫ ОЦЕНКИ И ИХ КЛАССИФИКАЦИЯ

1. Алгоритмическое моделирование. Метод основан на анализе статистических данных о ранее выполненных проектах, при этом определяется зависимость трудоемкости проекта от какого-ни­будь количественного показателя программного продукта (обыч­но это размер программного кода). Проводится оценка этого по­казателя для данного проекта, после чего с помощью модели прогнозируются будущие затраты.

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

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

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

• в организации аккуратно документируются реальные ре­зультаты предыдущих проектов;

• по крайней мерс, один из предыдущих проектов (а лучше несколько) имеет аналогичный характер и размер;

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

4.  Закон Паркмнсона. Согласно этому закону усилия, затра­ченные на работу, распределяются равномерно по выделенному на проект времени. Здесь критерием для оценки затрат по проек­ту являются человеческие ресурсы, а не целевая оценка самого программного продукта. Если проект, над которым работают пять человек, должен быть закончен в течение 12 месяцев, то зат­раты на его выполнение исчисляются в 60 человеко-месяцев.

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

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

Бесплатный конструктор сайтовuCoz