Мифический человеко-месяц или как создаются программные системы
Шрифт:
Еще более примечательно, что высшее руководство ряда крупных фирм предприняло меры по передаче власти вниз отдельным командам, работающим над программными проектами, что сближает их с квази-фирмами Шумахера по структуре и ответственности. Результаты вызвали удивление и удовлетворение.
Джим Маккарти из Microsoft описывал мне свой опыт эмансипации команд:
У каждой бригады (30-40 человек) есть свой набор разрабатываемых объектов, свой график и даже свои правила разработки, реализации и поставки. В бригаде есть специалисты в четырех или пяти областях, в том числе реализации,
Эрл Уилер (Earl Wheeler), бывший руководитель программных разработок IBM, поделился со мной своим опытом делегирования вниз полномочий, бывших в течение долгого времени сосредоточенными у администрации управления IBM.
Ключевым порывом последних лет стало делегирование полномочий вниз. Это было чудом! Улучшились качество, продуктивность, моральный дух. У нас небольшие бригады без централизованного управления. Бригады сами определяют правила производственного процесса, но они испытывают давление со стороны рынка. И это давление заставляет их самих искать способы решения проблем.
Общение с отдельными членами бригад показывает, конечно, и удовлетворение от передачи полномочий и свободы, а также более сдержанную оценку того, в какой мере контроль действительно ослаблен. Тем не менее, достигнутая степень передачи полномочий являет шаг в правильном направлении. Получаемые выгода точно те, которые предсказывались Пием XI: в результате делегирования полномочий центр усиливает свою реальную власть, а организация в целом становится более счастливой и процветающей.
Какой самый большой сюрприз? Миллионы компьютеров
Все компьютерные гуру, с которыми я разговаривал, признают, что для них были неожиданностью микрокомпьютерная революция и ее порождение — производство коробочных программных продуктов. Вне сомнения, это самое значительное событие за два десятилетия после выхода МЧ-М. Оно имеет многочисленные последствия для программной инженерии.
Микрокомпьютерная революция изменила характер использования компьютеров. Шумахер сформулировал проблему более 20 лет назад:
Чего мы действительно хотим от ученых и технологов? Я отвечу так: нам нужны методы и оборудование, которые:
• достаточно дешевы, чтобы быть доступными практически каждому;
• пригодны для небольших приложений;
• соответствуют потребности человека в творческой деятельности.[21]
Это как раз те замечательные свойства, которые микрокомпьютерная революция дала компьютерной промышленности и ее потребителям, которыми теперь стала широкая публика. Средний американец может сегодня позволить себе не только собственный компьютер, но и набор программных средств, для покупки которого 20 лет назад потребовалось бы королевское жалованье. Каждую из целей, поставленных Шумахером, стоит рассмотреть отдельно. Представляет также интерес, в какой мере они достигнуты — особенно последняя. В одной области за другой обычным людям и профессионалам становятся доступны все новые средства самовыражения.
Отчасти,
Аналогичную изменчивость компьютер придал многим другим материалам: картинам художников, планам построек, чертежам механизмов, музыкальным сочинениям, фотографиям, кинофильмам, слайдовым презентациям, мультимедийным работам и даже электронным таблицам. В каждом случае при ручном способе изготовления для того, чтобы увидеть изменения в контексте, требовалось копирование больших неизменных частей. Теперь, независимо от материала, мы можем пользоваться такими же выгодами, какие работа в режиме разделения времени принесла в программирование: возможность редактирования и мгновенной оценки результата без потери хода мысли.
Творческие возможности усилились также благодаря новым гибким вспомогательным инструментам. Один пример — сочинение прозы, при котором мы пользуемся проверкой орфографии, грамматики, стилистическими подсказками, системами библиографии и замечательной возможностью одновременно видеть страницы в окончательно отформатированном виде. Мы еще не оценили значения мгновенного доступа к энциклопедиям и безграничным ресурсам всемирной паутины для использования писателем импровизированного поиска.
Самое главное, обретенная изменчивость материала упрощает изучение многих в корне различных возможностей, когда творческая работа только обретает форму. Вот другой пример, когда порядок величины в количественном параметре — в данном случае, времени, необходимом для внесения изменений, — производит качественный скачок в подходе к задаче.
Инструменты для черчения позволяют проектировщикам зданий за час творческой работы исследовать гораздо больше вариантов. Подключение компьютеров к синтезаторам и программы, позволяющие автоматически записывать или проигрывать ноты, значительно облегчают фиксацию бренчания по клавишам. Цифровая обработка фотографий, как в Adobe Photoshop, позволяет в течение считанных минут провести эксперименты, для которых потребовались часы работы в фотолаборатории. Электронные таблицы позволяют легко исследовать десятки альтернативных сценариев типа «что, если».
Наконец, благодаря вездесущести персональных компьютеров создается совершенно новый материал. Гипертексты, предложенные Ванневаром Бушем в 1945 году, осуществимы только с помощью компьютеров.[23]Мультимедийные презентации и опыты были сложнейшими задачами — слишком много хлопот — до того, как стало возможным проводить их с помощью компьютеров и соответствующего богатого программного обеспечения. Системы виртуальной реальности, пока еще дорогие и не широко распространенные, в будущем станут такими и создадут новый материал для творчества.