Мифический человеко-месяц, или Как создаются программные системы - [13]

Шрифт
Интервал

Есть масса примеров, подсказанных другими искусствами и ремеслами, которые подводят к мнению, что дисциплина идет на пользу. Действительно, афоризм художника гласит, что «форма освобождает». Самые ужасны строения — это те, бюджет которых был слишком велик для поставленных целей. Творческую активность Баха едва ли могла подавлять необходимость еженедельная необходимость изготавливать кантату определенного вида. Я уверен, что архитектура компьютера Stretch стала бы лучше, если бы на нее наложили более жесткие ограничения; так, ограничения, наложенные бюджетом на System/360 Model 30, по моему мнению, принесли лишь пользу архитектуре Model 75.

Аналогично, я считаю, что получение архитектуры извне усиливает, а не подавляет творческую активность группы исполнителей. Они сразу сосредоточиваются на той части задачи, которой никто не занимался, и в результате изобретательность бьет ключом. В не ограничиваемой группе большая часть обдумывания и обсуждения посвящена архитектурным решениям в ущерб реализации.[5]

Этот многократно наблюдавшийся мной эффект подтвердил Р. У. Конвей (R. W. Conway), чья группа разработала в Корнельском университете компилятор PL/C для языка PL/I. Он говорит: «В конечном итоге мы решили реализовать язык без изменений и усовершенствований, поскольку обсуждение языка отняло бы у нас все силы.»[6]

Чем заняться разработчику, пока он вынужден ждать?

Очень неприятно совершить ошибку стоимостью в миллион долларов, но зато она надолго запоминается. Я отчетливо помню тот день, когда мы приняли решение о том, как практически организовать составление внешних спецификаций для OS/360. Менеджер по архитектуре, менеджер по реализации управляющей программы и я прорабатывали план, график и разделение обязанностей.

У менеджера по архитектуре было 10 хороших специалистов. Он утверждал, что они в состоянии написать спецификации и сделать это должным образом. Это должно было занять 10 месяцев — на три больше, чем отводилось по графику.

У менеджера по реализации управляющей программы было 150 человек. Он заявлял, что они могут подготовить спецификации, при этом группа архитекторов выполняла бы координирующие функции. Обещалось, что это будет сделано хорошо и практично, с соблюдением сроков. Более того, если оставить спецификации группе архитекторов, его 150 человек в течение десяти месяцев будут бить баклуши.

На это менеджер по архитектуре возразил, что если я сделаю ответственной за написание спецификаций группу управляющей программы, то результата в срок не будет: он все равно задержится на три месяца, но по качеству будет много хуже. Так оно и оказалось в действительности. Он оказался прав в обоих пунктах. Кроме того, из-за отсутствия концептуальной целостности создание и внесение изменений в систему оказались значительно более дорогостоящими, и, по моим оценкам, отладка удлинилась на год.

Конечно, многие факторы повлияли на принятие этого ошибочного решения, но определяющими были желание уложиться в график и стремление занять работой этих 150 человек. Пение этих сирен таит смертельные опасности, которые я и хочу сейчас показать.

Когда предлагается, чтобы все внешние спецификации для компьютерной или программной системы были составлены небольшой командой архитекторов, исполнители выдвигают три возражения:

• Спецификации будут перегружены функциями и не будут учитывать практических затрат на реализацию.

• Архитекторы получат все радости творчества и заблокируют изобретательность исполнителей.

• Многочисленным исполнителям придется ожидать в праздности, пока спецификации пройдут через узкое горлышко команды архитекторов.

Первое возражение отражает реальную опасность и будет рассмотрено в следующей главе. Остальные два являются чистым заблуждением. Как мы видели выше, разработка также является в высшей степени творческой деятельностью. Возможность проявить творчество и изобретательность при разработке незначительно ограничивается необходимостью работать в рамках заданных внешних спецификаций, и такая дисциплина может даже усилить степень творчества. Это, несомненно, верно для проекта в целом.

Последнее возражение касается планирования временных рамок и этапов. Проще всего воздержаться от найма исполнителей до завершения работы над спецификациями. Когда воздвигается здание, так и поступают.

