Windows 98 RU signed by Microsoft WPGI colleagues

Представьте, что вам надо разработать операционную систему, которую переведут на десятки языков, продадут миллиардным тиражом, дата выхода релиза уже публично объявлена самим Биллом Гейтсом. Одна незадача — ТЗ с полным списком функций и то, каким будет интерфейс новой Windows — этого не только нет, но и не будет почти до самого релиза. Вот она — суть Аджайл, не так ли?

Сегодня в компаниях много говорят про Agile, как замечательно и продуктивно все будут работать, — вот только пригласим Аджайл-коуча, назначим Продукт оунеров, Скрам-мастеров, Чаптер лидов и прочих действующих лиц этого театра.

Серьезные люди из консалтинговых агентств, не моргнув глазом, говорят об Аджайл как о снизошедшем с небес откровении, хотя и в крупных ИТ-корпорациях, и даже в советских конструкторских бюро так работали десятилетиями до них. Просто не называли модными словами. Сталинские КБ времен войны — чем вам не Аджайл? «Работающий продукт (летающий, стреляющий и т.д.) важнее исчерпывающей документации», — получите. «Сотрудничество с заказчиком (фронтом) важнее согласования условий контракта», — запросто. Даже Аджайл-коучи были, — те самые, которые в кожанках, фуражках и с ТТ на боку.

Но вернемся поближе к делам современности. Я про Аджайл, которую видел в действии в Microsoft еще лет 20 назад.

Да, если Windows 3.х просуществовала на рынке 5 лет, Windows 95 – 3 года, то последующие версии предполагалось обновлять через пару лет. Однако, дело в MS осложнялось тем, что разработчики — в Редмонде, локализаторы — в Дублине, а в процесс то и дело пытаются встрять subsidiaries, т.е. страновые представительства (их в MS называют «сабами»). Сабы бдят, чтобы все термины и картинки в интерфейсах были благозвучны и благопристойны для местных аборигенов. Тут достаточно привести классическое «Послать на…» (Send to...) и вы поймете остроту проблемы.

Разумеется, я видел процесс с уровня солдата партии, ну или рядового локализатора, если быть точнее. Никто из менеджмента не произносил тогда терминов из Аджайл-философии, но все именно так и работало. Agile Manifesto, как известно, появился в 2001, т.е. три года спустя, хотя сами идеи и методы зрели с начала 1990-х. Поэтому в 1998, как ни удивительно сейчас, это уже вполне работало.

Аджайл в историческом исполнении


Итак, в Microsoft были — и, вероятно, будут и дальше — три клана (Tribes). Это разрабы, локализаторы и сабы. Между ними континенты и океаны — с тех пор глобализм никуда не делся. Разница лишь в том, что интернет в конце 1990-х был хилый и медленный, а взаимодействовать надо было быстро и эффективно, — все как сейчас.

В клане локализаторов разделение на отряды (Squads) было по продуктам (Windows, Office, Server Products) и по языкам. Сколько отрядов локализации было на самом деле, я не знал. Но то, что порядка 20 из них я видел своими глазами, это точно. Во главе каждого отряда стоял Продукт Оунер (называвшийся Business Level Product Manager), — человек, лично отвечавший за соблюдение дедлайнов перед мистером Гейтсом если не головой, то кошельком точно. А голову за срыв релиза им бы открутили жены, узнав, какого источника дохода лишилась семья (о мотивации и доходах — ниже).

В свою очередь, отряды делились на Tiers (очереди) по важности рынка, скажем так — на элитные части, простую пехоту и стройбат. В группу Tier 1 попадала испанская, французская и немецкая версии. Они должны были релизнуться в один день с англоязычными виндами. Tier 2 — восточные тигры (Япония, Китай, Израиль, плюс Италия, Португалия и арабская версия), они выпускались на неделю-две позже. Замыкали строй Tier 3, куда входили восточно-европейские языки, включая русский, и экзотика типа бразильцев.

Sergey at Microsoft WPGI building, 1998

В качестве членов горизонтальных структур, называемых в Аджайл-терминологии отделами (Chapters), были специалисты, которые могли обслуживать набор однотипных задач для нескольких отрядов. Например, инженеры по локализации из польской и чешской команд делали промежуточные билды для всех языков Tier 3, а в следующий раз это поручалось русским и словакам, и так по кругу. Соответственно, локализаторы русской Windows периодически подключались к переводу internet Explorer или Office, если в тех отрядах того требовала ситуация.

Роль чаптер-лидов (Chapter leads) выполняли наиболее продвинутые программ-менеджеры из состава отрядов Tier 1, которые следили за поддержанием квалификации не только у себя в отряде, но и по всем Tiers, периодически собирая сотрудников с одинаковыми функциями на митинги и тренинги. Цель чаптер-лидов — воспитание уверенного в себе «универсального солдата», который без ущерба для дела может заменить заболевшего или уехавшего в отпуск коллегу из любой Tier.

Гильдии (Guilds) составлялись в виде сообществ ирландских старших локализаторов и других спецов и представителей разработчиков в США. Они обменивались инфой по новым фитчам в очередном билде и мнениями о том, как эти фитчи вообще работают — переводить то интерфейс надо. Не всегда новые сборки получалось сбилдить гладко, но у третьей очереди языков при минимуме престижа были и свои плюсы. Команды Tier 1 делились с Tier 2 и Tier 3 советами, что за модули и в какой ситуации крэшатся, и как они эти проблемы преодолели. Иными словами, параллельной работы над решениями одних и тех же проблем не было (Аджайл рулез).

Спринты в разработке были придуманы задолго до того, как временные интервалы между промежуточными билдами предложили Аджайл-коучи.

