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