Как стать автором
Обновить

Оценка стоимости ПО: Дэн Гэлорат и SEER-SEM

Время на прочтение7 мин
Количество просмотров6.4K


Дэниэль Д. Гэлорат — президент и исполнительный директор Galorath Incorporated и главный разработчик SEER-SEM, программного продукта по алгоритмическому управлению проектами.

Он считается экспертом в области оценки программного обеспечения и автор книги «Программное обеспечение, оценка и риск-менеджмент» («Software Sizing, Estimation, and Risk Management»).

«Книга помогает определить лучший способ инвестировать в улучшение производительности программного обеспечения.»
— Берри Боэм, автор спиральной модели и COCOMO

Биография


Дэн Гэлорат учился в Университете штата Калифорния, который он закончил в 1980 г. по специальности «управление». После университета Гэлорат работал в области разработки программного обеспечения. Его первой пробой пера в области разработки программ по оценке программного обеспечения была совместная работа с Доном Райфером (Don Reifer) над программой Softcost для Лаборатории реактивного движения NASA. Эта программа использовалась на протяжении 1980-х годов и считается одним из прародителей современных систем оценки программного обеспечения.

В 1984 г. Дэн Гэлорат стал консультантом компании Computer Economics, Inc. (CEI), где он познакомился с модификациями Ренделла Дженсена (Dr. Randall Jensen) модели Putnam. Хотя модификации однозначно улучшали модель, они не годились для коммерческого использования. Для CEI Гэлорат разработал более удобную для пользователя программу оценки софта, так называемую CEI System-3.

В 1998 г. компания Дэна Galorath Inc. сформировала Технологический департамент SEER, в котором Гэлорат стал ведущим разработчиком платформы, впоследствии названной SEER-SEM.

Получившийся программный продукт использовал наработки CEI System-3, базу прецедентов и графический интерфейс. Эти улучшения позволили проектным менеджерам использовать SEER-SEM для улучшения оценки требований их программ.

С того времени Гэлорат и его компания внесли множество улучшений в первоначальную версию SEER-SEM, добавив библиотеку, содержащую примеры реализации тысячи различных проектов. Благодаря этому программу стали использовать компании из различных отраслей, например, производители авиатехники Lockheed Martin и Northrup Grumman, электроники Siemens и даже Министерство обороны США.

В 2009 г. Гэлорат получил награду от Общества оценки и анализа стоимости за его заслуги в области параметрического моделирования цены, графика, риска, надежности и обслуживания программного обеспечения.

Проекты


JPL Softcost
Метод Softcost был изначально разработан для Лаборатории реактивного движения NASA и считается одной из первых моделей по оценке программного обеспечения. В соответствии с названием метода, он давал точные прогнозы по времени и цене, но был позже заменен на JPL из-за отсутствия опции оценки риска.

CEI System-3
Будучи консультантом Гэлорат разработал System-3. В основном модель базировалась на работе Ренделла Дженсона по модификации модели Putnam. Некоторые черты у обеих моделей были схожи, например, неопределённые возможности по оценке минимального количества времени. CEI's System-3 значительно увеличила возможности использования модели Дженсона, открыв ей доступ к рыкну платных услуг по оценке реализации проектов.

SEER-SEM
Начальная версия SEER-SEM состояла из 22 тыс. строчек кода и работала только на Windows 2.0. Текущая версия выросла до 200 тыс. строчек кода, позволяет работать с Microsoft Project и IBM Rational. Текущие модификации SEER широко применяются в различных сферах деятельности: банковской, автомобилестроения, авиастроительной, производства электроники, а также используется Минобороны США. Программа имеет дело со всеми аспектами разработки программного обеспечения: оценкой сроков, трудоемкости, затрат, рисков.

SEER-SEM


System for event evaluation and review — метод, система (экспертных) оценок и обзора событий.

SEER для программного обеспечения — SEER SЕM — является алгоритмическим приложением по управлению проектами, разработанным специально для оценки, планирования и мониторинга усилий и ресурсов, требуемых для разработки и/или поддержания программного обеспечения.

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

История


Предшественники

  • 1966 г. — системная модель корпорационного развития.
  • 1980 г. — исследование Дона Райфера (Don Reifer) и Дэна Гэлората (Dan Galorath), которое привело к созданию модели JPL Softcost. Эта модель, являясь ранним примером оценки программного обеспечения, позволяла анализировать риски в автоматическом режиме. Softcost стал в последствие коммерческим продуктом компании Reifer Consultants.
  • 1984 г. Гэлоратом разработана Система-3 на основе модели Jensen-2 (Computer Economics JS-2).

Система-3 и другие моделирующие системы, такие как COCOMO Барри Боэма и ранние работы Doty Associates, напрямую и косвенно способствовали разработке Гэлоратом своего программного обеспечения в конце 1980-х годов.

Версия 1.0

