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