Страница 2 из 90
Изучение процесса разработки будет продолжаться в гл.5. Основной объем текста связан с этим процессом, но первые четыре главы все же особенно важны для ясного понимания остальной части книги. Я призываю профессиональных программистов не пропускать первой части книги: хотя многое из нее всем известно, но в ней есть некоторые тонкости классификации, необходимые в повседневной деятельности.
В очень многих книгах предмет программирования рассматривается с точки зрения отдельного программиста. Детальное обсуждение рекурсивных функций, свойств языков и теорем, излагаемых техническим языком, помогает программисту справиться с его текущей задачей.
Но в очень немногих книгах ставится цель осветить проблемы, возникающие у руководителей процессом программирования и ходом работ над проектом, а также у руководителей высшего ранга, — каково общее положение дел, что наиболее важно, каковы тенденции, какие возможны ловушки, какие наиболее важные уроки извлечены за последнее время в мире программирования? В течение семи с половиной лет я имел счастье руководить большим программистским предприятием — отделением фирмы IBM. В моем подчинении было 4400 человек, в большинстве своем профессионалы, в основном создававшие программное обеспечение для больших систем реального времени. Многие уроки достались мне очень тяжело. Мы всегда шли непроторенными путями, одновременно приходилось выполнять работы по сотне и более контрактов.
Моя работа была похожа на тушение пожара в нефтяной скважине или на что-то в этом роде. Не успею я взять под контроль один большой проект, как другой внезапно, без всякого предупреждения взрывается — и горит ярким пламенем все отведенное для этого время, несмотря на все усилия овладеть ситуацией.
Мы работали над крупными проектами: 700 человек в течение 10 лет в Хьюстоне, шт. Техас, создавали систему наземного управления пилотируемыми космическими полетами; 500 человек в течение 10 лет в Атлантик-Сити, шт. Нью-Джерси, в местном отделении FAA, разрабатывали систему управления транспортным воздушным сообщением; 700 человек в течение 5 лет в Уиппани, шт. Нью-Джерси, работали над программной частью системы противоракетной обороны; 500 человек в Лос-Анджелесе в течение 5 лет делали спутниковую систему ВВС США.
Ниже я привожу примеры работ, проведенных под моим руководством за 7,5 лет, с 1969 по 1977 г.:
Люди/Годы Место Проект 700/7 Хьюстон, шт. Техас «Аполлон», «Скайлэб», «Шаттл» 700/5 Уиппани, шт. Нью-Джерси Противоракетная система «Сэйфгард» 500/7 Атлантик-Сити, шт. Нью-Джерси Управление воздушными транспортными линиями FAA (Federal Aviation Agency — Федеральное авиационное агентство) 200/2 Мыс Кеннеди, шт. Флорида Система запуска ракет 60/3 Гейтсбург, шт. Мэриленд Японская издательская система 20/3 Нью-Йорк, шт. Нью-Йорк Диспетчерская служба полиции города 5/1 Гейтсбург, шт. Мэриленд Автоматизация службы сбора информации газеты «Нью-Йорк таймс» 5/5 Лондон, Великобритания Общенациональная банковская система 53/3 Гейтсбург, шт. Мэриленд Система межиздательских связей США 200/3 Хьюстон, шт. Техас Автоматизация нефтеочистительных заводов (Канада, Бельгия) 15/2 Сент-Луис, шт. Миссури Автоматизация железнодорожной связи, МОРАС