Представьте, что вам надо разработать операционную систему, которую переведут на десятки языков, продадут миллиардным тиражом, дата выхода релиза уже публично объявлена самим Биллом Гейтсом. Одна незадача — ТЗ с полным списком функций и то, каким будет интерфейс новой 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, куда входили восточно-европейские языки, включая русский, и экзотика типа бразильцев.
В качестве членов горизонтальных структур, называемых в Аджайл-терминологии отделами (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 тех времен не маялись (о, да, это же один столпов сегодняшнего аджайла, ха-ха). И вообще отчетность была минимальная, максимум за неделю. Просто там знали, как не любят айтишники бюрократию.
Готовность к изменениям важнее следования первоначальному плану
Неизвестно, что курили разработчики в Редмонде, но прилетавшие оттуда для локализации фитчи новых виндов поражали своей сыростью и непоследовательностью. Можно было в мыле целый месяц работать над переводом 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 делать умели. Весь день дублинский центр разработок численностью в несколько тысяч сотрудников полностью не работал, во дворе бизнес-кампуса играл оркестр, а вереница продуктовых фургонов от кейтеринга все привозила и привозила блюда и напитки. Супер-боссы держали речи, а маркетинг раздавал сотрудникам сувениры с эмблемой нового продукта, футболки, кепки. Можно было получить от босса и более памятный сувенир, такой как на фото.
На отделы выделялся бюджет для вечернего посещения пабов, и когда сотрудники занимали место за столами, Продукт Оунер торжественно объявлял “Taps open!” — т.е. любая выпивка в пабе бесплатна и в неограниченных количествах. Ну, тут у Ирландии свои традиции.
Вместо заключения. Когда я сегодня слышу про Аджайл как о новом методе разработки ПО, — а особенно про это любят говорить на собеседованиях, — Камон гайз, ничто не ново под Луной. Если вам нужны правильные школярские ответы про термины из Википедии, вы соберете исполнителей, но не получите мотивированных творцов.
Кто из работодателей в России готов делиться акциями с рядовыми сотрудниками? А? То-то же оно…