Однако при создании компьютерных систем темпы выше, и желательно уплотнить график работ. В какой мере разработка спецификаций и разработка могут перекрываться?

Как отмечает Блау, всю программу создания составляют три отдельные стадии: архитектура, разработка и реализация. Оказывается, что на практике их можно начинать параллельно и продолжать одновременно.

Например, при проектировании компьютеров проектировщик может приступать к работе, имея относительно общие допущения в отношении руководства пользователя, несколько более ясные идеи относительно технологии и вполне определенные задачи по стоимости и рабочим характеристикам. Он может начать проектирование потоков данных, управляющих последовательностей, общих идей компоновки и т.д. Он разрабатывает или адаптирует необходимый инструментарий, особенно систему ведения учета, в том числе систему автоматизации проектирования.


Рекомендуем почитать
Закон малинового варенья и еще 103 секрета консалтинга

Джеральд Вайнберг, исходя из своего более чем 50-летнего опыта работы консультантом, делится своими выводами, как запустить и успешно вести свой собственный консалтинговый бизнес. Благодаря использованию юмористичных Правил, Законов и Принципов — таких как Закон малинового варенья, Принцип картофельных чипсов, Правило Руди о брюкве — автор показывает, как, оставаясь самим собой, находить клиентов, завоевывать доверие и устанавливать правильную цену на свои услуги, о которой потом не придется жалеть. Если вы консультант, когда-либо пользовались услугами консультанта или хотите быть одним из них, эта книга будет вам полезна.


Финансы спасут мир? Как заставить деньги служить общему благу

Как и Тома Пикетти, который жестко критиковал капитализм, но при этом положительно его оценивал, бывший главный финансовый директор Группы Всемирного банка Бертран Бадре показывает деструктивную роль финансов в глобальном экономическом кризисе 2007–2008 гг. и предлагает смелый рецепт – использовать их во благо. Бадре объясняет, как с помощью финансов решить многие важнейшие проблемы мира – климатические изменения, бедность, восстановление инфраструктуры и многое другое. Он пишет: «Если использовать их с умом, человеколюбием, находчивостью и изобретательностью, финансы способны на великие свершения».


Научись вести сложные переговоры за 7 дней

Хотите попросить повышение? Или сообщить подчиненному, что вас не устраивает качество его работы? Благодаря этой книге вы станете настоящим экспертом в разговоре на сложные темы: научитесь подбирать нужные слова, удачный тон и правильное время для бесед. Всего за одну неделю вы подготовитесь к разговору, мысль о котором вселяла в вас панику многие месяцы.


The Next Right Thing. Искусство принимать верные решения

Если вам необходимо принять жизненно важное решение, вы нашли эту книгу в нужный момент! Когда предстоит сделать судьбоносный выбор – вступить ли в брак, переехать в другую страну, сменить работу или завести ребенка (подставьте ваш вариант) – списки «за» и «против» окажутся бесполезными и только еще больше введут в заблуждение. Верное решение находится внутри вас самих, и отыскать его поможет метод Эмили Фриман, известной писательницы и коуча. Пройдя несколько простых шагов, вы научитесь лучше понимать себя и осознаете, что вам действительно нужно и чего вы хотите по-настоящему.


Hewlett Packard. Стратегия антихрупкости

В этой книге отражен результат 15-летнего исследования стратегического лидерства Hewlett Packard. Реальный опыт успешного применения принципов антихрупкости на практике, которые позволили компании выстоять против кризисов XX и XXI века.


Мастер историй. Увлекай, убеждай, вдохновляй

В этой книге Пол Смит, директор по коммуникациям и потребительским исследованиям в Procter & Gamble и популярный спикер, рассказывает, как наиболее эффективно использовать силу историй. Автор уверен: каждый может стать блестящим рассказчиком. Пол Смит предлагает сотню готовых историй на все случаи жизни, которые помогут вам привлекать внимание, вдохновлять и мотивировать. Книга предназначена для всех, кто хочет воодушевлять и убеждать любую аудиторию. На русском языке публикуется впервые.