Ноутбук Ганеши, или Я уволил Сталина | страница 39



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

Что нам делать? «Платформа + настройка» — разумная модель с точки зрения архитектуры. Но вот какой должна быть структура наших команд?

Тогда мы были организованы в классическую «матрицу»: инженеры разбиты на отделы разработки, интеграции и тестирования; внутри разработки группы поделены по программным компонентам. Руководители проектов Маноджа набирали виртуальные команды под конкретных заказчиков.

Манодж предложил: пусть клиентские команды разрабатывают функционал, каждый для своего клиента — но так, чтобы другие клиенты легко могли потом взять тот же код. В классической модели могучий буйвол — команда платформы — тащит продукт вперёд, за ней обезьянками следуют юркие маленькие команды настройки. Мы перевернули эту модель: универсальную платформу Эво тащили, как буйволы, команды, работающие на своих клиентов; команда платформы маленькой обезьянкой направляла клиентские команды и подчищала мусор.

Поскольку мы в Индии работали на клиентов лучше, чем делали «универсальный» продукт, именно так, на искусстве следования за клиентами, мы и строили нашу платформу. Дорожная карта (roadmap) продукта стала совокупностью функционала разных заказчиков.

Все наши разработки велись прямо на «стволе» кода. Мы не разрешали выпускать «ветви» (code branches) под отдельные фичи (features), так как слияние ветвей обратно в ствол было хуже мигрени. Платформенная команда всё время тестировала «ствол» кода, чтобы в любой момент мы могли сконфигурировать его под нового клиента, выбрав функционал, как из ресторанного меню.

Когда мы впервые смогли запустить нового клиента в Греции за два с половиной месяца, нам не поверили: раньше у нас уходило на это полгода и больше.

Одно омрачало праздник — крохотный клиент тихо скончался через те же полгода. Но это была уже не наша вина.

Чёрная магия и её разоблачение

Тем временем жизнь в офисе шла своим чередом.

Мой Сталин сделал карьеру и заслуженно стал главным «офисным мальчиком». Однако ему хотелось большего, ведь, кроме административных, Сталин обладал и оккультными способностями. Во всяком случае, в этом он убеждал всех, готовых его слушать, от скептически настроенного Раджеша-водителя до легковерной Мэри.