Пару недель назад я вызвался провести ретро по итогам спринта в своей команде. Обычно такую встречу проводит Маша, наш People&Process lead (человек, который за людей и за процессы в команде отвечает), но у нас когда-то была практика меняться ролями — вот решили сдуть с неё пыль. Вообще ротация ведущих помогает держать ребят в тонусе и повышает вовлечённость на встречах.
Что за ретро такое
Ретроспектива — это событие в Скраме в конце спринта, которое мы проводим, чтобы проанализировать наш процесс: где кайфово, что нужно исправить, что можем сделать, чтобы стало проще и понятнее работать. У этой встречи обычно есть стандартный сценарий с ключевыми вопросами. План действий с ретроспективы мы берём в следующий спринт наравне с задачами, поддерживая постоянный цикл улучшений. Подробнее можно почитать здесь.
Чтобы было веселей, мы часто устраиваем тематические ретро: то с музыкантами, то с космосом. C Ленноном вот было однажды.
Я решил поддержать традицию и подумать над темой, но ничего интересного не придумывалось в первую неделю. И тут случайно вышло, что в разговоре с друзьями обсуждали игры, вспомнили про Майнкрафт и идея появилась сама собой.
«Ретро в Майнкрафте» звучит, конечно, весело, пока не начинаешь думать, как это вообще провернуть. Наверняка многие не играли, не знакомы с управлением. И саму игру нужно установить, и чтобы в ней всё заработало. И мир подготовить, чтобы было интересно. Я засомневался.
На следующий день рассказал Маше про идею в надежде, что она меня отговорит. Но Маша сказала: «Кайф, я давно мечтала о таком ретро!». Что ж, придётся попотеть.
За один день до часа Х
Пишу инструкцию
Ретро у нас во вторник. В понедельник сажусь составлять пошаговую инструкцию со скриншотами, как установить игру. Пробую сам по ней установить — всё получается.
Поднимаю сервер
Решаю, что нужен свой сервер, потому что подключаться к открытому не хочется — будут мешать посторонние, а брать в аренду закрытый на час не вижу смысла. Поднять его оказалось просто. Подключаюсь, проверяю — всё работает. Настраиваю на домашнем роутере маршрутизацию, чтобы ребята могли подключиться.
Провожу первый (и единственный) тест
Отправляю инструкцию продакту Юле. Все шаги прошли почти с первого раза (кое-что, конечно же, пришлось уточнить), запускаем и видим ошибку: что-то про монитор и драйвера видеокарты. Просят обновить. На макбуке. Обожаю джаву.
Пытаюсь понять, в чём дело. Оказывается, у Юли М1. Скорее всего, причина в этом. А у меня Intel, и как решать проблему — я не знаю, а Гугл говорит, что Майнкрафт на М1 работает.
Связываюсь с Машей, пробуем у неё установить по той же инструкции. У Маши вообще всё зависает на этапе скачивания, скорость нулевая.
На всякий случай сам пробую ещё раз скачать игру — получается почти моментально. Говорю об этом Маше, она догадывается отключить VPN и у неё тоже всё в момент устанавливается, нормально запускается и она даже подключается ко мне.
Тут по невероятному совпадению ко мне из офиса приезжает новенький макбук на М1 взамен старого на Intel. Открываю, ставлю Майнкрафт, запускаю и ловлю ту же самую ошибку, что и Юля. Круто! Раз могу повторить, значит, могу и исправить.
Думаю, что раз ругается на порты, мониторы и графику, то может, что-то в настройках видео подкрутить можно? Отключаю запуск в фулскрине, проверяю — сработало. Надо же. Пишу об этом Юле, она проверяет у себя — у неё тоже завелось. Вот только подключиться ко мне не может.
Но раз Маша смогла ко мне подключиться, значит, маршрутизация нормально настроена. Может, Юля опечаталась при вводе IP? Пробуем ещё раз добавить сервер — всё отрабатывает. Отлично.
Отправляю инструкцию всей команде. Волнуюсь, что ребята не успеют изучить её до ретро: у кого-то таски важные, кто-то забудет, а у кого-то другие ошибки при скачивании или запуске возникнут. Всякое бывает.
Погружаюсь в creative-режим
Пока ребята изучают инструкцию, начинаю обдумывать и создавать мир. Вспоминаю, что ребята, вероятнее всего, не знают ничего про управление в игре. Значит, надо как-то аккуратно погружать их.
Придумываю, что у нас будет несколько локаций, на каждой из которых надо будет достать какие-нибудь артефакты из сундука и как-то с ними взаимодействовать. А между этими локациями мы будем как-то интересно перемещаться.
Летаю по округе, нахожу гору и решаю, что на ней «замерим температуру», т.е. поделимся, у кого какое настроение. Но не хочется прямо оттуда начинать, надо туда всех привести. Для этого хорошо подходит железная дорога: вагонетки едут сами, нужно только в них сесть и оттолкнуться.
Дальше прокладываю дорогу от стартовой точки до верха горы.
Наверху горы ставлю конечную точку, сооружаю цветную полосочку и в сундук кладу цветочки с грибочками. Когда доедем, нужно будет открыть сундук и посадить цветочек. Садишь цветочек под красной зоной — плохое настроение, под зелёной — хорошее. Белая зона нейтральная. Так как мы будем на вершине горы, добавляю вокруг забор, через который нельзя перепрыгнуть, чтобы никто не улетел вниз.
Ищу следующую локацию, на которой обсудим то, что не понравилось или не получилось в спринте. Облетаю округу и нахожу недостроенный портал в нижний мир. Чтобы до него было нескучно топать, делаю с горы водопадик, по которому получится спуститься на лодочках.
Всё по классике: сундук с табличками, таблички правой кнопкой ставятся на землю. Ничего нового, только после установки таблички появится форма ввода текста. Все должны справиться.
Рядом прячу ещё 2 сундука: в одном — динамит, в другом — редстоун, т.е. фитиль. После того, как поставим таблички и напишем всё, что не понравилось, отведу туда ребят и попрошу достать содержимое сундуков, обложить им наши таблички и портал и мы всё это подорвём.
Динамита делаю с запасом, чтобы живого места от портала не осталось. Так речка, на которой он стоит, получит проход, и мы сможем доплыть до следующей локации на лодочках.
Нужно найти следующую локацию, к которой можно на лодках доплыть. Облетаю округу и нахожу затонувший корабль.
Придумываю, что на корабле будет спрятан сундук, а в сундуке — карта с кладом и лопата. Рядом сооружаю небольшую бухту. Там мы на табличках напишем, что хорошего было в спринте.
Прячу в сундук карту и лопату. На карте отчетливо виден крестик с кладом.
Клад спрятан в другой локации, до неё нужно как-то добраться. Хочется поинтересней, по-новому, так что делаю загон для лошадок, приручаю их и надеваю на всех сёдла, чтобы ими можно было управлять.
Теперь надо придумать, что будет кладом. Вспоминаю, что есть какие-то очень редкие маяки, только выглядят они не очень красиво. Решаю построить красивый маяк. Строю.
Ладно, маяк я построил, а что будем там делать? И зачем он вообще? Как связать с кладом? Решаю, что маяк будет загораться как раз с помощью клада. Кладу в сундук красный блок (источник энергии в игре), делаю в маяке проводку и простой механизм, который его включает и выключает.
У нас как раз внутри команды часто шутят, что мы как ледокол: пробиваем непробиваемое и прокладываем путь остальным командам. А на предыдущей локации был корабль затонувший. Вот мы и будем маяк зажигать, чтобы ни один корабль больше не затонул. Даже поэтично как-то.
Что ж, игровой мир подготовлен. В последний (наверное, в десятый) раз проверяю, что всё отрабатывает как надо: и железная дорога, и лодочки, и клад на карте видно, и маяк зажигается. Времени час ночи, отправляюсь спать.
День Х
Вторник. На утреннем дейлике в последний раз спрашиваю, все ли подготовились. Конечно же, не все. Задерживаемся после дейлика, готовимся, вроде всё ок. Расходимся на несколько часов делать свои таски — ретро будет лишь в конце дня.
5 минут до ретро
Подменяю тестовый мир, к которому подключались накануне Юля с Машей для проверки, на тот, что приготовил. Включаю сервер, подключаюсь сам, жду ребят. За 5 минут все заходят.
Ретро. «Как тут ходить?»
Прошу минутку тишины и объясняю, что левая кнопка мыши — бить, правая — всё остальное. Бить сегодня никого не будем, так что используем только правую кнопку мыши. Подозреваю, что будут заминки и разные проблемы, так что предлагаю не тянуть и начинать.
Первое задание — достать вагонетку из сундука (правой кнопкой мыши), поставить на рельсы (правой кнопкой мыши), сесть в неё (правой кнопкой мыши) и оттолкнуться (правой кнопкой мыши).
За 10 минут смогли отправить по дороге лишь одного человека, который доехал до конца. Потому что:
— А как открыть сундук?
— А как поставить вагонетку?
— А как сесть в вагонетку?
— А как оттолкнуться?
Вдруг наступает ночь, появляются пауки, зомби и нападают на ребят. Видимо, недостаточно включить creative-режим или я что-то не так сделал. Отбиваемся. Кого-то из ребят убили. Включаю через консоль день — первое, что пришло в голову, чтобы избавиться от монстров. Помогает. Выдохнул.
Обнаруживаю, что кто-то сломал сундук с вагонетками. Создаю новые, раздаю ребятам.
Понимаю, что очень плохо объяснил управление, раз мы всё ещё в начале. С горем пополам все оказываются в вагонетках, начинают ехать, и вдруг какая-то вагонетка катится сверху вниз и начать ребят возвращать в исходную точку.
Так проходит минут 20 от ретро, а мы всё ещё на стартовой точке. Ребята в вагонеточном маятнике ничего не понимают, кто-то ждёт наверху, я офигеваю. Но на созвоне галдёж — заметно, как всем весело.
Пробую как-то исправить ситуацию и всё же дотолкать ребят наверх, но не справляюсь. Пользуюсь тем, что я админ — быстро улетаю на следующую станцию и телепортирую их к себе. Ура, все наверху! Надо ускоряться, уже сильно отстаём.
Объясняю, что делать дальше: снова подойти к сундуку, снова открыть, снова достать, снова поставить на пустой блок. Примерно у половины ребят получается. Уже прогресс.
Один из них смог перепрыгнуть через забор, через который нельзя перепрыгнуть. Возвращаю к нам. Снова все в сборе.
Новая проблема: не все могут посадить цветочки.
— А как открыть сундук?
— А как посадить?
— А мне не хватило (кто-то схватил себе лишний цветочек, которых было ровно по одному на всех).
— А я не могу посадить (в сундуке было 2 грибочка, а их, оказывается, просто так не посадить. Блин).
Раздаю новые цветочки тем, кому не досталось.
Можно идти дальше. Прыгаем со скалы в водопадик, плывем вниз. Доходим до следующей станции, я оборачиваюсь и понимаю, что добралась лишь половина команды. Бегу обратно и нахожу нескольких ребят на середине пути — они встретили лошадок, свинок и овечек и решили с ними поиграть. Утираю слёзы умиления и телепортирую всех на следующую локацию, где тот «портал в Нижний» стоял.
Всё то же самое: сундук, в нём таблички, их надо поставить.
Думаю, внимательный читатель уже догадался, что дальше:
— А как открыть сундук?
— А как поставить табличку?
— А как писать текст?
Но за 5 минут справляемся. Таблички, кстати, и правда супер-бесячая вещь — текст сам на новые строчки не переносится, редактировать написанное нельзя.
Рассказываю, что теперь взрывать будем. Идём за динамитом, забираем, ставим. Почему-то установили лишь 1 из 4. Остальные как-то потерялись и никто не знает, где они. Ладно, докидываю ещё парочку сам. Поджигаем, взрываем.
Взрыв оказался слишком слабый, островок с порталом разнесло очень слабо, в итоге лодочки не смогут тут проплыть. Делаю глубокий вдох, выдыхаю. Отправляю ребят садиться на лодки, а сам быстро пробиваю канальчик, в который эти лодочки втиснутся.
И тут снова:
— А как сесть?
— А как рулить?
Ещё раз объясняю. Ура, все смогли пробраться через сделанный канальчик! Собираемся одной кучкой, встаю первым и говорю всем плыть за мной. Плыть минуты полторы.
Где-то на половине пути двое заблудились. В речке и правда были разветвления, можно было свернуть не туда. Телепортирую их к нам.
Выходим на сушу. Всё как обычно: сундук с табличками, достаём, ставим и пишем. Успеваем за пару минут. Радуюсь, что ребята учатся на лету.
Рассказываю, что на корабле есть сундук и надо за ним нырнуть. Первый же вопрос: «А мы не утонем?». Отвечаю, что для этого надо очень сильно постараться.
Ну, вы поняли. Утонуло больше половины.
Телепортирую к доплывшим тех, кто утонул и воскрес в дефолтной точке за тридевять земель. Находим сундук, достаём, карту с лопатой. Приглашаю всех на лошадок. Тот, кто с картой, ведёт остальных за собой. Доезжаем до клада, спешиваемся, раскапываем клад. Руками. А ведь где-то тут грустно лежит одна лопата.
Достаём из сундука энергоблок, находим подсказку и понимаем, куда ехать. Половина ребят садится на лошадей. А у второй половины лошади уже куда-то ушли, так что они пешочком топают.
Добираемся до маяка. Проверяем, выполнили ли мы экшен-пойнты с предыдущего ретро, записываем новые. В этот раз почему-то все таблички пишу я, а ребята мне диктуют. Сам не понял, как так вышло, но да ладно.
Не стоило мне всё же писать одному, потому что мой детский сад без присмотра совсем распустился:
кто-то раскопал под собой песок, провалился и не смог выбраться;
кого-то засыпало песком в другом месте;
кто-то начал ломать маяк и почти добрался до его «проводки» и механизма включения;
кто-то решил убить лошадь голыми руками. Та громко ржала и мешала мне писать.
Прошу ребят ничего не ломать буквально пару минут, пока я тут заканчиваю. Говорю, что сейчас маяк зажжём. Для этого достаточно… Поднимаю голову и маяк у меня на глазах зажигается. Смотрю вниз на то место, куда энергоблок из клада ставить надо, а там кто-то энергофакел воткнул. Это как блок, только факел. Он тут рядом как декор лежал.
Ну и ладно. Радуемся, что закончили. Ещё даже 8 минут в запасе есть. Делаем групповое фото и расходимся.
Финалочка
В итоге мы успели и в тайминг уложиться, и всё запланированное обсудить, и повеселиться. На подготовку к ретро я потратил часов 10 и, наверное, миллион нервных клеток. Но оно того стоило — фидбэк от ребят положительный. Конечно, есть много моментов, которые можно было бы сделать лучше. Начать пораньше подготовку, например. Или с кем-то пройти заранее весь путь, чтобы не получилось так с грибочками и цветочками. Что ж, в следующий раз учту.
На самом деле, хочу сказать невероятно большое спасибо всей своей команде, которая согласилась на эту авантюру. Им было сложно, но они справились.