книги / Оценка затрат на разработку программных средств
..pdfВ.В. Липаев А.И. Потапов
ОЦЕНКА ЗАТРАТ НА РАЗРАБОТКУ ПРОГРАММНЫХ СРЕДСТВ
МОСКВА "ФИНАНСЫ И СТАТИСТИКА"
1988
ББК 32.973-01 Л61
УДК 681.3-092
„пук В. П. Тихомиров
Рецензент д*р *коН-
|
Л ипаев В. |
В., П отапов л. |
и. |
|
|
|
|||
Л61 |
Оценка |
затрат |
на |
разработку |
программных |
||||
|
средств. — М.: |
Финансы и |
статистика, |
1988.— |
|||||
|
224 с.: ид. |
|
|
|
|
|
|
|
|
|
ISBN |
5 - 2 7 9 - 0 0 1 0 9 - 0 |
|
|
|
|
|||
|
Рассматриваются |
вопросы организации проектирования |
комплек |
||||||
|
сов программ. Основное внимание уделяется методике расчета эффек |
||||||||
|
тивности ра «работки и сопровождения комплексов программ, а также |
||||||||
|
прогнозированию затрат на разработку комплексов программ и зави |
||||||||
|
симости от их сложности и характера решаемых задач. Материал кни |
||||||||
|
ги излагается на примерах конкретных систем. |
комплексов прог |
|||||||
|
Для |
ра «работников и |
руководителей |
разработок |
|||||
|
рамм различного назначения, может быть полезна преподавателям и |
||||||||
|
студентам вузов соответствующих |
специальностей. |
|
|
|||||
„ 2405000000—024 |
1 5 -88 |
|
|
|
|
|
ББК 32.973-01 |
||
Л ---------------------- |
|
|
|
|
|
||||
010(01)—88 |
|
|
|
|
|
|
|
|
ISBN 5 -2 7 9 -0 0 1 0 9 -0 |
© Издательство ♦Финансы и статистика», 1988 |
ПРЕДИСЛОВИЕ |
|
|
|
|
Научно-технический прогресс |
в народном хозяйстве |
в |
значи |
|
тельной степени определяется развитием вычислительной |
техники |
|||
и ее программного |
обеспечения. |
Качественное изменение |
роли |
|
программ для ЭВМ |
отразилось |
в том, что часть из них получила |
статут программных средств (ПС) и квалифицируется как продук ция производственно-технического назначения. Как и для любых
промышленных |
изделий, |
для |
программных |
средств |
большое зна |
||
чение |
имеет технология |
их |
разработки, производства |
и эксплуа |
|||
тации. |
Переход |
к созданию |
программных |
средств |
|
промышлен |
ным способом большими коллективами специалистов вызвал не обходимость их четкой организации, планирования по этапам, сро кам и затратам. Совокупные затраты на такие разработки в стра не составляют миллиарды рублей в год, поэтому требуется тща тельный анализ качества, эффективности создания и использова ния ПС. Для решения этих задач необходима новая область зна ния и научная дисциплина — экономика жизненного цикла про граммных средств как часть экономики промышленности и вычис
лительной техники в общей экономике народного хозяйства. Развитие этой области экономики связано с большими трудно
стями, типичными для новых разделов науки и техники, появляю щихся на стыке резко различных областей знания. В данном слу чае особенности состоят в том, что разработчики программ, как правило, не знают даже основ экономики промышленности и на родного хозяйства в целом, а экономисты не представляют сущ ность объекта разработки и производства, а также особенностей его технологического процесса. Объективно положение осложнено неопределенностью и сложностью измерения характеристик анали зируемых объектов — программных средств. Широкий спектр со держательных показателей, которые с различных сторон характе ризуют эти объекты, и невысокая достоверность оценки их значе ний способствуют возрастанию дисперсии при попытке описать создаваемые или используемые ПС их обобщенной характеристи кой, например объемом. Поэтому возникает задача упорядочения характеристик анализируемых объектов и разработки методов обобщенного их описания и измерения.
Значительные трудности развития экономики программных средств обусловлены недостаточной регламентированностью, слож ностью и в ряде моментов неопределенностью технологических процессов разработки, производства и применения программ для ЭВМ. При разработке ПС сложно переплетаются содержание, эта пы и распределение работ, возможен ряд возвратов на более ран-
3
ние технологические этапы в процессе создания компонент ПС, этапы имеют размытые границы начала и завершения и т. д. Спе циалисты в коллективе могут на некотором интервале времени ре шать несколько производственных задач и заменять друг друга. Положение усугубляется трудностью поэтапного определения ка чества изделия и его прогнозирования в процессе разработки, что непосредственно отражается на технико-экономических показате лях (ТЭП) в целом. Следствием этого являются большие ошибки при планировании сроков, трудоемкости и стоимости создания ПС. Эта стихийность при создании крупных комплексов программ (КП) в большинстве случаев приводит к значительному запазды ванию разработок и превышению предполагавшихся затрат. Ти пичны ситуации, когда сроки внедрения систем управления и об работки информации полностью зависят от готовности программ для них [6, 52].
Перечисленные обстоятельства обострили проблему экономики ПС и не позволяют решить ее в короткие сроки. Необходимы ис следования на разных уровнях детализации, начиная от экономи ки и планирования создания ПС в масштабе страны и кончая эко номикой выполнения частных операций отдельными специалиста ми при разработке или производстве конкретных ПС [50]. Одна из важнейших задач состоит в том, чтобы увязать четкими эконо мическими категориями взаимодействие разных специалистов и организаций в типовой народнохозяйственной цепи: заказчик — разработчик — изготовитель — потребитель. Для этого объект по
требления — программное средство и все процессы взаимодейст вия в цепи должны быть связаны системой экономических и тех
нических |
характеристик, в той или иной |
степени |
использующих |
|
основной |
экономический |
показатель — |
реальные |
трудозатраты |
на конечный продукт. Для |
решения этой задачи необходимо де |
тально исследовать трудозатраты современных процессов создания и использования программ различных классов и назначения. Толь ко на базе серьезных статистических исследований технико-эконо мических показателей жизненного цикла ПС возможны практиче ские обобщения и создание основ экономики ПС.
Отражением трудозатрат являются цены на изделия и услуги, которые становятся базой для непосредственного экономического взаимодействия разных организаций. Однако цены далеко не всег да отражают суммарные трудозатраты или их составляющие, и в данной монографии задачи ценообразования на ПС практически не рассматриваются. Перечисленные проблемы и задачи.требуют для своего решения крупных научно-исследовательских работ, мно гие из которых еще не поставлены и далеки от разрешения. По этому целесообразно оговорить ряд ограничений и направления ос новных исследований, представленные в данной книге.
Авторы настоящей книги ограничиваются технико-экономиче
4
ским анализом только процесса разработки программ. Тем самым
выделен небольшой, хотя и очень важный, раздел из всей эконо мику программных средств. Такое выделение определялось кругом интересов авторов, наличием собственных исследований в данной области, а также тем, что без подобных базовых исследований вряд ли возможно последующее серьезное развитие экономики в этой отрасли народного хозяйства.
В книге внимание сосредоточено на концептуальной основе распределения затрат труда в пррцессе разработки программ, на
факторах, определяющих реальные трудозатраты, и на исследова нии характеристик трудозатрат в реализованных современных раз
работках ПС. Подобные исследования всегда являются основой эко номики конкретных производственных процессов и отраслей на родного хозяйства. При этом рассматриваются преимущественно средние и крупные проекты ПС, создаваемые коллективами специ алистов. В таких проектах на чистое творчество, искусство и на учные исследования специалистов, преобладающих в небольших индивидуальных разработках, накладывается множество работ, характерных для промышленного проектирования и производства изделий. Вследствие этого значительно нивелируются индивиду альные особенности специалистов, и появляется возможность оце нивать усредненные характеристики производительности труда и другие ТЭП. Анализируемый процесс в книге ограничен этапом оформления технического задания (ТЗ) на разработку ПС и эта пом завершения испытаний опытного образца и подписания акта комиссии на соответствие ТЗ. Тем самым не рассматриваются про цессы тиражирования, производства, внедрения, сопровождения и применения ПС.
Интерес к экономике программных средств отражается в быст ром росте числа публикаций, посвященных различным аспектам этой проблемы. В большинстве случаев это статьи с результатами частных оценок экономических показателей при конкретных раз работках ПС. В результате накоплен определенный объем полез ных статистических данных о разных классах ПС. Наиболее пол ные исследования и экономические характеристики реализованных проектов отражены в книге Б. Боэма [6], переведенной на рус ский язык. Там же имеется весьма полный обзор литературы, опу бликованной до 1980 г., поэтому далее ссылки на зарубежные пуб ликации относятся в основном к последним годам. Конечно, в од ной книге невозможно было охватить все аспекты данной пробле мы и некоторые из них изложены субъективно. Материалы книги относятся к 70-м годам и несколько устарели, некоторые выводы излишне категоричны. Однако монография [6] пока является уни кальной по объему и глубине проведенных исследований.
В предлагаемой книге авторами приведен ряд результатов соб ственных оригинальных исследований. Анализ этих данных сов
5
местно с результатами других авторов позволил приблизиться к решению задач прогнозирования необходимых ресурсов для созда ния ПС, достоверного планирования их разработки и к формиро ванию нормативной базы процесса создания ПС. Однако полное
решение этих задач пока осталось за рамками данной работы. Новизна и слабая изученность проблемы экономики разработ
ки ПС обусловила ограниченность постановки ряда задач, прибли женность выявленных функциональных зависимостей и числовых оценок. Отсутствие твердо установленной терминологии в данной области привело к необходимости подробной интерпретации не которых использованных показателей и терминов. Авторы надеют ся, что творческий анализ изложенного материала послужит сти мулом для углубленного исследования проблемы. В дальнейшем это должно привести к созданию новой отрасли экономической на уки — экономики жизненного цикла программных средств. Ее ос
новной задачей будет эффективное распределение ресурсов и эко номное использование быстро возрастающих капиталовложений на комплексы программ различного назначения.
Данная книга является органической частью цикла из семи мо нографий проф. В. В. Липаева, две из которых написаны при уча
стии коллег. Цикл базируется на оригинальных |
исследованиях и |
||
опыте, |
полученном в процессе создания и применения |
техно |
|
логии |
[30, 31] автоматизированной разработки |
сложных |
комп |
лексов программ реального времени. Общие проблемы технологии разработки таких программ, конкретные методы и средства авто матизации процесса их создания отражены в двух взаимодо полняющих книгах [20, 48]. Методы эффективного использования ресурсов производительности и памяти реализующих ЭВМ при функционировании программ в реальном масштабе времени из ложены в [21]. Проблемы формализации показателей, а также ме тоды измерения качества программных средств и надежности их исполнения в реальном времени анализируются в [22, 23]. Особое внимание в цикле уделено методам достижения высокого качества сложных программ путем систематического тестирования [24]. Таким образом, в совокупности книги охватывают важнейшие проблемы, методы и средства разработки ПС преимущественно для систем реального времени. Они могут служить справочным и учебным пособием для специалистов и студентов, связанных с ин дустриализацией и промышленной разработкой программ для ЭВМ.
Предисловие, главы 1, 2 и 4 написаны проф. В. В. Липаевым, который также осуществил общее редактирование книги. Глава 3 подготовлена канд. техн. наук А. И. Потаповым. Авторы призна тельны коллегам Л. А. Серебровскому, А. А. Штрику, Б. А. Познну, О. П. Власкиной, М. А. Имаевой, В. В. Новицкому, Э. А. Глад ковой, оказавшим помощь при подготовке монографии.
6
Г л а в а 1
ПРИНЦИПЫ ТЕХНИКО-ЭКОНОМИЧЕСКОГО АНАЛИЗА РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ
1.1. РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ КАК ОБЪЕКТ ТЕХНИКО-ЭКОНОМИЧЕСКОГО АНАЛИЗА
Роль программных средств |
в экономике народного хозяйства. |
В ряде областей народного |
хозяйства и прежде всего в развитии |
и реконструкции машиностроительного комплекса определяющее значение имеют приборостроение и вычислительная техника. На учно-технический прогресс привел к тому, что экономика страны определяется в настоящее время интенсивным, сбалансированным развитием всего народного хозяйства, производительностью труда в ведущих отраслях и качеством всех видов продукции. Эти тех нико-экономические показатели непосредственно зависят от уров ня технологий и степени автоматизации проектирования, произ водства, управления оборудованием и технологическими процесса ми. В результате изменяются методы оценки и основные показа тели, характеризующие экономику страны, все большее значение приобретают результаты науки и интеллектуального труда, их быстрое использование в производстве изделий и в новейших тех нологиях.
Базой коренной реконструкции и интенсификации производства, а также основными средствами автоматизации в ряде отраслей является вычислительная техника. Благодаря массовому произ водству и значительному снижению стоимости ЭВМ стало возмож ным их широкое и активное применение для непосредственного управления объектами и технологическими процессами, для авто матизации инженерного труда, научного эксперимента, процессов проектирования и организационного управления. Функциональные возможности таких систем в значительной степени определяются их интеллектуальной основой, содержащейся в программах. Со вершенно очевидно, что ЭВМ без программных средств — это «пустые мозги». Интеллектуальные и производственные возмож ности этих «мозгов» зависят от сложности, объема н качества программных средств. Расширение объема и областей примене ния ЭВМ, а также их функциональных характеристик должно со
7
провождаться разработкой и производством соответствующих про граммных средств.
В 12-й пятилетке в стране намечен значительный рост затрат на вычислительную технику и к 1990 г. объем производства средств вычислительной техники должен возрасти в 2—2,3 раза *. Значи тельно увеличится производство персональных и встраиваемых уп равляющих ЭВМ. В создании и производстве программ участвуют сотни тысяч специалистов и их количество непрерывно увеличива ется. Затраты на создание и внедрение программ превышают миллиард рублей в год и быстро возрастают. Отечественный и за рубежный опыт обобщения оценок конкретных разработок под тверждает, что интегральные ежегодные затраты на аппаратуру ЭВМ и программные средства соизмеримы [52, 98]. Отсюда ста новится очевидной необходимость развития экономики програм мных средств как важнейшего раздела экономики всей вычисли
тельной техники.
Одной из задач экономической науки является разработка
методов повышения эффективности |
общественного производства. |
В них входят методы планирования, |
стимулирования и управле |
ния производством, экономическое обоснование различных меро приятий в производственно-хозяйственной деятельности, изучение факторов, влияющих на показатели эффективности производства. Экономика в значительной степени определяет направления и ин тенсивность научно-технического прогресса, оценивает достижения прикладной науки и техники с позиции роста производительности общественного труда. Определение экономических показателей новой техники и технологии имеет большое значение для концент рации ресурсов на наиболее эффективных направлениях развития народного хозяйства [56].
Каждая отрасль производства отличается характером техно логического процесса, условиями труда и результатами деятель ности [42]. Экономическое, своеобразие отраслей и роль в народ ном хозяйстве определяют их темпы развития, внутреннюю струк туру, рациональные объемы производства, характер межотрасле вых связей. Материально-техническая база и особенности произ водства в отраслях непосредственно влияют на структуру их основных и оборотных фондов, на соотношения трудоемкостей разработки, изготовления и эксплуатации изделий, а также на ос новные экономические характеристики их жизненного цикла [56]. Особенности применяемых средств труда и технологии их исполь зования определяют своеобразие профессионального состава и не обходимой квалификации работающих, организацию труда и усло вия работы в данной отрасли.
Жизненный цикл программных средств почти не исследован
* См.: Материалы XXVII съезда Коммунистической партии Советского Сою за. — М.: Политиздат, 1986. — С. 281.
8
как объект экономической науки. Имеются только фрагментарные результаты экспериментальной оценки экономических показателей процессов разработки, производства и эксплуатации некоторых ПС. Эти оценки могут служить ориентирами при весьма приближен ном прогнозировании затрат на новые ПС, но они недостаточны для создания фундаментальной экономической теории в этой об ласти. Для ее разработки необходимо глубокое и широкое изуче ние экономических характеристик жизненного цикла современных ПС различных классов и достоверное измерение степени влияния
различных факторов на их экономические показатели. Подобные
исследования должны служить базой для теоретических |
обобще |
|
ний при создании экономической науки этой |
новейшей |
области |
народного хозяйства. Разработка экономики |
жизненного цикла |
|
ПС позволит планировать, прогнозировать и экономно |
распреде |
|
лять ресурсы при разработке, производстве |
и эксплуатации ПС. |
Экономическое осмысление ПС и применение этих результатов мо жет дать эффект, исчисляемый сотнями миллионов рублей в год.
В данной монографии рассматривается только некоторая часть вопросов экономики ПС, связанных в основном с анализом раз работки программ. Однако и в этой относительно узкой области
проведенные исследования показывают большие возможности за рождающейся экономической науки. Для подтверждения этого положения рассмотрим некоторые экономические оценки зарубеж ных специалистов. Приводимые данные позволяют более четко представить масштаб проблемы и подтверждают необходимость развития экономики ПС.
В конце 70-х годов положение с разработкой программ для ЭВМ характеризовалось за рубежом как «кризис в области про граммного обеспечения» [70], который в значительной степени со храняется до настоящего времени. Суть кризиса заключается в
отставании технологии разработки программ [50, 52, 47, 92] от
технологии разработки и производства аппаратуры ЭВМ, что от рицательно сказывается на объеме производства и качестве про граммных средств. По оценкам американских специалистов, сред негодовой прирост производства ЭВМ в США в 80-е годы состав ляет 23—24% и практически удовлетворяет спрос, в то время как производство программ имеет ежегодный прирост только 12— 14% (а по некоторым оценкам вдвое меньше), что значительно отста ет от потребностей [б]. Годовой рост спроса на ПС достигает 24% и с учетом роста производительности труда требует ежегод ного увеличения на 12% персонала, занятого разработкой и со провождением программ. Однако реальное количество специали стов в этой области увеличивается в США только на 3—4% (по другим данным — на 7%), что сохраняет и даже обостряет де фицит ПС [6, 67]. Тем не менее даже эти цифры характеризуют высокую динамичность развития вычислительной техники и про
9
изводства программ среди других отраслей промышленности за
рубежом.
Причинами отставания технологии, объема и качества проек тирования программ является ряд объективных факторов. Слож ность разработки программ велика по сравнению с разработкой традиционных изделий промышленности. Характерны большие трудности измерения количественных и качественных характери стик при разработке программ. В то же время .затраты на тиражи рование и производство экземпляра ПС в сотни раз меньше, чем затраты на разработку опытного образца того же ПС, что значи тельно отличается от типичного соотношения в других отраслях промышленности. В результате большая часть проблем сосредото чивается не в производстве, а в разработке ПС.
Низкое качество программ и низкая производительность труда создающих их специалистов определяются в значительной степени недостатками применяемых технологических процессов разработ ки программ, что, в частности, выражается:
внизком качестве планирования процесса разработки отдель ных компонент и всего ПС для заданных целей;
вплохом управлении коллективами специалистов, ведущих раз
работку, и недостаточном контроле за объективным состоянием программ;
вотсутствии персональной ответственности за разработку от дельных компонент и всего КП на всех этапах проектирования;
внизком уровне автоматизации технологического процесса разработки программ и в больших простоях специалистов в ожи дании результатов вследствие недостаточной их программной и аппаратурной оснащенности (см. § 2.1);
вотсутствии четких критериев достижения успеха и заверше ния этапов разработки с оценкой количества и качества программ ного продукта и проделанной работы;
внеравномерности всего процесса разработки: неторопливости на начальных этапах и попытках резкого форсирования при за вершении работ.
Перечисленные недостатки определяют высокую энтропию про цесса разработки ПС. Некоторые специалисты утверждают f92] г
что это органически присуще программам вследствие высокой ро ли творческого труда, и их разработку невозможно и нецелесооб разно приводить к уровню инженерного проектирования промыш ленных изделий. Однако имеющийся опыт индустриального созда ния высококачественных ПС показывает, что применение количе ственных оценок и регламентирование процессов разработки по зволяет уменьшить энтропию и приблизить создание ПС к области промышленного проектирования и производства. Этому же спо собствует экономический анализ процесса разработки конкретных ПС и целевое управление им.
10