— Э-ээ, а вы не объясните мне все-таки, что происходит? — Вальдо, в отличие от них, оставался в полном неведении.
— Надо будет дать ему в подмогу человека, хорошо знакомого со статистикой, — пробормотал генерал Марков, — чтоб умел замешивать цифры и факты не хуже, чем Ниро Вульф свои омлеты. Добавим аналитика… и, глядишь, команда готова.
— Так что же все-таки происходит?!
— Думаю, ты только что получил повышение, Вальдо, — ответил ему мистер Томпкинс. — Поздравляю вас, новоиспеченный руководитель метрической группы!
Генерал вскоре ушел, а Белинда осталась еще часа на два, чтобы помочь мистеру Томпкинсу ввести Вальдо в курс дел и научить вычислять размер проекта в функциональных единицах по методике Т.Джонса Капоруса. Когда они закончили, у молодого человека уже даже сложился приблизительный план по проведению первых «археологических» изысканий. Первые результаты Вальдо обещал представить не позже, чем через неделю.
После этого Белинда и Вебстер поужинали в городе и теперь вместе возвращались в парк у гавани, где ночевала Белинда. Мистер Томпкинс был искренне счастлив, глядя, с какой радостью и энтузиазмом работает Белинда. Правда, у нее еще остались кое-какие странные привычки — например, она продолжала ходить босиком и ночевать на земле под деревом в парке. Хотя, конечно, в такие ночи, как эта, странно как раз сидеть дома, а не уходить в парк, чтобы лежать на траве и смотреть на звезды. В парке все дышало тишиной и спокойствием. Электрического освещения почти не было, поэтому звезды сверкали ярче обычного.
— Все-таки как много может измениться за один день, — говорил мистер Томпкинс. — И как же нам повезло, что сегодня к нам заехал этот Т. Джонс Капорус. Даже не верится, что за один день можно столько всего успеть. Кажется, сегодня мы поймали удачу за хвост.
— Точно. Он послужил катализатором для наших собственных размышлений. Но какого же пинка мне хочется дать нам всем за это!
— Но почему?!
— А почему мы сидели и ждали, пока он нам все расскажет, а, Вебстер? Нам должно быть стыдно, что мы не сделали эту работу сами, несколько месяцев назад.
— Но для этого нужно было знать его концепцию функциональных единиц. А это стало для нас настоящим открытием.
— Никак не хочу умалить достоинства этой концепции, но позволю себе заметить, что мы могли бы и сами кое-чего добиться в этой области, если бы догадались поработать над этим вопросом.
— Не очень понимаю — как мы могли это сделать?
— Подумай сам: даже без всякой стройной концепции и реальных единиц измерения мы могли бы изобрести некие приблизительные методы подсчета размеров проекта. Скажем, выработать свою собственную альтернативную систему относительного вычисления размеров.
— Например?
— Например, измерять разные проекты с помощью одного из них. Скажем, мы говорим, что наш QuickerStill имеет размер в сотню «галублов». А теперь ты можешь сказать мне, приблизительно, конечно, сколько «галублов» в проекте Quirk? Иными словами, мы же знаем, сколько раз надо взять QulckerStffl, чтобы получился Quirk? Конечно, это были бы очень относительные вычисления, но если бы мы трое делали их вместе, то уж наверняка получили бы вполне правдоподобную цифру.
— Если QuickerStiil равен одной сотне «галублов», то Quirk, я бы сказал, потянет на две с половиной сотни.
— Ну, более или менее. A PShop тогда можно было оценить в пятьсот или шестьсот «галублов».
— Но ведь это же все нереальные цифры, сплошные догадки и никакой точности! — возразил мистер Томпкинс.
— Да, но как только мы обсудим и запишем наши догадки, в дальнейшем нам останется только улучшать и уточнять их. А для этого нам придется более тщательно проработать единицу измерения — «галубл» — и изобрести собственные функциональные метрики.
— Честно говоря, я не очень-то верю, чтобы мы могли сами дойти до такой универсальной концепции, как функциональные единицы. Капорус и его команда работали над ней не один год.
— Да, но ведь он пытается решить куда более сложную задачу, чем мы. Он изобретает универсальные метрики для измерения любого программного продукта. А для этого приходится учитывать массу нюансов, которые отличаются друг от друга в разных компаниях и разных странах. Что касается нас, то наша проблема находится в рамках одной компании и одной страны, так что все, что нам было нужно, — это собственная система мер, которая подходит только для здешних проектов, в Айдриволи.
— Даже не представляю себе, с чего мы могли бы начать, — пробормотал Томпкинс.
— Функциональные единицы представляют собой синтетическую систему мер, вроде категории при налогообложении. Ее вычисляют только исходя из других, более простых данных. Берут данные и высчитывают по определенной формуле искомую синтетическую метрику. Так вот, эти самые базовые данные для программного обеспечения получить совсем не так уж трудно. Скажем, входные и выходные потоки, сегменты баз данных, элементы данных… Все это и есть та базовая информация, по которой вычисляются функциональные единицы.
— Ну… да… — мистер Томпкинс пытался понять, к чему ведет Белинда.
— И все, до чего нам нужно было дойти своим умишком, — это понять, что на основе простых базовых данных можно создать некую синтетическую систему измерения. После этого мы могли бы сразу начать наши археологические изыскания и вытащили бы из прошлых проектов все необходимое…
— А! — наконец-то он все понял. — После этого мы бы применили множественную регрессию, установили соотношение между комбинациями наших примитивных данных и объемом проделанной работы.
— Совершенно верно. По крайней мере, у нас была бы хоть какая-то приблизительная формула для вычисления этого нашего «галубла» или стандартной моровийской единицы работы, или «айдриволи» — как бы захотели, так бы и назвали.
— Теперь понимаю. Да, ты абсолютно права, с этим мы вполне могли бы и сами справиться.
— Значит, к приезду Капоруса мы бы уже собрали все базовые метрики и какое-то время работали с нашими собственными синтетическими метриками для измерения проектов. И тут-то он, без сомнений, показал бы нам, как улучшить наши собственные формулы для вычисления «галублов». Может быть, мы бы даже перешли с «галублов» на функциональные единицы, потому что те были бы точнее. Но в этом случае это было бы улучшение имеющихся результатов, а не начало работы, как сейчас.
— Ты права. Давно нужно было самим этим заняться. Сейчас все кажется таким простым и естественным… Словно нос на лице, после того как кто-то заставил тебя обратить на него внимание. М-да, а до приезда Т. Джонса Капоруса мы ни о чем таком не думали.
— Стыд и срам.
— Да нет же. Спасибо ему большое! Есть люди, которые могут показать и объяснить тебе то, что ты сам должен был бы заметить давным-давно. Такие люди в нашей отрасли и есть самые ценные специалисты. Им как-то удается всегда видеть простые и незыблемые истины и помогать увидеть другим.
Они замолчали. Ночь была теплой, они сидели на траве, глядя на ночное небо над заливом.
— А здесь часто можно увидеть падающую звезду, — сказала Белинда, показывая пальцем куда-то на небосвод над Ионийским морем, — Смотри вон туда, поверх зеленых навигационных огней, под углом примерно двадцать градусов.
Она развернула мистера Томпкинса лицом к морю, и он стал смотреть, куда она велела. Смотреть было приятно. Вид ночного моря успокаивал, зеленые огоньки подрагивали вдалеке, рядом слышалось тихое дыхание Белинды. Вдруг небо пересекла длинная светлая дуга и скрылась в море.
— Ух ты!
— Видел?
— Ага.
— Каждую ночь падают. Иногда я успеваю насчитать около десятка, прежде чем усну, — Белинда расстелила свой матрац на траве и теперь сидела на нем, одетая во фланелевую ночную рубашку. Мистер Томпкинс никогда не задумывался о том, в чем она спит, но уж точно не ожидал увидеть фланелевую рубашку
Белинда укрылась легким одеялом, улеглась на спину и, заложив руки за голову, смотрела на звезды, которые просвечивали сквозь листву. Прошло несколько минут, прежде чем они снова заговорили. Казалось, Белинда просто стала думать вслух:
— Зачем это все, Вебстер? И что мы здесь делаем? Мне скоро стукнет пятьдесят, а я до сих пор не знаю, что мне с собой делать. Что нужно для жизни? Достаточно ли помочь маленькой стране третьего мира выйти на свет Божий и продавать первоклассные программные продукты? Интересная задача, никто не спорит, но достаточно ли этого, чтобы оправдать мое существование?
— А, я понимаю, о чем ты. Я тоже иногда сам о чем-то таком думаю.
— Мы помогаем славным молодым ребятам сделать хорошую карьеру и зажить более-менее достойной жизнью…
— И мы не причиняем никому вреда, не загрязняем атмосферу, не разрабатываем оружие…
— Точно. Но мне все равно непонятно — я что, только для этого и живу?