Привлечение заказчика помогает менее болезненно решать проблемы управления масштабом проекта и реализуемыми функциями с учетом ограничений ресурсов. Любые дополнительные функции за пределами базовых, которые реализует разработчик, будут восприняты заказчиком как превзошедшие ожидания. В зависимости от этапа разработки сложного комплекса программ и достоверности исходных данных о характеристиках и особенностях проекта ПС целесообразно выбирать и применять разные методики и сценарии технико-экономического обоснования проекта и прогнозирования ТЭП. С самого начала работы над проектом ПС важно вести постоянный учет данных о его действительной трудоемкости, стоимости и развитии затрат и сравнивать эти данные с реальными оценками характеристик проекта по следующим причинам:
- несовершенство исходных данных для оценивания ТЭП (оценки размера, рейтинги влияния факторов) определяет важность для руководителя проекта пересматривать их оценки, учитывая новую информацию, чтобы обеспечить более реальную основу для дальнейшего управления проектом;
- вследствие несовершенства методов оценивания ПС следует сравнивать оценки с действительными значениями и использовать эти результаты для улучшения методов оценивания ТЭП;
- проекты ПС имеют тенденцию к изменению характеристик и экономических факторов и руководителю проекта необходимо идентифицировать эти изменения и выполнять реалистичное обновление оценок затрат.
Следует согласовывать цели оценивания с потребностями в информации, способствующей принятию решений для планирования затрат труда и других ресурсов. В общем случае необходимо достигать сбалансированного состава целей оценивания разных характеристик, который бы давал примерно одинаковую абсолютную величину уровня неопределенности для всех компонентов ПС. Кроме того, каждая оценка ТЭП должна сопровождаться, указанием степени ее неопределенности. Это означает, что абсолютная величина уровня неопределенности для каждого компонента должна быть примерно одинаковой, если в процессе принятия решения все компоненты имеют одинаковый вес. По мере разработки проекта их необходимо пересматривать и изменять, когда это становится выгодным. Бюджетные решения, принимаемые на ранних фазах должны влиять лишь на следующую фазу. Для этого последовательно рассмотрим три методики:
• первичная оценка ТЭП при подготовке концепции и технического задания на новый комплекс программ на основе экспертных данных размера ПС, производительности труда или стоимости разработки одной строки текста программ - прототипов;
• прогнозирование ТЭП при предварительном и детальном проектировании ПС на базе расчетных значений трудоемкости и длительности разработки комплекса программ по данным модели СОСОМО с учетом влияния различных дополнительных факторов;
• определение технико-экономических показателей ПС с учетом доступных оценок множества факторов и календарное планирование разработки сложного комплекса программ с использованием системы ПЛАПС.
В качестве основных критериев выбора методик прогнозирования ТЭП разработки ПС целесообразно учитывать возможность их использования, как на начальных, так и на более поздних этапах разработки, а также наличие апробирования методик в отечественной и зарубежной практике.
В первой методике реализован метод прогноза ТЭП с учетом экспертной оценки минимального числа факторов. Данная методика экспертной оценки ТЭП может применяться, когда определены цели и общие функции проекта ПС, сформулированные в концепции и первичных требованиях с достоверностью около 30 - 40% . Основная цель оценки ТЭП - подготовить возможность принять обоснованное решение о допустимости дальнейшего продвижения проекта в область системного анализа, разработки требований и предварительного проектирования. Если оказывается, что рассчитанные технико-экономические показатели и требуемые ресурсы не могут быть обеспечены для продолжения проекта, то возможны кардинальные решения: либо изменение некоторых ТЭП и выделяемых ресурсов, либо прекращение проектирования данного ПС. Учитывая полноту и достоверность доступных характеристик и требований к проекту ПС должны быть определены цели и возможная достоверность технико-экономического обоснования затрат на продолжение проектирования ПС.
При первичном технико-экономическом обосновании сложных проектов ПС наибольшее значение имеют три ключевых фактора:
- размер - масштаб, подлежащих разработке полностью новых программных компонентов;
- размер и относительная доля готовых программных компонентов, которые могут быть заимствованы из предшествовавших проектов и повторно использованы в новом проекте ПС;
- относительные затраты ресурсов на создание проекта: труда специалистов, времени или бюджета на единицу размера (на строку текста программ) проектируемого ПС.
Эти факторы могут быть оценены квалифицированными экспертами на основе имеющегося у них опыта реализации предшествовавших подобных проектов, а также использования опубликованных данных. При наличии необходимых данных важно оценить их достоверность и возможную точность (30 - 40%). Наименее точный из перечисленных факторов полностью определяет достоверность расчета технико-экономических показателей проекта ПС поэтому желательно, чтобы значения точности экспертного оценивания перечисленных факторов были сбалансированы.
При наличии перечисленных исходных данных и положительной оценке целесообразности экспертного анализа ТЭП проекта может реализовываться методика, состоящая из следующих шагов (табл.4):
> экспертная оценка размера - масштаба, числа строк предполагаемого текста разрабатываемых программ, с учетом размера повторно используемых компонентов и характеристик возможного языка программирования (этапы 1.1-1.2);
> экспертная оценка возможной средней производительности труда специалистов при разработке программ и/или стоимости разработки одной сроки текста программ проекта ПС (этапы 2.1. - 2.2);
> расчет возможной полной трудоемкости и длительности разработки проекта ПС, а также среднего числа специалистов, необходимых для его реализации (этапы 3.1 - 3.3);
> обобщение основных технико-экономических показателей и полной стоимости разработки проекта ПС, анализ результатов и технико-экономическое обоснование рентабельности продолжения проектирования комплекса программ (этапы 4.1 —4.2).
Таблица 4
Класс и функции проекта ПС | Цели анализа и возможная достоверность исходных данных | Выбор методики и сценария оценки технико-экономических показателей |
1.1. Экспертная оценка размера - масштаба программ проекта ПС | 1.2. Экспертная оценка доли готовых повторно используемых компонентов | Экспертная оценка обобщенного размера программ |
2.1. Экспертная оценка производительности труда при разработке программ проекта ПС | 2.2. Экспертная оценка стоимости разработки одной строки текста программы проекта ПС | Экспертная оценка удельных затрат на строку текста программы |
3.1. Расчет полной трудоемкости разработки проекта ПС | 3.2. Расчет полной длительности разработки проекта ПС | 3.3. Расчет необходимого среднего числа специалистов для разработки проекта ПС |
4.1. Обобщение основных технико-экономических показателей и полной стоимости разработки проекта ПС | 4.2. Анализ результатов и технико-экономическое обоснование продолжения проектирования ПС |
На этапе создания концепции и системного анализа формируются цели разработки проекта ПС, выбираются методы и алгоритмы решения основных, функциональных задач, а также формулируются предварительные критерии качества создаваемых программ. При этом, естественно, встает вопрос о затратах, которые потребуются для достижения целей, и о возможности их минимизации. Опыт и интуиция руководителей разработки позволяют получить первичные экспертные оценки, принятие которых в качестве достоверных, приводит зачастую к сложным конфликтам между заказчиком и разработчиком. Целенаправленная и методичная экспертная оценка затрат уменьшает величину ошибки, однако, обычно она остается все-таки довольно большой. Для обеспечения рациональной достоверности первичное прогнозирование целесообразно проводить путем экстраполяции на базе накопленных конкретных данных об отдельных аналогичных предшествующих разработках или с использованием обобщенных ТЭП совокупности подобных разработок, проведенных на данном предприятии.
4. Характеристики и технико-экономические показатели программного средства.
Труднее всего обосновать технико-экономические показатели разработки комплекса программ в начале проекта, когда еще не сформировались достаточно четкие представления о функциях и свойствах ПС, подлежащего разработке. На базе этих оценок желательно сделать общий вывод, стоит ли заниматься данным проектом в дальнейшем и на каких условиях следует заключить контракт на его выполнение. Когда разработка программного проекта близится к завершению, с целью уточненного оценивания ТЭП следует учитывать некоторые дополнительные аспекты и спецификации. Однако общую смету, время работы над проектом и объем необходимых трудозатрат необходимо оценивать как можно раньше. При этом целесообразно поэтапно рассматривать ряд факторов, влияющих на технико-экономические показатели разработки ПС, представленные в таблице №1, которые в данном разделе используются как основа для последовательности их изложения.