Если система не работает
В июле 2004 г. в кабинет председателя совета директоров Microsoft Билла Гейтса вошел вице-президент Джим Оллчин и сообщил, что новая операционная система Microsoft получается настолько сложной, что программисты никак не могут добиться от нее стабильности. “Система не работает”, – сказал Оллчин Гейтсу.
Следующая новость оказалась еще хуже: исправить положение не представляется возможным. Эта операционная система создавалась так же, как и все остальные программы компании Microsoft: каждый программист выполнял свою часть работы – создавал относительно небольшую часть кода. Затем тысячи лоскутков соединяли в одну гигантскую программу. Но она стала слишком сложной. Microsoft придется начать сначала, сказал Оллчин.
В те времена, когда создавалась компания Microsoft, большинство компьютерных программ были предназначены для банков, правительственных и научных учреждений. Поэтому одной из главных задач программистов было обеспечение их надежной работы. Но в 80-е наступила эра персональных компьютеров, и времени на обеспечение надежности стало не хватать. Оллчин пришел на работу в Microsoft в 1990 г. Он всегда был сторонником дисциплины и аккуратности в программировании, которых так не хватало сотрудникам Microsoft. Но в 90-е гг. ничего не мог поделать.
Новая операционная система, получившая кодовое название Longhorn, должна заменить нынешнюю WindowsXP. Билл Гейтс особо настаивал на том, чтобы в ней была реализована файловая система WinFS, делающая поиск документов или файлов в компьютере намного менее утомительным.
Лоскутное одеяло
Когда началась разработка, программисты действовали привычными методами. Очень скоро случилось именно то, чего боялся Оллчин. Процесс разработки значительно замедлился. В процессе создания больших программ разработчики регулярно собирают еще недоделанные части в единое целое, так называемый билд, чтобы проверить, насколько слаженно действуют компоненты. В идеале такая проверка должна производиться каждый вечер, чтобы выявить ошибки и на следующий день их исправить. Но над созданием операционной системы в Microsoft трудятся 4000 программистов, и тестирование превращалось в сизифов труд – когда происходил сбой, программистам приходилось просматривать тысячи строк кода, чтобы обнаружить ошибку.
Конкуренты Microsoft к тому времени работали уже совсем по-другому. Их лучшие программы напоминали конструкцию, собранную из кубиков Lego, – у каждого блока была своя функция, но блоки были созданы так, чтобы гармонично вписаться в единое целое. В результате они начали опережать Microsoft с выпуском на рынок новой продукции.
В апреле 2004 г. компания Google достаточно неожиданно запустила в тестовую эксплуатацию почтовую службу Gmail, ставшую серьезным конкурентом службы Hotmail, принадлежащей Microsoft. Крохотная компания Mozilla Foundation опередила Microsoft с выпуском нового браузера, наделенного функциями, которые Microsoft планировала использовать в Longhorn.
Но самая тревожная новость поступила в июле 2004 г.: выяснилось, что Google разрабатывает поисковую программу для персональных компьютеров с функциями, аналогичными тем, которые Microsoft собиралась представить в WinFS.
Новые угрозы не отменяли старых. Дыры в операционной системе Windows делали ее легкой добычей для вирусов. Для решения проблемы безопасности существующих версий Windows Оллчину приходилось отвлекать ведущих разработчиков новой. “Корабль шел на дно”, – вспоминает Оллчин.
Быть проще
Оллчин позвал на помощь двух высококлассных специалистов: Брайана Валентайна и Амитабха Шриваставу. Шривастава попросил свою команду составить карту новой версии операционной системы Windows. Карта получилась огромной – 2,5 м в длину и 3,3 м в ширину и больше всего напоминала абсурдную железнодорожную схему с сотнями пересекающихся линий.
Операционная система Windows весьма сложна, но даже ее можно сделать модульной, заключили специалисты. Правда, для этого придется забыть о годах, потраченных на разработку Longhorn, и все начать сначала. Новая операционная система должна была стать гораздо проще. Очень многое, в том числе и WinFS, придется отложить на потом. Примерно такой план Валентайн и Шривастава предложили Оллчину. Тот его одобрил и довел до сведения Гейтса и Баллмера. В течение следующих недель Гейтс выглядел крайне обеспокоенным. На одной из встреч он отругал разработчиков Longhorn за медлительность. Затем Шривастава собрал свою команду и признал, что недооценил масштаб стоящих перед ними задач.
Плоды перемен
27 августа 2004 г. Microsoft объявила, что выпуск Longhorn откладывается на год. За день до этого Оллчин сообщил сотням программистов, что они будут заново переписывать код, используя в качестве ядра версию, разработанную для корпоративных серверов.
К концу октября 2004 г. команда Шриваставы начала автоматизировать процесс тестирования, который до этого выполнялся вручную. Если часть тестируемой программы содержала слишком много ошибок, то новая система не позволяла ей интегрироваться в Longhorn. Если разработчик допускал слишком много ошибок, то его отстраняли от написания следующих частей программы. Шривастава рассчитывал, что таким образом программисты научатся “делать все верно с первого раза”.
Биллу Гейтсу, главному архитектору Microsoft, довелось сыграть в процессе реформ парадоксальную роль. Он требовал инноваций, но оставался реалистом. Когда он более подробно ознакомился с планом, то был обеспокоен, что переписывание системы займет слишком много времени и отнимет слишком много ресурсов. Почему, спрашивал он, реформаторы не удосужились узнать мнение программистов о запланированных изменениях?
Чтобы убедить сомневающихся, Шривастава обратился за помощью к одному из самых уважаемых сотрудников Microsoft, Дейву Катлеру, и попросил его публично одобрить новые принципы работы. 1 декабря 2004 г. Катлер, известный в компании тем, что никогда не посещал собраний, выступил перед примерно тысячей разработчиков в поддержку новых принципов.
По мере того как разработчики свыкались с новой системой, качество их работы стало заметно расти. Теперь на то, чтобы сделать новый билд, уходило всего несколько дней. Вскоре группе разработчиков удалось создать и установить на свои компьютеры новую версию операционной системы. Но все шло не так быстро, как хотелось бы. Выпуск тестовой версии Longhorn был намечен на июнь 2005 г., но уложиться в срок не удалось.
27 июля 2005 г. Microsoft разослала 500 000 пользователей по всему миру копии бета-версии операционной системы Longhorn – которая получила официальное название Windows Vista. Ее создатели, как обычно, ждали десятков тысяч недовольных откликов, но получили всего пару тысяч.
Все понимают, что на то, что бы новая операционная система стала такой, какой ее хотят видеть в Microsoft, – гибкой, управляемой, с возможностью быстрой интеграции новых программ, – могут уйти годы. Но первые результаты уже налицо. “Просто удивительно, как этим ребятам удалось все поменять. Жаль, что мы не сделали этого раньше”, – заявил Гейтс. Через несколько часов после презентации Windows Vista Гейтс отметил, что теперь и разработчики Microsoft Office пользуются некоторыми приемами команды Шриваставы.
Вскоре Джим Оллчин заявил, что, согласно плану реструктуризации компании, через неделю после того, как пользователи получат Windows Vista, он выйдет на пенсию. “В том, что мы делаем сегодня, есть масса недостатков, – сказал он. – Но нам удалось сделать огромный шаг вперед”. (WSJ, 23.09.2005, Полина Михалева)