Между промежуточными билдами отрядам давался срок в 2 недели. Позже это назовут спринтами в рамках скрам-подхода (Scrum). Новый отсчет начинался с митинга отряда, в котором был отчет за прошедшие 2 недели, оценивалась работоспособность промежуточного билда и ставились задачи на новый спринт. Промежуточный билд — это то, что сейчас в Аджайл называют MVP (minimum viable product – минимальный жизнеспособный продукт). Когда вы видите, что скажем какая-то Windows релизнута в виде сборки с четырехзначным номером — это был тот самый длинный путь от спринта к спринту.

Во главе митинга отряда обычно восседал Продукт Оунер или его зам, а рядом дежурный скрам-мастер. Должность мастера была весьма уважаемой. Этот человек записывал вопросы от сотрудников и решал всякие рабочие проблемы типа получения в группы дополнительных компов для тестирования, передачи в хозчасть заказов на закупку в Америке самых новых и передовых железок, таких как пишущие CD, USB адаптеры и прочие образцы — чтобы увидеть UI-сообщения, которые выдаст винда при их подключении.

Кстати, такой ерундой, как ежедневные митинги команд, в MS тех времен не маялись (о, да, стендапы, они же дэйли, они же пионерский лагерь на выезде типа «Петр, ты чем будешь заниматься сегодня?» А Петру между тем уже под 40, — это же один столпов сегодняшнего аджайла, ха-ха). И вообще отчетность была минимальная, максимум за неделю. Просто там знали, как не любят айтишники бюрократию.

Готовность к изменениям важнее следования первоначальному плану


Неизвестно, что курили разработчики в Редмонде, но прилетавшие оттуда для локализации фитчи новых виндов поражали своей сыростью и непоследовательностью. Можно было в мыле целый месяц работать над переводом UI каких-то фитчей, как вдруг объявлялось, что это все нафиг отменяется, и в релиз не пойдет.

Первое время мы верили подобным финтам, но потом приучились тщательно хомячить (архивировать) всю работу в переводческой памяти. И не зря — в очередной спринт что-то запросто могло вернуться, и тогда нажатием кнопки Autotranslate весь такой UI получался локализован почти за мгновение. Разумеется, потом надо было просмотреть экраны глазами, какие-то окна отресайзить (подогнать размеры), что-то подправить в переводе, но все равно на порядок быстрее, чем локализовать заново.

К слову, для локализации софта у MS есть свой внутренний продукт, называемый Microsoft Localisation Studio. Он не продается на открытом рынке, т.к. считается одним из корпоративных ноу-хау и преимуществ перед конкурентами.

Про мотивацию команды без новомодной фигни


Тут лирическое отступление про мотивацию Аджайл-команды. Все красивые слова, что вы услышите от Аджайл-коучей и CIO про новые уникальные методы мотивации команды — полное фуфло, придуманное для леммингов. Существует только один проверенный веками способ мотивации (ситуация войны не в счет), и называется он бабло. Причем не просто бабло, а такое мега-бабло, потерять которое очень больно.

В Microsoft тех времен этот мотиватор был выполнен искусно и очень действенно. Все сотрудники сверху донизу, кроме тех, кто на временных контрактах, получали так называемые шера-опшн (share options). Раздавали их по итогам финансового года в разных количествах (должность, KPI). Это такой метод поощрения, когда работник получал дополнительный доход от курсового роста акций на фондовом рынке от выделенных «в пользование» акций (сами акции оставались в собственности MS). При желании, сотрудник мог купить акции и в собственность, причем эти суммы списывались из зарплаты без удержания НДФЛ. Работодатели РФ, вам это как?

Простым локализаторам и софтвер-инженерам начислялось в среднем по 1000 шера-опшн в год, а сколько получали Продукт Оунеры — сказать не могу, но видимо больше на порядок-другой. Причем доходом от роста акций разрешалось воспользоваться не сразу, а с задержкой, после 5 лет «владения» очередной порцией шера-опшн.

В то время стоимость акций Microsoft росла почти линейно каждый год. Люди, начавшие работу в дублинском офисе в 1991, к 1998 уже получали с шера-опшн доход, сопоставимый с зарплатой по контракту. На них покупали дома и мерсы. А впереди призывно маячили новые деньги с тех шера-опшн, которые были выданы недавно, т.е. 1-5 лет назад. Так человек мега-мотивировался и привязывался к команде. А когда материальные проблемы у айтишника решены, то почему бы не поработать.

День релиза в Microsoft


Альфа-версия, Бета, релиз-кандидат и вот он, CD с Windows 98 в красивой коробке.
We did it, guys!

Что-что, а праздник по случаю релиза Windows в Microsoft делать умели. Весь день дублинский центр разработок численностью в несколько тысяч сотрудников полностью не работал, во дворе бизнес-кампуса играл оркестр, а вереница продуктовых фургонов от кейтеринга все привозила и привозила блюда и напитки. Супер-боссы держали речи, а маркетинг раздавал сотрудникам сувениры с эмблемой нового продукта, футболки, кепки. Можно было получить от босса и более памятный сувенир, такой как на фото.

Book signed by Bill Gates, 1998

На отделы выделялся бюджет для вечернего посещения пабов, и когда сотрудники занимали место за столами, Продукт Оунер торжественно объявлял “Taps open!” — т.е. любая выпивка в пабе бесплатна и в неограниченных количествах. Ну, тут у Ирландии свои традиции.

Вместо заключения. Когда я сегодня слышу про Аджайл как о новом методе разработки ПО, — а особенно про это любят спрашивать на собеседованиях, — Камон гайз, ничто не ново под Луной. Если вам нужны правильные школярские ответы про термины из Википедии, вы соберете исполнителей, но не получите мотивированных творцов.

И да, мотивация. Кто из работодателей в России готов делиться акциями с рядовыми сотрудниками? А? То-то же оно…