Экспериментируйте с программированием моб в Skyscanner Engineering

Кейт Киркхоуп

«Все гениальные люди работают над одним и тем же, в одно и то же время, в одном пространстве и на одном компьютере». Вуди Зуилл

С декабря 2016 года мы (команда Traveler Content Platform) кардинально изменили то, как мы работаем. Мы перестали использовать традиционные концепции и способы работы, которые для нас основывались на том, чтобы взять карту Jira и работать с ней самостоятельно или в паре за столом с двумя мониторами.

Вместо этого теперь мы все работаем над одной и той же задачей одновременно, на одном компьютере, и нам это нравится! Посмотрите, как я нашел этот процесс, и, если вам нравится, как здесь работает, помните: мы нанимаем.

Концепция

Я впервые услышал о групповом программировании два года назад, когда мы проводили моббинг-доклад Serial Seb в нашем офисе Skyscanner в Глазго, Шотландия. С тех пор, кроме того, что я пробовал это в течение нескольких дней с нашим отрядом поиска рейсов и нашим отрядом TCP, я ничего особо не делал, кроме как говорил об этом. Затем, в ноябре 2016 года, Вуди Зуилл выступал с докладом в Европейском технологическом центре JP Morgan (в двух кварталах от офиса в Глазго), так что я предложил другой взгляд на это.

Во время разговора меня поразило то, что многие проблемы, о которых он говорил, я сталкивался ежедневно в нашей команде TCP. У нас были неравномерно распределенные знания и огромные пробелы в навыках. Например, я пришел из ASP.Net Windows и внешнего интерфейса, а TCP - это серверная платформа Python Linux, и через 8 месяцев я все еще не мог эффективно работать со многими системами. У нас были проблемы с составлением карточек, которые либо не объясняли проблему и то, что мы хотели решить, либо были слишком конкретными, поэтому их реализация потребовала бы переписать критерии приемки. Мы могли бы выполнить работу, но если человек, который ее выполнил, отключился, нам пришлось бы оставить ее, пока он не вернется, поскольку неясно, как он выполнил задачу.

Делаем это

В духе строить, измерять и учиться, прося прощения, а не разрешения, я выбрал неиспользуемую часть офиса в Глазго, нашел запасной телевизор на колесах (брошенный в углу офиса в Глазго на лужайке), схватил складной стол и доска на колесиках из комнаты для семинаров. Я взял запасной MacBook в IT Services, и мы начали.

На практике это работает за счет роли машинистки (иногда сбивающей с толку водителя), которая сидит за клавиатурой «моббли» (нашего моббайдерского Mac). Затем навигаторы инструктируют машинистку, что набирать. Мы используем таймер для смены роли машинистки примерно каждые 10 минут, мы сокращаем время, если моб большой, или увеличиваем его, если моб очень маленький. Навигаторы могут открыть свои ноутбуки и действовать как исследователи для текущей задачи (или следующей задачи, которая, как вы знаете, будет следующей). Примерно каждый час вы делаете перерыв, чтобы дать всем возможность подзарядиться.

Если кто-то думает, что он не учится у толпы или не способствует ей, он может покинуть мафию, чтобы провести исследование или поработать над некоторыми из небольших запросов, которые у нас есть. Обычно, когда это происходит, для нас это хорошая контрольная точка, чтобы убедиться, что мы работаем правильно и правильно. Когда они снова присоединяются к толпе, они должны расспросить толпу о том, что они узнали или сделали.

Мы занимаемся этим уже четыре месяца в специально отведенном для этого месте в нашем офисе. За это время мы разрушили множество разрозненных знаний, которые существовали в нашей команде. Теперь у команды есть четкое представление о наших целях и задачах, а также о бизнес-причинах, стоящих за ними. Нам больше не нужно тратить часы на написание карточек Jira, выступления на стойках или встречи по планированию или предварительному планированию. Вместо этого, если я или кто-то другой понимаем проблему, мы выступаем в качестве основного навигатора и объясняем ее всем. Знание, почему мы выполняем задачу, означает, что мы можем решить каждую задачу и / или улучшить то, как мы ее реализуем.

