Deadline. Роман об управлении проектами Демарко Том
— Думаю, они захотят, чтобы я проводил совещание строго согласно повестке, без изменений.
— Молодец! Если все будут уверены, что вы не собираетесь на ходу изменять повестку, тогда они смогут покинуть собрание, не опасаясь пропустить что-то важное. — Доктор Виннипег обернулся к присутствующим: — Что скажете?
Все громко выразили свое одобрение так, как это было принято в Моровии — постучав костяшками пальцев по столу.
— Вот и замечательно. Значит, теперь каждое собрание будет проводиться строго по заранее объявленной повестке. Кроме того, совещания должны быть короче. Для этого лучше посвящать каждое собрание определенному вопросу, решать который будут не все участники проекта, а только те, которых это непосредственно касается. Таким образом, на собрании будет присутствовать гораздо меньше людей, а остальные могут спокойно пропускать это собрание, потому что повестка их не касается. Ничего сложного, правда?
— Ничего, — подтвердил Гулливер Менендес.
— Конечно, такие меры помогут проводить собрания быстрее и эффективнее. Однако и это еще не все. Иногда повестка покажется всем достаточно интересной или же в ней будут какие-нибудь невероятно важные вопросы. Тогда на совещание опять придут все. И что вы будете делать в таких случаях?
— Э-э… не знаю.
— Я бы предложил вам перед началом каждого заседания проводить небольшую церемонию. Если это станет правилом, то все собрания будут настолько короткими, насколько это только возможно. Более того, на них будут обсуждаться только те вопросы, которые интересны собравшимся. Попробуем прямо сейчас? — неожиданно обратился доктор Виннипег ко всем. В ответ послышались одобрительные возгласы. Все явно заинтересовались.
Доктор Виннипег попросил Гулливера встать и вывел его на середину комнаты.
— Итак, церемония делится на пять частей. Шаг первый: Гулливер, вы должны выразить и логически обосновать желание, чтобы кто-то покинул заседание. Далее вся группа выражает согласие. В-третьих, Гулливер выбирает по меньшей мере одного человека, чья работа настолько важна для проекта, что ему лучше покинуть совещание. Четвертый шаг: этот человек просит остающихся за время его отсутствия решить определенные вопросы. Пятый и последний шаг: группа выражает согласие и человек уходит.
— Хорошо, — кивнул Гулливер.
— Начнем же. Первый шаг — посмотрите на количество собравшихся и выразите желание отослать кого-то. Вперед.
— Хм, — Гулливер обвел взглядом помещение. — Похоже, нас сегодня слишком много собралось, вам не кажется? И я… гхм, я хотел бы попросить кого-нибудь уйти, чтобы группа стала поменьше.
— Теперь следующий шаг — группа выражает свое одобрение.
В зале послышался смех: «Давай, Гулливер! Давно пора!» «Меня, меня, выбери меня», — шутливо крикнул кто-то с другой стороны стола. Доктор Виннипег жестом попросил внимания.
— Хорошо. Шаг третий: Гулливер выбирает, кого нужно отпустить, и…
Гулливер не долго думая указал на одного из своих помощников
— Ты, Конрад. Давай, выметайся.
— Ох! — вырвалось у доктора Виннипега. — Осторожнее, так можно незаслуженно обидеть человека. Запомните, вы должны отпустить с собрания того, чья работа превыше всего, потому что за время отсутствия он может сделать что-то гораздо более важное для проекта. Это — единственная причина, и все должны твердо знать, что ваше решение основывается только на ней. А теперь скажите, пожалуйста, только честно: как вы считаете, кто напрасно теряет время?
— Ах, вот оно что… — Гулливер подошел к одному из испанских консультантов, возле которого сидели один из программистов и работник моронийского аэропорта, ответственный за строительство новой сигнальной башни. — Вот эти трое. Они могли бы сейчас обсуждать втроем ключевые вопросы составления протоколов. Их время просто бесценно.
Гулливер на всякий случай оглянулся, ища поддержки доктора Виннипега. Тот улыбнулся и кивнул.
— Итак, я отпускаю вас с собрания.
— Очень хорошо, — подхватил консультант. — Теперь указанные Гулливером сотрудники должны встать и объявить свою просьбу остающимся на собрании коллегам.
Все трое дружно поднялись, и один, посмотрев на остальных, сказал:
— Думаю, я могу говорить от лица всей нашей маленькой группы. Мы бы очень хотели, чтобы в наше отсутствие вы договорились, кто будет исполнять обязанности посредника между проектом и Европейской комиссией по воздушным перевозкам, а также назначили бы рабочую группу, которая будет заниматься вопросами, связанными с пересечением воздушного пространства Моровии. Еще что-нибудь? — он посмотрел на своих коллег. Те покачали головами и стали собирать бумаги.
— Последняя часть церемонии, — напомнил доктор Виннипег. — Вы выражаете согласие, а они уходят.
По комнате пронесся дробный стук костяшек пальцев о стол. Все были согласны.
— Вот и все. Каждому проекту нужна своя церемония или ритуал. Ведь каждый проект — это живое существо, социологический организм. Не забывайте каждый раз выполнять все шаги, пока церемония не станет для вас естественным атрибутом любого совещания, — сказал напоследок доктор Виннипег и сел на место рядом с мистером Томпкинсом.
Гулливер продолжал стоять посреди комнаты. Помолчав немного, он наконец заговорил:
— Принимая во внимание все то, что мы с вами сейчас узнали, мне остается только распустить совещание. Уверяю вас, вы узнаете повестку дня следующего собрания заранее, и она будет тщательно продумана, — он опять помолчал. — Я просто хочу дождаться тех троих. Сейчас они вернутся, и я всех отпущу.
— О, не думаю, что ты их дождешься, — под общий смех произнес мистер Томпкинс. — Они уже давно занялись своими делами.
Вечером того же дня мистер Томпкинс вез доктора Виннипега в аэропорт.
— Что ж, — сказал он, когда они высадились из такси, — все было просто замечательно. Я узнал о том, что такое проекты-зомби, и о том, как уменьшать количество людей на собраниях. Уже много лет подряд я читаю ваши книги, но видеть, как вы работаете на месте, — совсем другое дело. И примите отдельную благодарность за решение проблемы с сердитым руководителем. Вы приняли единственно правильное решение. Меня только немного смущает тот факт, что я не додумался до этого сам.
— Для меня работать с вами было настоящим удовольствием.
— Но скажите, почему он был так зол на своих коллег? Почему он вдруг стал позволять себе кричать на них, ругать в присутствии других? Вы поняли, в чем причина такого поведения?
— О, да. Это как раз совсем несложно установить. Я знал ответ еще до того, как встретился с ним.
Объявили приглашение на посадку. Мистер Томпкинс кивнул стюардессе и жестом попросил чуть-чугь подождать.
— Очень хотелось бы узнать, что это было, до того, как вы покинете нас.
— Страх, Вебстер, — ответил доктор Виннипег. — Бедняга был просто до смерти напуган. Он боялся не справиться с задачей, боялся подвести вас, подвести свою команду, свою страну, наконец.
— Так он злился, потому что был напуган?!
— Не совсем так. Он злился, потому что был напуган. Страх в нашем обществе почему-то нельзя демонстрировать. А вот злость можно. Но когда ты испытываешь сильную эмоциональную перегрузку, тебе просто необходимо выплеснуть свои чувства. Именно поэтому люди, испытывающие страх, чаще всего демонстрируют на людях злость и презрительное отношение к другим. Злость становится суррогатным воплощением страха. Конечно, в вопросах поведения детей, семейных проблем, ссор между друзьями и так далее, все не так просто, но когда речь идет о бизнесе, о поведении на работе — это правило срабатывает на сто процентов.
Проблемы социологии
1. Собрания должны быть небольшими. Для этого нужно сделать так, чтобы люди не боялись пропускать ненужные им собрания. Самый простой способ — заранее опубликовать повестку дня, а потом всегда строго ее придерживаться.
2. Каждому проекту нужна какая-то церемония или ритуал.
3. С помощью церемоний можно концентрировать внимание собравшихся на основных целях и задачах совещания: сократить состав рабочей группы, повысить качество программного кода и т. п.
4. Защищайте людей от оскорблений и ругани Начальства.
5. Запомните: в работе страх = гнев. Те руководители, которые любят кричать на своих подчиненных и всячески унижают и оскорбляют их, на самом деле просто чего-то очень боятся.
6. Наблюдение: если бы для всех проявление грубости и злости к подчиненным всегда значило бы, что начальник просто боится, то никто из начальников не стал бы так себя вести просто из страха, что его страх станет заметен! (Это, конечно, не решает проблем такого руководителя, но, по крайней мере, оберегает его подчиненных.)
Глава 21
Выход на финишную прямую
Она появилась после десяти месяцев отсутствия так же неожиданно, как исчезла. Просто однажды дверь в ее кабинет оказалась открытой. И она, как всегда, сидела на своем диванчике у окна и смотрела, как на улице идет дождь.
Первым желанием мистера Томпкинса было… впрочем, он и сам не знал, каким оно было. Но сразу после этого у него появилось второе желание. «Где, черт возьми, ты пропадала?» — хотел он спросить спокойным тоном, но у него ничего не вышло.
— Вебстер… — она посмотрела на него с застенчивой улыбкой.
— Черт возьми, Лакса, пока тебя не было, тут такое творилось! Ты хоть бы позвонила разок за все это время!
— Я вернулась, Вебстер, — она встала и пошла ему навстречу.
— Ну и где ты пропадала? — повторил он.
— На Бермудах. По крайней мере, в последнее время. Как тебе мой загар?
— Отвратительный. Лакса, я действительно на тебя зол. Серьезно.
— А я-то думала, что он соскучился.
— Я зол, рассержен, разочарован, раздражен, сердит, разгневан, взбешен, я просто в ярости, я…
— Так ты скучал по мне. Я тоже скучала по тебе, Вебстер, — сказала Лакса и поцеловала его.
Мистер Томпкинс непроизвольно отступил на шаг. Наконец он снова обрел дар речи:
— И ты думаешь, что это все извиняет? — уже тише спросил он. Конечно же, это все извиняло.
— Вебстер.
Он снова почувствовал, что начинает злиться.
— Мы так о тебе волновались! Мы даже не знали… А тут все вообще встало с ног на голову. Твоя помощь пришлась бы очень кстати.
— О, господи. Я обо всем уже знаю. Бэллок?
— Да, черт возьми. Бэллок. Хоть бы посоветовала мне, как себя с ним вести, по меньшей мере.
— Можешь о нем больше не беспокоиться, дорогой. Я уже избавила вас от Бэллока.
— Ты?
— Да, я. Он уехал и в обозримом будущем здесь не появится.
— И чем же мы обязаны такому невероятному везению?
— Стечение обстоятельств. Бедняга подхватил где-то редкий вид герпеса.
— Надеюсь, это серьезно.
— Не представляет угрозы для жизни, а так — премерзостное заболевание.
— Не тот ли это вид герпеса, который поражает… э-э-э… определенные органы?…
— Боюсь, что именно этот. У него как раз случился приступ. Сильнейшая боль, я думаю. Впрочем, он уже на пути в клинику, где о нем позаботятся. Клиника находится в Атланте, там этот вид герпеса лечат патентованными средствами.
— Боже мой… но ты уверена, что он будет долго лечиться? — самое главное, чтобы зловредный министр отсутствовал еще около девяти месяцев, до окончания контракта.
— Целый год. Конечно, боль пройдет гораздо раньше — как только они начнут курс лечения. Но уехать оттуда он не сможет, потому что ему нужно будет посещать процедуры. Так что, я надеюсь, больше Аллэра мы не увидим.
И тут мистера Томпкинса осенила ужасная мысль:
— Постой-ка! Как же так получилось, что это совпало с твоим появлением? Неужели эта болезнь и твой приезд?… — он не закончил и молча уставился на нее.
Она улыбнулась своей очаровательной кривоватой усмешкой:
— Неужели мне придется рассказать тебе всю правду? У меня есть отвратительная привычка — ничего не могу с ней поделать. Вебстер, я подсыпаю людям в напитки всякую всячину.
— Значит, герпес попал к нему через какой-то напиток?
— В общем-то, да. Он любит лимонад. А я за время путешествий приобрела замечательный порошок, всего-то щепоточку — и в пятницу высыпала этот порошок в его лимонад. В субботу он уже верещал от боли. Тогда я позвонила в Джорджию, в ту самую клинику. Телефон мне дал тот же человек, который продал порошок. Ну да это неважно. Я позвонила, и сейчас Аллэр уже летит в Атланту на корпоративном самолете, а я сразу же выехала из Корзака сюда, в Айдриволи.
— Все шесть команд А уже давно зомби, — говорил мистер Томпкинс. — Они уже давно скончались, просто из-за определенных политических соображений мы поддерживали в них видимость жизни. А теперь, поскольку наш обожаемый министр Бэллок отсутствует…
Аристотель Кенорос захихикал.
— …то политических соображений больше нет. И теперь мы можем сделать то, что Белинда требовала сделать еще несколько недель тому назад: распустить команды А.
— Я говорила «распустить», Вебстер, но ты не можешь использовать это слово, как официальный термин. И вообще, нам надо быть осторожнее и прежде, чем что-то делать, хорошо подумать, как мы будем объяснять это нашим разработчикам.
— Я понял, Белинда. Итак, нужно представить это так, чтобы никто из наших ребят не потерял лицо. Проекты А, конечно, зомби, но люди, которые над ними работают, — вовсе нет. У них есть чувства, у них есть профессиональная гордость. Как же нам все это подать? У тебя есть идеи, Мелисса?
— На самом деле ты их спасаешь, Вебстер. Они все прекрасно знали с самого начала, что только одна команда выйдет победителем и выпустит готовый продукт. Команда PMill-A, к примеру, уже догадывается, что стать первой из трех ей не удастся. Думаю, что и остальные команды А испытывают подобные чувства. Так что нам надо представить это, как спасение ценных профессиональных ресурсов. Мы снимаем их с ненужной работы и переносим туда, где их участие действительно нужно и даже необходимо.
— Да, что-то в этом роде, — поддержал девушку Гэбриел Марков, — Нельзя сейчас просто взять и распределить людей из команд А по командам Б и В. Если мы так поступим, то половина людей будет рассматривать это, как второе поражение. — Он встал, пересек комнату и подошел к доске для рисования. — Я бы предложил создать новые команды под руководством наших шести главных руководителей проектов и укомплектовать их сотрудниками из всех трех групп, в том числе и команд А.
Все собрание руководителей молча созерцало диаграмму.
— Это только начало, — сказал им мистер Томпкинс. — Гэбриел, ты только что изобразил вариант архитектурных изменений всей нашей системы. Мы проектируем и создаем программы, но сами мы — тоже живая система. И ты только что перепроектировал ее. Но прежде чем мы перейдем к фазе реализации, я хотел бы, чтобы мы поступили с этим вариантом изменения архитектуры системы так, как это принято в командах Б и В. — Он обернулся к Кеноросу. — Аристотель, ты нам поможешь?
— О'кей, босс, — весело улыбнулся тот. — Ну-ка, ребята, превращайтесь в архитекторов! У нас есть куча работы.
После того, как министр Бэллок выбыл из игры, никто не мог запретить мистеру Томпкинсу вернуться к изначальным срокам сдачи проектов. Что он и не замедлил сделать. После этого по Айдриволи буквально пронесся вздох облегчения. Теперь у всех команд Б и В появился вполне реальный шанс успеть сделать все вовремя, даже у самых крупных проектов. Что же касается маленьких, таких как QuickerStill, то они должны были сдать свои системы задолго до указанного срока. На самом деле, у мистера Томпкинса еще оставалась надежда, что один из этих небольших проектов завершится к 1 июня. Конечно, Бэллока здесь уже не было, но мистер Томпкинс все равно не мог забыть об этой проклятой дате. Он даже попросил миссис Бирцих, чтобы она не снимала в его кабинете отсчет дней до 1 июня. Сейчас, в середине февраля, там значилось:
Осталось всего 106 дней до «дня Д»!
После перегруппировки проектов мистеру Томпкинсу уже почти ничего не оставалось делать, кроме как смотреть и ждать. Он весь день расхаживал по Айдриволи и разговаривал с людьми, выслушивая всевозможные сплетни, подбадривал, выражал одобрение хорошей работой, а самое главное — выискивал малейшую возможность поучаствовать и помочь. К слову сказать, такая возможность выпадала довольно редко. Проекты твердо шли к намеченной цели, и постепенно мистер Томпкинс стал чувствовать себя чуть ли не лишним.
Белинда, как оказалось, тоже испытывала похожие чувства. С каждым днем она все больше времени проводила у себя под пальмой, читая книги. Более того, она снова поселилась на улице, так что в здании отеля ее можно было увидеть, только если погода на улице становилась совсем уж ненастной. Однажды мистер Томпкинс пришел к ней в парк и принес с собой две коробки для ленча.
— Пообедаем? — предложил он ей. — А то совсем нечего делать.
Белинда ухмыльнулась:
— Твоя работа уже закончена, Вебстер. В идеале так и должно происходить, только почему-то почти никогда не получается. Теперь ты можешь только взять бинокль и смотреть, как разворачиваются события. Как генерал Патгон, помнишь?
Мистер Томпкинс вспомнил, как ему понравилась история об этом генерале и его тактике, когда он только что услышал ее. Что может быть лучше, чем взирать на то, как один за другим сбываются твои планы! На деле все оказалось не так уж замечательно. Мистер Томпкинс просто с ума сходил от того, что не участвовал в активной жизни проекта. Интересно, не испытывал ли подобных чувств и Паттон?
Поев с Белиндой в парке, мистер Томпкинс отправился в библиотеку и взял там видеокассету о фильмом о Паттоне. Потом он отправился домой и там, в тишине и спокойствии, стал смотреть фильм. К его удивлению, Белинда немного ошиблась в изложении событий. Да, Паттон наблюдал битву в бинокль, и только. До этого он уже распределил маневры танковых подразделений, обеспечил поддержку с воздуха, распорядился о порядке и сроке подвоза боеприпасов на позиции, высчитал правильный момент для начала сражения. Далее, когда сражение началось, он просто стал безучастным наблюдателем. Но в конце он отложил бинокль и послал курьера к генералу Бродли с новым указанием. Он немного поменял план в ходе сражения. Он вмешался. Вот это настоящий руководитель! Ты заранее скрупулезно планируешь битву, обучаешь младший персонал, как вести себя во время сражения, и в результате все проходит без сучка, без задоринки. Остается только смотреть… но если вдруг происходит хоть малейшее отклонение от задуманного тобой плана, ты тут же реагируешь. Ты вмешиваешься в процесс и меняешь план.
— Все идет настолько гладко, что я уже начала скучать, — сказала мистеру Томпкинсу Молли Макмора, руководитель команды QuickerStill-B. — Разумеется, это хорошо. У процесса разработки архитектуры, который предложил нам Кенорос, есть один замечательный побочный эффект. У нас теперь есть превосходные метрики, с помощью которых можно наблюдать за ходом этой части проекта. Мы точно знаем, сколько в нашей системе модулей, и можем предсказать, сколько в них будет строк кода, сколько ожидается дефектов, как много времени уйдет на ликвидацию каждого дефекта, сколько мы потратим на каждую отдельную часть работы…
— Но как же вы можете с точностью угадать количество строк кода в несуществующем модуле?
— Дело в том, что половина всех запланированных модулей уже готова. И поскольку мы уже отработали технику на четырехстах первых модулях, то теперь нам несложно предсказывать, как пойдет работа над остальными.
— Но что действительно дает чувство контроля над разработкой, — продолжала Молли, — так это план по сборкам системы. Пошли, посмотришь сам.
Она провела его в комнату, где обычно собиралась для мозгового штурма команда QuickerStill-B. Там на стене висела разноцветная диаграмма.
— Изначально мы предполагали поставить всю систему за шестьдесят сборок. Каждая сборка представляет собой часть общей системы и привносит в нее необходимую функциональность. Сегодня мы выпускаем элемент под номером двадцать четыре. Как ты видишь, на диаграмме показано, что он состоит из четыреста девяти модулей. А вот элемент двадцать три, который мы закончили на прошлой неделе… — она нашла диаграмму для этого блока, — состоял из трехста девяносто двух модулей. А это значит, что в последнем блоке было семнадцать новых модулей. Вот здесь обозначены идентификатор и размер для каждого модуля.
— Здорово.
— Разумеется, здорово. Мы высчитали, сколько процентов всей системы реализовано в каждом блоке. Помнишь, мы предположили, что вся система составляет тысячу пятьсот функциональных единиц. Правда, постепенно мы пришли к выводу, что их больше — тысяча восемьсот пятьдесят. Когда мы выпустили первый блок, то оказалось, что в нем реализовано около двух процентов всей функциональности, то есть около тридцати семи функциональных единиц. Во втором блоке было добавлено еще тридцать единиц, поэтому, когда мы закончили над ним работать, все знали, что мы уже сделали шестьдесят семь единиц из тысячи восьмисот пятидесяти, или три и шесть десятых процента. И вот на этой диаграмме показана статистика по каждому блоку, которые мы выпускали.
— Каждый столбец на графике — это очередная сборка. Те, которые мы уже завершили, закрашены. Все приемочные тесты мы тоже разбили на части, так что сборка не считается завершенной, пока не пройдут приемочные тесты.
— Иными словами, — сказал мистер Томпкинс, разглядывая диаграмму, — когда элемент номер двадцать четыре пройдет приемочные тесты, вы будете знать, что уже сделали сорок шесть процентов всей работы.
— Да. Сейчас новая сборка выходит каждые два-три дня. — Молли отошла от диаграммы. — Теперь ты знаешь, почему я так уверенно говорю, что наш проект будет закончен к последней неделе июня. Все дело в том, что мы прислушиваемся к тому, как проект сам рассказывает нам, насколько далеко мы продвинулись в своей работе.
Мистер Томпкинс печально смотрел на дату выхода проекта. Как бы он хотел последний раз посмеяться над Бэллоком, выпустив хоть один проект 1 июня!
— Слушай, а нельзя ли каким-то образом немного ускорить разработку? Не то чтобы я жаловался… нет-нет, вы делаете свою работу просто замечательно, но я все же…
— Я знаю, о чем ты думаешь, — весело улыбнулась Молли. — 1 июня, да? Я тоже иногда об этом вспоминаю. Честно говоря, не представляю, как нам это сделать. Мы можем довольно быстро выпускать новые сборки и даже слегка ускорить этот процесс, но как же все остальное? Вот, смотри, — она показала ему другую диаграмму, пришпиленную тут же на стене. — Вот так мы тратим время на разработку каждого модуля: время кодирования, время на инспектирование кода, блочные тесты, документация, ну и так далее.
— А нельзя ли выкинуть отсюда что-нибудь?
Она еще раз посмотрела на диаграмму
— Я ничего такого не вижу. Больше всего времени тратится на проверку кода. Мы проверяем каждый модуль, как только закончится написание программного кода. Как правило, три человека делают это в течение часа. Не знаю, чем мы можем поступиться, но уж точно не проверкой кода.
Что-то в ее тоне заставило мистера Томпкинса насторожиться. Так-так… Он вспомнил мысли, которые пришли к нему во время поездки в горы. Не зацикливаться на том, что не знаешь. Обрати внимание на то, в чем ты, казалось бы, абсолютно уверен.
— А почему ты так уверена, что мы не можем не проверять программный код? — обратился он к Молли.
— Потому что это правило существует уже последние десять лет, Вебстер. Проверка кода — самый дешевый способ избежать ошибок. Если ты не отловишь их во время проверки, то потеряешь больше времени на тестировании, так что выгоды все равно никакой не будет, скорее, наоборот.
Как раз в этот момент к ним подошел Аристотель Кенорос.
— Точно, — поддержал он Молли. — Это очевидно. Самый простой и дешевый способ избежать ошибок в коде — это проверка.
— Кстати о качестве. Вот мы доподлинно знаем, что наши программисты пишут хороший код, — гордо сказала Молли, подходя к огромной красной надписи на дальней стене комнаты. Надпись гласила:
Ровно 14!
— Четырнадцать чего? — удивился мистер Томпкинс.
— Четырнадцать проверок кода без единой ошибки, — Молли прямо светилась от радости.
— Это впечатляет, — пробормотал мистер Томпкинс. — Я полагаю, мы вполне могли бы сэкономить те сорок два человекочаса, которые были затрачены на эти проверки кода, а на качестве продукта это никак бы не отразилось. Ведь ошибок все равно не было.
— Думаю, ты ошибаешься, — несколько раздраженно ответила Молли. — Именно благодаря проверке кода мы добились такого высокого качества работы.
— Только не благодаря последним четырнадцати, верно? Без них вполне можно было бы обойтись.
— Ммм… и тем не менее я могу предоставить данные, которые докажут, что проверка кода приносит проекту много пользы. Я не уверена сейчас в том, что помню цифры,…
— Прекратите, — прервал ее мистер Томпкинс. Он чувствовал, что идет по верному следу.
— А?
— Прекратите проверять код. Просто выбросьте эту фазу из процесса разработки.
— Подождите! — застонала Молли. — Мы не можем так поступить! Аристотель, ну скажи хоть ты ему. Скажи ему то же, что ты говорил нам о важности исправления ошибок во время проверки кода. Он же с ума сошел.
На лице Кенороса появилась странная улыбка.
— Говоришь, он с ума сошел? Это может быть. Только это совсем не значит, что он не прав. Вебстер, я даже не думал о такой возможности, пока ты сейчас об этом не заговорил. Действительно, если во время проверок никто не обнаруживает ошибок, то мы не можем говорить о снижении стоимости исправления ошибок во время проверки!
— Ну, разве что в процессе проверки не были допущены какие-то грубейшие ошибки…
— Их не было, — быстро отреагировала Молли. — Мы проверяли и перепроверяли. Те модули, которые прошли через этот этап без каких-либо ошибок, так же хорошо проходили и тестирование. Так что это правда, ошибок в коде не было.
— Значит, проверка кода действительно просто потеря времени. Прекратите проверки.
Она посмотрела на Кенороса, ища поддержки.
— Ну, я даже не знаю… — начал было тот.
— Аристотель, там нет никаких ошибок, — перебил его мистер Томпкинс. — Именно поэтому мы так сейчас поступаем. Просто изначальное качество кода оказалось куда лучше, чем мы рассчитывали.
— Ммм…
— Вспомни, что ты сам говорил мне об ошибках. Они появляются не в самом модуле, а на «стыке» разных модулей?
— Да, помню.
— Так вот, значит, большинство ошибок — это ошибки взаимодействия, вот в чем дело. Значит, главные ошибки происходят во время проектирования системы. Было бы нелепо полагать, что во время проверки кода можно анализировать архитектуру всей системы. Это же твои собственные слова. Анализ дизайна должен происходить отдельно, тогда же нужно отлавливать ошибки, которые в нем присутствуют. Почему проверка кода считается эффективной? Потому что на этом этапе исправлять ошибки проектирования немного проще, чем во время тестирования. Но ведь наш процесс проектирования стал более формальным. Мы проводим тщательную проверку архитектурных решений, причем не во время написания кода, а в момент проектирования. Именно поэтому у нас практически нет ошибок. А значит, проверка кода — пустая трата времени.
— Может быть, ты и прав… — неуверенно начал Кенорос и стал себя убеждать. — Если ты прав, то получается, что проверка кода, на которую так полагается весь остальной мир программистов, — это всего лишь попытка найти и исправить ошибки в проектировании системы. А когда архитектура продумана и проверена достаточно хорошо, причем еще до того, как программисты начнут писать код, то проверять код просто незачем. Не могу сказать, что я абсолютно уверен в этом, но кое в чем я не сомневаюсь.
— В чем же?
— Нам нужно удостовериться, правильны ли наши предположения. Иначе какая же мы Лаборатория по управлению проектами?
Мистер Томпкинс сидел за столом, озадаченно уставившись на пустую страницу записной книжки, когда в дверях показалась Лакса Хулигэн.
— О, это ты, Лакса, — приветливо сказал он, слегка покраснев.
Он почти всегда краснел, когда оказывался рядом с этой удивительной женщиной. Затем опустил глаза на обидно пустую страницу.
— Ты подарила мне эту записную книжку несколько месяцев назад и сказала, чтобы я делал в ней записи каждый день. Записывать все, чему я в этот день научился, что нового и интересного открыл для себя. И ты знаешь, я ведь так и делал — почти каждый день. А сейчас я уже несколько недель подряд не знаю, что туда писать. Ты не знаешь, отчего так?
— Нет, — покачала она головой. — Не знаю. Давай, рассказывай все подробно.
— Я не знаю, чему я научился во время нашей эпопеи с Бэллоком. Если бы решил эту проблему сам, я бы вынес из этого какой-то урок. Что бы я ни сделал, все равно это был бы мой личный опыт. А так получается, что проблему я не решил. Это сделала за меня ты.
— И поэтому ты не можешь записать это в своей записной книжке?
— Нет. Потому что это странный способ решать проблемы. С моей точки зрения, ты появилась, как ангел, и решила все мои проблемы. В общем-то это вполне тянет на чудо. Как я могу это записать? «Если вам случится работать под руководством злобного придурка, надейтесь на чудо».
— А что бы ты хотел записать?
— Что-нибудь, что могло бы пригодиться и другим. В конце концов, мир полон неприятных персонажей, которые почему-то норовят оказаться выше тебя на иерархической лестнице. Таких, как Бэллок, а то и похуже. Я бы хотел записать рецепт, как можно найти выход в подобной ситуации.
— Может быть, Вебстер, такие ситуации просто безвыходны? Так тоже бывает. Скажи честно, ты ведь не надеялся найти способ избавиться от Бэллока самостоятельно?
— Пока еще нет, но, может быть, я все-таки мог бы что-то сделать?
— Ох, не думаю. Я не верю, что такую патологию можно «вылечить» снизу. Честно, Вебстер. Мне кажется, у тебя просто не было выхода.
— Наверное, ты права, — вздохнул он. — Наверное, выхода действительно не было.
— Может быть, это и есть урок, который ты вынес из этой ситуации.
С этими словами она ласково провела рукой по его волосам и вышла из кабинета. Мистер Томпкинс проводил ее взглядом и начал писать.
О патологической политике (еще раз)
1. Эту патологию невозможно вылечить снизу.
2. Не стоит терять время или подвергать себя опасности, чтобы проверить предыдущий постулат на собственном опыте.
3. Иногда единственным выходом из ситуации становится выжидание. Попробуйте подождать, пока проблема не разрешится сама по себе или пока вы не найдете способ уйти от нее в сторону.
4. Чудеса, конечно, случаются, но лучше все же на них не рассчитывать.
Глава 22
Сделка года
24 мая команда QuickerStill-Б закончила свой проект. Через пять дней, 29 мая, закончила работу команда QujckerStill-B. 30 мая успешно сдала продукт команда РМill-В. Мистер Томпкинс был просто счастлив.
— Просто не верится, Белинда, просто не верится! Мы закончили три проекта даже раньше идиотской даты, которую поставил нам Бэллок!
— Ну, может, в таком случае эта дата и не была совсем уж идиотской, а?
— Нет, она была идиотской, — тут же ощетинился мистер Томпкинс. — Можно было говорить о том, что маленькие проекты могут попытаться ускорить разработку и уложиться в эту дату, но только не планировать закончить 1 июня все шесть проектов, включая самые большие! Если следовать его планам, то завтра мы должны были бы начинать продавать все шесть продуктов. А ведь все крупные проекты еще далеки от завершения. Так что, с точки зрения планирования, его дата была совершенно идиотской.
— Ну, хорошо. Значит, ты предлагаешь, чтобы у проекта были две даты сдачи продукта — запланированная и желательная? Довольно радикальный подход, если хочешь знать мое мнение.
— А почему? По-моему, в этом есть разумное зерно. Желательный результат — это цель, которая находится на самом пределе возможностей. А планируемая дата сдачи проекта должна быть вполне реальной, чего же к ней стремиться? А если так, то почему бы команде не знать обе даты и не стараться добиться лучших результатов?
— Возможно, ты и прав, Вебстер. Я не знаю. Вот только боюсь, что едва ли тебе удастся убедить в этом остальных.
— Да, ты права. В этом я буду одинок. Ну что ж. Возможно, это как раз доказывает, что я прав.
1 июня пришли вести и от ВВН. Мистер Томпкинс был официально вызван в Корзак на аудиенцию.
Ассистентка ВВН, с которой он договаривался о встрече, была явно взволнована. Она, правда, не стала объяснять причину вызова к Самому, но по ее тону можно было заключить, что в головном офисе затевается что-то экстраординарное. Вообще жизненный опыт подсказывал мистеру Томпкинсу, что любое оживление в головном офисе — не к добру. Как правило, те, кто работал при высоком начальстве, приходили в волнение по двум причинам: когда начальство собиралось рубить головы и когда предприятие было готово закрыться. Так что в утренний поезд до столицы мистер Томпкинс садился в некотором смятении. Впрочем, ничто не могло омрачить его радости по поводу окончания работы над тремя проектами. Он добился успеха, а что затевает начальство, он скоро узнает. И тем не менее он слегка волновался.
Как и во время предыдущего посещения, кабинет ВВН был погружен во мрак. Только в углу бледным светом сиял монитор компьютера. И опять прошло несколько минут, прежде чем мистер Томпкинс увидел Самого. На этот раз тот сидел в темном углу, совсем недалеко от двери. В руке тиран держал пирожное. Точнее, не в руке, а во рту.
— Вобвое утво, Фобкинф.
— С возвращением, сэр.
— Вивуфофьку, — ВВН быстро проглотил остатки пирожного и вытер рот салфеткой. Потом он поглядел на Томпкинса. Лицо тирана сияло от восторга. — Мы сделали это, Томпкинс! У нас получилось!
— Проекты? Да, пришлось изрядно попотеть…
— Да нет же. Впрочем, проекты тоже сыграли свою роль. Неплохая работа, к слову сказать. Но я говорил не о них. Я говорил об акциях.
— Акциях?
— Мы становимся открытым акционерным обществом, Томпкинс! Моровия Инкорпорейтед выходит на торги. Акции появятся уже на следующей неделе. На бирже говорят, что это будет событием года.
— Боже мой. Вы будете продавать акции Моровии? Кажется, она станет первой страной, которая продает свои акции?
— Хм, я об этом не думал. Возможно, вы правы.
— Думаю, вас можно поздравить. Примите же мои поздравления, сэр. Должно быть, вы заработаете на этом кучу денег. То есть еще одну кучу, я хотел сказать.
— Не только я, Томпкинс! Не только я. Вы, к примеру, тоже.
— Я?
— Конечно, и вы тоже. Помните, когда вы подписывали контракт, там упоминались акции? У вас есть полпроцента всех идущих на торги акций.