Джеймс Мартин утверждает, что «документы для „Боинга-747“ весили больше, чем сам самолет». То же самое можно сказать и о большом программном обеспечении. Здесь может возникнуть вопрос, много ли в настоящее время имеется систем из программ в миллион строк, много ли их будет появляться в будущем. Некоторые я перечислил в табл. 4.10, но дело в том, что их с каждым днем становится все больше.
Таблица 4.9. Эффект влияния роста размеров на рост усилий
Пешеходный мостик в парке | Мост в Веразано | |
---|---|---|
Выработка требований | 1 день | 1825 дней |
Разработка | 1 листок бумаги | Большой склад документов |
Материальный план | 1 ч. | 1460 дней |
план осуществления | 1 ч. | 182 дня |
материалы | ½ дня | 182 дня |
заготовки | 1/2 дня | 182 дня |
инвентарные склады | 1 день | 182 дня |
обеспечение реализации | 1 день | 182 дня |
использование | 2 дня | 36 500 дней |
План занятости людей | ||
число людей | 2 | 5000 |
занятость строителей | 1 день | 365 дней |
Общая занятость людей | 3 дня | 3650 дней |
занятость бухгалтеров | 1 день | 3650 дней |
калькуляция всего этого | 1 день | 3650 дней |
Строительство | 3 дня | 1825 дней |
Документирование | 1 день | 555 дней |
число листов бумаги | 5 листов | 500 000 листов |
Полная стоимость | 1000 долларов | 300 000 000 долларов |
Таблица 4.10. Большие программные проекты
Сумма контракта на все время использования (млн. долл.) | Число команд (млн.) | Затраты (чел. — год)[7] | |
---|---|---|---|
Хьюстон (Аполлон/Скайлэб) | 209 | 23.00 | 6000 + |
Управление дальней связью | 30 | 1.25 | 1000 + |
Управление авиатранспортом | 103 | 1.48 | 5000 + |
Противоракетная система | 120 | 1.87 | 3500 + |
Обработка данных со спутников в реальном времени | 23 | 0.55 | 1300 + |
Появление больших систем программного обеспечения обусловлено снижением стоимости аппаратуры вместе с одновременным увеличением его мощности. Список систем не ограничивается приведенными в таблице, этот список все пополняется. Я знаю множество программ для министерства обороны, в которых затраты на программистскую часть превысили 50 млн. долларов. Этого уровня достигает и промышленность. В этот диапазон попадают большие системы связи фирм ATT, RCA, W.U., Satellite Business Systems. Операционные системы, сделанные для крупнейших промышленников, имеют даже большие размеры и стоят дороже.
Как мы уже видели, на авиатранспорте применяются столь же большие программы. Системы подобных размеров начинают заводить себе банки, особенно иностранные.
Одной из программ, стоившей гораздо больше 100 млн. долларов, была система наземного контроля космических кораблей типа Аполлон, созданная хьюстонским Центром пилотируемых полетов. Я был в Хьюстоне в 1970 г. сразу же после вступления на пост главного управляющего федеральным системным центром с целью проинспектировать работу 700 человек, подчинявшихся лично мне.
Они показали мне, как они управляют ходом разработки программы в миллион строк. Я был просто потрясен! «Это сущая бюрократия», — думал я, когда мне показывали планы, руководства, формы, тесты и еще множество всевозможных документов.
Вскоре после этого я посетил еще некоторые подчиненные системы. Там не было такой большой системы управления разработками — и разработки были неуправляемыми. Самым правильным был подход, применявшийся в Хьюстоне, — для управления разработкой действительно большой системы более 50 % средств нужно направлять на планирование, проверку, составление графиков, руководство и управление. Это и есть та инфраструктура, которую мы видим в других отраслях. Позже мне показали график, изображенный на рис. 4.19. Он и сейчас соответствует действительности.