Он медленнее?

С командой из четырех инженеров мы, безусловно, перемещаем меньше карточек через нашу доску Jira, и у нас меньше незавершенной работы, чем у нас. Это может показаться медленнее, поскольку вы не можете быть техническим или бизнес-ниндзя и как можно быстрее запустить карту через доску Jira, чтобы «Готово». Но это потому, что для того, чтобы что-то было реализовано, ваша идея должна пройти по крайней мере в мозгу еще одного человека, когда он вводит ее в компьютер, то есть вы должны научить хотя бы еще одного человека, как это сделать.

Мы считаем, что скорость нашей работы стала намного стабильнее, чем раньше. Если вы все еще не уверены в этом, подумайте, сколько раз вы на какое-то время зацикливались на проблеме, только чтобы объяснить ее коллеге, а затем немедленно решить ее. Представьте, что это доступно большую часть времени?

Насколько большой может вырасти толпа?

Мы все еще учимся, и, общаясь с другими специалистами по программированию в других компаниях Глазго, я думаю, что лучшее практическое правило:

Разделяйте толпу только тогда, когда люди больше не учатся и не могут вносить свой вклад.

Что мы узнали?

  1. Каждый из нас понимал, в чем заключаются сильные и слабые стороны навыков и знаний.
  2. Мы поняли, что некоторые из нас учатся совсем по-другому. Некоторые из нас пойдут и прочтут технологию / инструмент, а затем начнут использовать его, тогда как другие будут читать и изучать технологию одновременно. Полезно знать, когда мы работаем над чем-то, чего еще никто не понимает.
  3. Мы постоянно повышаем квалификацию, просто наблюдая за инструментами, техниками и приемами, которые каждый из нас использует.
  4. Праздники и отсутствие больше не блокируют задачи. У всех нас есть знания, чтобы продолжить работу над ними.
  5. Мы сохраняем более постоянный темп прогресса. Выявленные нами проблемы решаются по мере продвижения, что в конечном итоге приводит к созданию лучшего программного обеспечения.
  6. Все всегда настроены (да, действительно).
  7. Мы говорим / обсуждаем / планируем намного больше, чем раньше - мы всегда используем наши доски
  8. Приятно общаться и сотрудничать со всеми, а не сидеть рядом с ними и работать в одиночку.

Итак, стоит ли вам попробовать?

Да.

Вам не нужно делать это все время. Вы можете попробовать это в определенные дни, для определенных проектов или, может быть, просто по утрам.

Как мне это попробовать?

Это действительно практический случай, когда нужно идти медленнее, чтобы идти быстрее. Возьмите несколько коллег вместе с ноутбуком с таймером и попробуйте. Это так просто.

Если у вас есть какие-либо вопросы, свяжитесь с нами, оставив комментарий ниже, чтобы узнать, можем ли мы помочь в дальнейшем.

Дополнительные материалы по этому вопросу, которые могут быть полезны:

Хотите работать с кем-то вроде меня?

В Skyscanner мы работаем по-другому, и мы ищем новых членов Engineering Tribe в наших офисах по всему миру. Загляните в наш Skyscanner Jobs, чтобы увидеть больше вакансий.

Об авторе

Привет, меня зовут Кейт, я старший инженер-программист и руководитель группы платформы туристического контента в офисе Skyscanner в Глазго в Шотландии. Помимо решения проблем на работе, вы обнаружите, что я падаю с горного велосипеда в Шотландии, пытаюсь привлечь внимание одной из двух моих кошек или планирую отпуск с женой. Я считаю, что создание правильного программного решения наилучшим образом часто является проблемой не технической, а человеческой. Здесь, в Skyscanner, мы можем учиться и экспериментировать с тем, как мы работаем, что позволяет нам создавать более качественные продукты.