Программное обеспечение и его разработка
Шрифт:
Создается «рабочий план». Тщательно детализируются и документируются все сведения о том, что, когда и кем должно выполняться, какая между всем этим есть взаимосвязь. Определяется параллельность работ (какие работы могут выполняться параллельно друг другу).
Все это надо распланировать и понять заранее. Только после этого можно приступать к найму строителей, выписывать ордера на материалы, инструменты и доставлять оборудование.
Для начисления рабочим зарплаты создается бухгалтерия. Одна комната заполняется за другой, поскольку для управления созданием такого огромного сооружения требуется огромное количество документов.
Проходят годы. Мост становится реальностью, чудом, воплощенным в
Но никто не видит долгих лет подготовки, тонны документов, сложную и удивительную работу по планированию. Они невидимы для тех, кто ходит по мосту, но абсолютна необходимы для достижения результата.
Урок, который можно извлечь из табл. 4.9, очевиден — для строительства моста стоимостью в 300 млн. долларов нужен тщательно разработавшей «фундамент». Все это с полной уверенностью можно отнести и к программному обеспечению стоимостью в 100 млн. долларов, состоящему из программ размером от 500 тыс. до 2 млн. строк текста.
Эффект больших масштабов проявляется во всех отраслях. Дональд Дуглас, один из пионеров авиации, говорил, что «когда вес документов достигнет веса самолета, самолет начнет летать» (См. рис. 4.18.)
Джеймс Мартин утверждает, что «документы для „Боинга-747“ весили больше, чем сам самолет». То же самое можно сказать и о большом программном обеспечении. Здесь может возникнуть вопрос, много ли в настоящее время имеется систем из программ в миллион строк, много ли их будет появляться в будущем. Некоторые я перечислил в табл. 4.10, но дело в том, что их с каждым днем становится все больше.
Таблица 4.9. Эффект влияния роста размеров на рост усилий
Пешеходный мостик в парке | Мост в Веразано | |
---|---|---|
Выработка требований | 1 день | 1825 дней |
Разработка | 1 листок бумаги | Большой склад документов |
Материальный план | 1 ч. | 1460 дней |
план осуществления | 1 ч. | 182 дня |
материалы | 1/2 дня | 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. Он и сейчас соответствует действительности.