Процесс создания новой версии Windows Vista (Longhorn) принципиально отличался от работы над всеми предыдущими версиями операционной системы Windows. Наработанная за десятки лет практика дала сбой, процесс создания новой версии затягивался, обнаруживались всё новые проблемы, программные ошибки не могли обнаружить неделями, Билл Гейтс рвал и метал, проект под названием «Longhorn» грозился рассыпаться.
Процесс создания новой версии Windows Vista (Longhorn) принципиально отличался от работы над всеми предыдущими версиями операционной системы Windows. Наработанная за десятки лет практика дала сбой, процесс создания новой версии затягивался, обнаруживались всё новые проблемы, программные ошибки не могли обнаружить неделями, Билл Гейтс рвал и метал, проект под названием «Longhorn» грозился рассыпаться.
Джим Оллчин, вице-президент корпорации, вызвал себе в помощники двух лучших специалистов компании – Брайана Валентайна и Амитабха Шриваставу. Вместе они составили карту будущей операционной системы – в самом мелком масштабе получилось полотнище в девять квадратных метров. Карта взаимосвязей напоминала абсурдную железную дорогу с сотнями пересечений, множеством дублирований. Специалисты пришли к выводу, что схему неизбежно нужно упрощать – сделать ее модульной, как детали от конструктора http://lego-online.ru/ , купленного в интернет-магазине. Но для этого придется практически отказаться от результатов многих лет труда программистов над версией Longhorn.
Летом 2004 года Джим Оллчин решился на самый отчаянный шаг в своей карьере. Он вошел в кабинет Била Гейтса и прямо заявил, что новая операционная система получается чрезмерно сложной, программисты не могут добиться прогресса в работе и обеспечить стабильность. Боле того, исправить положение дел не представляется возможным! Джим Оллчин подвел итог, что выпустить новую систему в 2004 году не удастся (а это продолжали обещать Билу Гейтсу все остальные руководители корпорации), более того, он предлагает прекратить бессмысленные потуги исправить положение и начать работу заново, а не играть в игрушки.
По словам Джима Оллчина, он ожидал любой реакции председателя совета директоров на им принесенную плохую новость, вплоть до немедленного увольнения. Билл Гейтс действительно три недели был в ярости, устроил разнос программистам за медлительность, а потом с плохо скрываемой угрозой в голосе поинтересовался у Джима Оллчина – вице-президент имеет какие-то конструктивные предложения выхода из кризиса или он тогда только пришел жаловаться на жизнь?
На что Джим Оллчин выложил свое видение проблемы: на данный момент над созданием нового продукта работают 4000 программистов, каждый работает над своим небольшим участком. Периодически недоделанные еще кусочки собираются в очередной «билд», чтобы проверить совместимость получаемого продукта. Число взаимосвязей между кусочками стремительно растет (математики, представьте факториал от 4000) и вскоре уже число всех условий, которые нужно выполнить и правил, которых нужно придерживаться, стало столь огромным, что не могло уложиться в памяти человека. В результате, проверка совместимости превращалась в кошмар – после работы одного дня программистов над своими участками приходилось до двух недель потом выискивать возникшие взаимные несогласованности и нестыковки. И чем дольше шла работа, тем труднее шел вопрос согласования. Да и ставшие печальной традицией прошлых версий Windows ошибки никто не отменял – приходилось направлять лучших программистов еще и на поиск уязвимостей в уже написанном коде. Продолжать работу становится бессмысленным.
26 августа 2004 года Джим Оллчин выступил перед сотнями программистов компании и сообщил, что им придется заново переписать весь код, используя в качества ядра устойчивую версию, разработанную для корпоративных серверов. На следующий день 27 августа 2004 года корпорация Microsoft официально объявила, что выход новой версии откладывается на один год. Чтобы научить программистов Microsoft работать быстрее и аккуратнее, Шривастава ввел правило, что сотрудник, допустивший определенное число ошибок, отстраняется от дальнейшей работы и либо отправляется доучиваться, либо увольняется (благо опытных программистов, желающих работать в Microsoft, хоть отбавляй). В результате, Шривастава рассчитывал, что программисты научатся «делать все верно с первого раза». Действительно, работа пошла намного быстрее, новые «билды» появлялись каждые пару дней (вместо двух-трех недель) и хотя за год программисты все же не успели полностью переделать результат предыдущих почти пяти лет, но к июлю 2005 года работа была по многим позициям завершена. 27 июля 2005 года Microsoft разослала 500 тысяч бета-версий Windows Vista своим тестерам. Опираясь на опыт выпуска предыдущих версий, в корпорации ожидали пару сотен тысяч сообщений об ошибках. Однако прошло два месяца, тестерами выявлено менее двух тысяч обнаруженных ошибок.
«Просто удивительно, но нам удалось все поменять. Жаль, что мы не сделали это раньше» - заявил Билл Гейтс - «Теперь эффективные методы Шриваставы работы с программистами мы будем использовать и с разработчиками Microsoft Office».
«Windows Vista - лучший продукт компании за все годы,» - сообщил Джим Оллчин – «В том, что мы сделали, есть еще множество скрытых недостатков. Но результат потрясает – нам удалось сделать огромный шаг вперед», «Windows Vista быстро захватит весь мир. Через неделю после выхода версии на рынок, я с гордостью за выполненный труд собираюсь уйти на пенсию».
Одно найти легче, чем другое. Спойлер: это не темная материя