Белинда ухмыльнулась:
— Твоя работа уже закончена, Вебстер. В идеале так и должно происходить, только почему-то почти никогда не получается. Теперь ты можешь только взять бинокль и смотреть, как разворачиваются события. Как генерал Патгон, помнишь?
Мистер Томпкинс вспомнил, как ему понравилась история об этом генерале и его тактике, когда он только что услышал ее. Что может быть лучше, чем взирать на то, как один за другим сбываются твои планы! На деле все оказалось не так уж замечательно. Мистер Томпкинс просто с ума сходил от того, что не участвовал в активной жизни проекта. Интересно, не испытывал ли подобных чувств и Паттон?
Поев с Белиндой в парке, мистер Томпкинс отправился в библиотеку и взял там видеокассету о фильмом о Паттоне. Потом он отправился домой и там, в тишине и спокойствии, стал смотреть фильм. К его удивлению, Белинда немного ошиблась в изложении событий. Да, Паттон наблюдал битву в бинокль, и только. До этого он уже распределил маневры танковых подразделений, обеспечил поддержку с воздуха, распорядился о порядке и сроке подвоза боеприпасов на позиции, высчитал правильный момент для начала сражения. Далее, когда сражение началось, он просто стал безучастным наблюдателем. Но в конце он отложил бинокль и послал курьера к генералу Бродли с новым указанием. Он немного поменял план в ходе сражения. Он вмешался. Вот это настоящий руководитель! Ты заранее скрупулезно планируешь битву, обучаешь младший персонал, как вести себя во время сражения, и в результате все проходит без сучка, без задоринки. Остается только смотреть… но если вдруг происходит хоть малейшее отклонение от задуманного тобой плана, ты тут же реагируешь. Ты вмешиваешься в процесс и меняешь план.
— Все идет настолько гладко, что я уже начала скучать, — сказала мистеру Томпкинсу Молли Макмора, руководитель команды QuickerStill-B. — Разумеется, это хорошо. У процесса разработки архитектуры, который предложил нам Кенорос, есть один замечательный побочный эффект. У нас теперь есть превосходные метрики, с помощью которых можно наблюдать за ходом этой части проекта. Мы точно знаем, сколько в нашей системе модулей, и можем предсказать, сколько в них будет строк кода, сколько ожидается дефектов, как много времени уйдет на ликвидацию каждого дефекта, сколько мы потратим на каждую отдельную часть работы…
— Но как же вы можете с точностью угадать количество строк кода в несуществующем модуле?
— Дело в том, что половина всех запланированных модулей уже готова. И поскольку мы уже отработали технику на четырехстах первых модулях, то теперь нам несложно предсказывать, как пойдет работа над остальными.
— Но что действительно дает чувство контроля над разработкой, — продолжала Молли, — так это план по сборкам системы. Пошли, посмотришь сам.
Она провела его в комнату, где обычно собиралась для мозгового штурма команда QuickerStill-B. Там на стене висела разноцветная диаграмма.
— Изначально мы предполагали поставить всю систему за шестьдесят сборок. Каждая сборка представляет собой часть общей системы и привносит в нее необходимую функциональность. Сегодня мы выпускаем элемент под номером двадцать четыре. Как ты видишь, на диаграмме показано, что он состоит из четыреста девяти модулей. А вот элемент двадцать три, который мы закончили на прошлой неделе… — она нашла диаграмму для этого блока, — состоял из трехста девяносто двух модулей. А это значит, что в последнем блоке было семнадцать новых модулей. Вот здесь обозначены идентификатор и размер для каждого модуля.
— Здорово.
— Разумеется, здорово. Мы высчитали, сколько процентов всей системы реализовано в каждом блоке. Помнишь, мы предположили, что вся система составляет тысячу пятьсот функциональных единиц. Правда, постепенно мы пришли к выводу, что их больше — тысяча восемьсот пятьдесят. Когда мы выпустили первый блок, то оказалось, что в нем реализовано около двух процентов всей функциональности, то есть около тридцати семи функциональных единиц. Во втором блоке было добавлено еще тридцать единиц, поэтому, когда мы закончили над ним работать, все знали, что мы уже сделали шестьдесят семь единиц из тысячи восьмисот пятидесяти, или три и шесть десятых процента. И вот на этой диаграмме показана статистика по каждому блоку, которые мы выпускали.
— Каждый столбец на графике — это очередная сборка. Те, которые мы уже завершили, закрашены. Все приемочные тесты мы тоже разбили на части, так что сборка не считается завершенной, пока не пройдут приемочные тесты.
— Иными словами, — сказал мистер Томпкинс, разглядывая диаграмму, — когда элемент номер двадцать четыре пройдет приемочные тесты, вы будете знать, что уже сделали сорок шесть процентов всей работы.
— Да. Сейчас новая сборка выходит каждые два-три дня. — Молли отошла от диаграммы. — Теперь ты знаешь, почему я так уверенно говорю, что наш проект будет закончен к последней неделе июня. Все дело в том, что мы прислушиваемся к тому, как проект сам рассказывает нам, насколько далеко мы продвинулись в своей работе.