В 1998 г. в Galorath Incorporated началась работа над начальной версией SEER-SEM, которая по завершению представляла собой около 22 тыс. строчек кода. SEER-SEM версия 1.0 была выпущена на тринадцати 5-ти дюймовых дискетах и была одной из первых программ, работающих на Windows 2. Разработка SEER-SEM под Windows считалась рискованным решением, т.к. этой операционной системе еще предстояло показать себя жизнеспособным конкурентом лидирующей в то время Microsoft's MS-DOS. Время показало, что это было правильным решением, т.к. SEER-SEM могла похвастаться интуитивно понятным пользовательским интерфейсом. Гэлорат выбрал Windows потому, что она позволяла наглядно демонстрировать основные стадии и динамику развития проектов.

Следующие версии

После выхода первой версии в 1988 г. SEER-SEM неоднократно обновлялась, чтобы соответствовать новым технологиям, улучшались ее потребительские качества и точность прогнозов. Например, выпущенная в 1994 г. версия 4.0 включала улучшенную математическую модель, которая работала с проектами в реальном времени, а не просто с рэлеевской кривой приближенных значений, а также много других наработок, в том числе последние достижения в области программного обеспечения и показателей сложности программ.

В 2003 г. были добавлены такие важные функции, как целеполагание и регулирование риска.
Версия 6.0 уже позволяла импортировать и экспортировать данные из SEER в различные программные продукты Microsoft, например, в Excel.

Версия 7.0 позволяла лучше управляться с проектами, увеличивая их потенциал.

Настоящее время

SEER версии 7.3 представляет собой намного более совершенный инструмент, чем ее ранние версии. Размер программы вырос до 200 тыс. строчек кода. Теперь это не просто средство для оценки трудоемкости предстоящей работы с помощью параметрического моделирования, а система, которая рассчитывает вероятность методом построения имитационных моделей, в том числе на основе более 20 тыс. аналогичных прецедентов.

У SEER появились спецификации:

  • SEER для информационных технологий — SEER-IT — версия для помощи IT-специалистам в оценке разработки, создания и поддержания инфраструктуры информационных систем и управления сервисными проектами;
  • SEER для оборудования, электроники и систем — SEER-H — версия для оценки стоимости оборудования с учетом его срока годности;
  • SEER для производства — SEER-MFG — версия, приспособленная для оценки затрат на производство, использует обширные данные о передовых практических достижений в области производственных процессов.


Пользователи
SEER для программного обеспечения используется тысячами лицензированных пользователей, в том числе крупными компаниями в области авиации, банковской, финансовой, страховой и производственной сферах. Например, среди клиентов компании числятся
Bank of America, Boeing, Ford Motor Company, Lockheed Martin, National Oceanic and Atmospheric Administration, Northrop Grumman, Siemens, Raytheon и Минобороны США.

Технические детали
SEER для программного обеспечения (SEER-SEM) разработана для работы в среде Windows, а с версии 6.0 полностью адаптирована для взаимодействия с Microsoft Office. Программный интерфейс приложения полагается на Microsoft Automation. Сама программа написана на C и C++.

Группы моделей
SEER-SEM состоит групп моделей, согласованная работа которых позволяет оценить объём работ, длительность, кадровое обеспечение и недостатки проекта. Эти модели можно кратко описать вопросами, на которые они отвечают:

  • Размер: какой предполагаемый объем проекта (количество строчек кода, балльная функциональная оценка, прецеденты)?
  • Технология: какова производительность труда разработчиков (возможности, инструменты, опыт и пр.)?
  • Расчет объема и сроков: какой объем работ? Сколько времени требуется на завершение проекта? Что произойдет с проектом при ограничении или сокращении сроков и/или штата сотрудников?
  • Распределение обязанностей: как будут распределяться трудовые обязанности?
  • Оценка стоимости: учитывая заданный объем работ, длительность проекта и распределение обязанностей, сколько будет стоить его реализация?
  • Оценка недостатков: учитывая тип продукта, длительность проекта и другую информацию, какое ожидается качество итоговой продукции?
  • Оценка стоимости обслуживания: сколько усилий потребуется на адекватное техническое обслуживание и обновление данной компьютерной системы?
  • Прогресс: как оцениваются текущие результаты реализации проекта, учитывая сроки?
  • Обоснованность: возможно ли реализовать проект, используя доступные технологии?

Определение размера программного обеспечения


Определение размера ПО является ключевым параметром любой оценочной модели. Метрика включает в себя количество строк программного кода (SLOC), функциональных точек и пр., и трансформируется во внутренний программный показатель (image), который позволяет провести анализ процесса разработки нового или уже готового к коммерческому использованию кода. В общем виде расчет выглядит следующим образом:

image

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

Определение количества функциональных точек


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

Модель SEER-SEM не просто вносит поправки в соответствии с особенностями языка программирования, но также учитывает такие факторы, как фазу оценки, операционное окружение, тип приложения и его сложность. Показатель энтропии колеблется от 1.04 до 1.2 в зависимости от типа разрабатываемого ПО.

image

Расчет трудоемкости и сроков


Модель учитывает взаимную связь трудоемкости и сроков проекта по следующей формуле:

image

где,

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

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

Когда получен показатель трудоемкости, определяются сроки:

image

Видно, что с увеличением трудоемкости проекта, возрастают сроки его реализации, но не пропорционально (^0.4).

Источники


Теги:
Хабы:
Всего голосов 7: ↑5 и ↓2+3
Комментарии0

Публикации

Истории

Работа

Ближайшие события