Утро понедельника встретило Алексея дождём и новым сообщением от заказчика: «Жду результатов в пятницу. Напоминаю про 20%».
Он пришёл пораньше, разложил на столе печенье, которое купил по дороге, и включил чайник. Когда команда начала подтягиваться, запах кофе уже витал в воздухе, смешиваясь с сыростью за окном.
— Опять совещание? — беззлобно, но устало спросил Денис, падая на стул и с хрустом потягиваясь.
— Не совсем, — ответил Алексей. — Я хочу поговорить не о работе. Вернее, о работе, но с другого конца.
Он подошёл к флипчарту, где всё ещё висели вчерашние слова, которые Катя дописала: ГРУППА - КОГДА КАЖДЫЙ САМ ЗА СЕБЯ КОМАНДА - КОГДА МЫ ЗНАЕМ СТРАХИ ДРУГ ДРУГА
— Помните, мы говорили про страхи? Давайте теперь поговорим про то, зачем мы это делаем. Не ради денег, не ради отчёта. А лично для себя.
Денис скривился, будто откусил лимон:
— О, начинается. Сейчас будет «наша миссия - делать мир лучше». Я это сто раз слышал. Висело у нас в прошлом офисе: «Мы меняем мир к лучшему». А сами сидели с кислыми лицами и ненавидели друг друга. Пользы -ноль.
— А ты прав, — неожиданно согласился Алексей. — Пустые лозунги — это мусор. Но давай иначе. Забудь про высокие слова. Ответь честно: зачем ты лично работаешь над этим проектом? Что тебе в этом кайфово?
Денис задумался. Отхлебнул кофе.
— Ну… деньги, понятно. Но если серьёзно… Мне нравится придумывать, как всё должно работать. Чтобы логика была железная, чтобы пользователь не путался. Это кайф, когда я вижу, что мою схему реализовали и она реально помогает людям не тупить.
Алексей записал на доске: «Логика. Порядок. Помощь людям»
— Павел?
Павел, как обычно, долго молчал, крутил в пальцах авторучку. Потом неожиданно поднял глаза:
— Мне нравится, когда система не падает. Когда код работает как часы. Знаешь, есть ощущение надёжности. Что на эту штуку можно положиться и она не подведёт. Как… как старый друг.
— Надёжность. — Алексей дописал слово.
— Катя?
— А мне важно, чтобы было красиво. Чтобы глаз радовался. И чтобы люди, открывая программу, не впадали в уныние. Знаете, как бывает: сидишь в унылом интерфейсе, и жизнь кажется унылой. А если красиво, то и работать хочется.
— Красота. Эстетика.
— Лена?
Лена улыбнулась, чуть смущённо:
— Я, наверное, самая скучная. Мне нравится искать ошибки. Как в детективе: находишь улику, потом ещё одну, и в конце понимаешь, где преступление. И когда баг исправлен - сразу легче становится. Это круто.
— Порядок из хаоса.
— Максим? — повернулся Алексей к стажёру.
Максим покраснел до корней волос, кашлянул в кулак.
— Я… я просто хочу научиться. Чтобы когда-нибудь стать таким, как вы. Чтобы мой код тоже работал как часы.
Алексей записал последнее слово и повернулся к доске. Теперь там красовалось:
ДЕНИС: ЛОГИКА ПАВЕЛ: НАДЁЖНОСТЬ КАТЯ: КРАСОТА ЛЕНА: ПОРЯДОК ИЗ ХАОСА МАКСИМ: РОСТ
— Смотрите, что получается, — сказал Алексей. — У каждого из вас есть своя правда.
— И как это совместить? — подал голос Денис, вглядываясь в доску. — Вот Катя хочет красиво. А красиво часто значит «нестандартно». А нестандартно значит риск для надёжности. Паша меня поддержит.
Павел неожиданно кивнул:
— Есть такое. Нестандартные решения сложнее тестировать. Если мы начнём выдумывать велосипеды, я не смогу гарантировать, что всё не упадёт в самый неподходящий момент.
Катя вспыхнула:
— То есть опять всё будет серым и унылым? Чтобы надёжно? Чёрный экран, зелёные буквы. Надёжно, да? Ни одной лишней кнопки. И работать с этим никто не захочет!
— Я не говорю про серое, — Павел впервые за всё время не надел наушники, а подался вперёд, включился в разговор. — Я говорю про предсказуемое. Чтобы я мог гарантировать, что оно не упадёт. Что пользователь не потеряет данные.
— А если подумать иначе? — вмешался Алексей. Он подошёл к доске и нарисовал два пересекающихся круга. — Может, красота - это не враг надёжности, а её часть?
Он обвёл первый круг:
— Надёжный, но уродливый продукт - им будут пользоваться через силу и ненавидеть. Каждое утро открывать программу и вздыхать.
Обвёл второй:
— Красивый, но глючный — им будут восхищаться ровно до первого сбоя. А когда данные потеряются, никакая красота не спасёт.
Алексей, провёл пальцем по пересечению кругов:
— А нам нужно, чтобы было и то, и другое. Чтобы человек открыл программу, и ему захотелось в ней работать. И чтобы она при этом не подвела.
Катя задумалась, глядя на круги. Потом медленно произнесла:
— Ну… если подумать… я могу рисовать красиво, но в рамках понятных Паше компонентов. Чтобы не изобретать велосипед, а делать привычные кнопки, но с душой. Чуть-чуть скруглить углы, подобрать приятные цвета, добавить микроанимацию. Но чтобы логика оставалась той же.
Павел удивлённо посмотрел на неё. Кажется, он впервые видел в ней не просто «девочку-рисовщицу», а коллегу.
— А это идея, — сказал он медленно. — Мы можем собрать библиотеку компонентов. Катя их нарисует, я закодирую один раз, протестирую со всех сторон, а потом будем использовать везде. И красиво, и надёжно. И Лене не придётся каждый раз проверять одно и то же.
— И Денису не придётся переписывать спецификации под каждый чих, — добавила Лена.
Денис хмыкнул, но уже без привычной злости. Скорее задумчиво.
— Ладно, уговорили. Но если вы туда какую-нибудь креативную фигню засунете, которая логику ломает…
— Денис, — перебила Катя неожиданно мягко, — а ты нам поможешь эту логику проверить. Ты же у нас главный по железной логике.
Денис смешался, уставился в кружку с остывшим кофе и что-то пробормотал. Кажется, «ну посмотрим».
Алексей улыбнулся про себя. Это было похоже на маленькое чудо: они не просто перечислили свои ценности, они начали искать, как их подружить. Не через силу, а с интересом.
— А теперь посмотрите на это всё вместе, — сказал он, обводя рукой записи на доске. — Мы хотим сделать систему, которая будет: логичной и понятной (Денис), надёжной и безотказной (Павел), красивой и живой (Катя), качественной и безошибочной (Лена). И которая научит новых людей (Максим).
Он сделал паузу, давая словам осесть в тишине.
Даже Денис перестал гипнотизировать кружку и смотрел на доску.
— Я предлагаю не вешать на стену пафосных лозунгов, — продолжил Алексей. — Но давайте договоримся: наша общая цель - сделать инструмент, которым людям будет удобно, надёжно и приятно пользоваться. Который не будет бесить. Который будет работать и радовать глаз. Согласны?
Павел кивнул, твёрдо, впервые без паузы. Катя просияла, будто ей сделали подарок. Денис, поколебавшись ровно секунду, тоже кивнул. Лена сказала:
— Давай попробуем. Хуже не будет.
Максим просто улыбнулся.
Алексей дописал внизу: УДОБНО, НАДЁЖНО, КРАСИВО, БЕЗ ОШИБОК.
***
Команда разошлась по местам, в комнате снова зашумели вентиляторы ноутбуков, застучали клавиши. Алексей сел за свой стол и уставился в монитор, ничего не видя.
Сработает? — думал он. Или это очередной корпоративный культ, который рассыплется при первом же дедлайне?
Он вспомнил прошлую компанию. У них тоже были красивые слова. «Клиент прежде всего», «Мы - одна семья». Плакаты висели в каждом кабинете, их вдалбливали на общих собраниях. А потом клиент просил невозможного, «семья» ругалась до хрипоты, и все шли в отдел кадров писать заявления.
Алексей посмотрел на доску. Слова были простые, не пафосные. Удобно. Надёжно. Красиво. Без ошибок. Они не про то, какими их хотят видеть начальники или заказчики. Они про то, что каждый из них сказал вслух.
Может, в этом и разница? — подумал он. — Когда миссию спускают сверху, то она про то, какими нас хотят видеть. А когда она рождается из наших «хочу», то она про то, какие мы есть на самом деле. И её не надо запоминать. Её достаточно просто не забывать.
***
В четверг случилось неизбежное.
Пришло письмо от заказчика. Денис распечатал его и молча положил на стол Алексею. Тот прочитал и присвистнул. Правки ломали половину уже сделанного. Не потому что они были глупыми, а потому что их автор не видел всей картины.
Лена заглянула через плечо:
— Это что, нам всё переделывать? — в её голосе послышались знакомые панические нотки.
Алексей поднялся, чтобы все видели.
— Если делать по-старому, мы начнём ругаться, кто виноват. А давайте вспомним нашу доску?
Павел снял наушники. Катя оторвалась от макетов. Денис повернулся вместе с креслом.
— Что вспоминать? — сказал Павел. — Там написано: «надёжно». Если мы сейчас впихнем эти правки кое-как, за выходные, без нормального тестирования, система станет ненадёжной. Я это гарантирую.
— А ещё «красиво», — добавила Катя, вглядываясь в письмо. — Вы посмотрите, что они предлагают. Это же уродство. Если мы это оставим как есть, пользователи взвоют. Экран будет похож на свалку.
— «Удобно» тоже под вопросом, — подал голос Денис. — У них там логика рвётся в трёх местах. Пользователь должен будет совершить пять лишних кликов, чтобы сделать то, что раньше делалось за два.
— И ошибок будет полно, — вздохнула Лена. — Я даже представлять боюсь, сколько багов вылезет, если мы это просто скопируем.
Алексей развёл руками:
— И что делать? Отказать заказчику нельзя. Это двадцать процентов годовой прибыли компании. Нас просто не поймут.
Повисла пауза. Тяжёлая, липкая.
Потом Максим робко кашлянул:
— А может… может, мы не будем просто делать, что сказали? Может, мы предложим им своё решение? Которое и их правки учтёт, и наше не сломает?
Все посмотрели на стажёра с удивлением. Максим покраснел, но продолжил:
— Ну, правда. Мы же теперь знаем, чего хотим. Удобно, надёжно, красиво. Если мы просто загрузимся их требованиями, то мы это потеряем. А если покажем, что можем дать им то же самое, но лучше…
Павел медленно кивнул:
— А он прав. Мы можем сделать альтернативный прототип. С их функционалом, но в нашей логике. И показать, что так и нам проще, и им лучше.
— Три дня работы, — прикинул Денис, уже что-то считая в уме. — Если разделить правильно.
— Делим, — сказал Алексей, чувствуя, как внутри разливается тепло. — Паша с Катей думают над архитектурой и визуалом. Денис пишет новую спецификацию, но короткую, только по изменениям. Лена придумывает, как это протестировать, не сломав старое. Максим на подхвате, и везде, где нужна помощь.
Впервые за долгое время они не заспорили, кто будет делать самую противную часть. Они просто кивнули и разошлись по местам, быстро, собранно, без лишних слов.
Алексей поймал себя на мысли, что улыбается. Доска сработала. Не как магический артефакт, а как общий язык. Они только что договорились не ссориться, а искать решение. И это решение нашёл стажёр, который три недели просто пил кофе и смотрел, как они ссорятся.
***
В пятницу утром Алексей пришёл и замер в дверях.
Катя стояла у флипчарта и поверх вчерашних слов выводила красивыми буквами:
УДОБНО, НАДЁЖНО, КРАСИВО, БЕЗ ОШИБОК
А внизу, чуть помельче, добавила:
И ЧТОБЫ НЕ БЫЛО СТЫДНО
Когда подошёл Денис, он долго смотрел на доску, потом хмыкнул, но как-то по-новому, без привычной язвительности.
— Знаешь, я всегда смеялся над этими «миссиями компании». Он поставил кружку с кофе на стол. — Висел у нас плакат: «Мы меняем мир к лучшему». А сами сидели с кислыми лицами и ненавидели друг друга.
— А тут… «не стыдно» — это, наверное, самое важное. Потому что стыдно бывает, когда делаешь фигню и знаешь это. А когда не стыдно, значит, правда хорошо.
Алексей отвернулся к окну, чтобы никто не заметил его улыбку. За окном всё ещё лил дождь, но в комнате было тепло. И впервые за три недели он точно знал: они справятся.
Не потому что у них есть план. А потому что у них есть общий язык.