Факторы производительности труда программиста. Часть 1.

Широкое внедрение ЭВМ во все сферы деятельности человека породило проблему повышения производительности труда программистов. Действительно, для того чтобы ЭВМ решала задачи независимо от типа ее, назначения или сферы применения, в ее память должны быть введены программы решения этих задач. Но программы, вводимые в память, создаются людьми и, следовательно, с резким ростом числа ЭВМ и сфер их применения (если требуется, чтобы новые ЭВМ работали хотя бы так же эффективно, как и существующие) необходимо столь же резко поднять производительность труда программистов или при существующей средней производительности труда резко увеличить их число. В настоящее время существующие потребности не удовлетворяются ни по количеству программистов, ни по качеству их труда.

За последние 30—35 лет быстродействие ЭВМ, оцениваемое числом простых операций типа «сложение», выполняемых за 1 с, увеличилось в 104—105 раз, а производительность труда программиста возросла только в 2—3 раза. Именно создание программного обеспечения (ПО) становится «узким местом» в сфере применения СЭВМ, определяет сроки разработки вычислительных комплексов в целом, влечет за собой существенное увеличение затрат и сказывается на показателях надежности проектируемых систем.

В связи с этим полезно привести некоторые данные о состоянии работ по ПО в США — стране, занимающей лидирующие позиции в мире по объему выпускаемых средств вычислительной техники и по их использованию в различных областях. Для иллюстрации рассмотрим сферы бортовой вычислительной техники, так как ее развитие определено на ближайшие 10—15 лет рядом утвержденных программ, имеющих приоритетный характер.

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

Поэтому создание и сопровождение ПО будет становиться все более сложным, трудоемким и дорогостоящим процессом. Об этом свидетельствуют статистика расходов и опыт конкретных разработок больших программных комплексов. Так, в 1980 г. затраты министерства обороны США на ПО встроенных ЭВМ составили 2,8 млрд. дол.; ожидается, что в 1990 г. они увеличатся до 32,1 млрд. дол. Стоимость ПО для ЭВМ военного назначения уже сейчас составляет около 90 % от общей стоимости ЭВМ. Увеличивается отставание производства ПО. Так, ежегодный прирост объема производства ЭВМ составляет 23—24%, а прирост производства ПО только 12—14%. Немаловажное значение имеет всевозрастающий объем задач и увеличение их сложности. Например, объем ПО бортовых ЭВМ современного истребителя составляет около 200 тыс. команд. Для следующего поколения это значение может возрасти до 1 млн. команд, не считая того, что дополнительно потребуется примерно 250 тыс. команд для процессоров цифровой обработки сигналов, непосредственно соединенных с соответствующими датчиками.