Те, кто занимаются оптимизацией производительности, знают, что round robin это простейший способ распределения данных между потоками обработки.
В нашей команде за этим понятием прочно закрепился и другой смысл – честное распределение рутинной работы между членами команды.
Например, у нас есть просто замечательная обязанность – запускать ежедневные тестовые билды.
Занятие, в общем-то, рутинное. Нажать на кнопку, подождать, проверить, нажать на еще одну кнопку, подождать, убедиться, что все в порядке, на следующий день посмотреть, что все завершилось, доложить о результатах на ежедневном собрании, послать письмо. Скука.
Однако с определенной частотой эта скука превращается в мини-кошмар – билд падает. Его чинят. Иногда билд падает снова. Иногда снова и снова. Бывает ведь черная полоса в жизни? Одну проблему исправили, кто-то что-то изменил, билд падает уже по другой причине – на то они и нужны, эти билды, чтобы падать и вскрывать проблемы. Пораньше. Бывает, что эти падения становятся критичными, ведь у нас же время для еженедельного или месячного релиза, а уже 3й день к ряду все падает. Надо чтобы кто-то взял все в руки, объявил комендантский час, и все усилия были направлены на стабилизацию.
На такую важную задачу хочется выделить достойного кандидата, чтобы не подвел в ответственный момент. Так мы и сделали.
Сочетание рутины и перманентного ощущения муравейника под задним местом – очень опасно. Месяц, другой, третий – результат не заставил себя долго ждать. Человек с железными нервами пришел и выдвинул ультиматум. Не могу, давайте кого-нибудь другого назначим. Или сами знаете что.
Да, точно. Давно уже понятно было, что подход дает трещину. Только кого? Еще одного железного парня, чтобы таким же образом испортить ему мотивацию?
К счастью, решение было найдено быстро. Round robin.
Мы много работаем с производительностью и параллелизацией, поэтому понятно, почему мы это называем round robin, остальным же будет ближе школьное понятие “who is on duty today?” или кто сегодня моет доску.
Да, все настолько просто – детские школьные принципы. Берется журнал и по алфавиту – сегодня Дима моет доску, завтра Миша, послезавтра Наташа. Наташа знает, что порядок фиксирован, и ей мыть доску в среду, поэтому отговорки «а я не знала» приниматься не будут. Помыв доску, Дима передает повязку Мише, показывает, где лежит тряпка и говорит о том, что классная будет проводить завтра в 10 контрольную и к 10 доска должна быть идеально чистой. Миша не против и даже немного гордится тем, что ему нужно будет мыть доску, ведь не каждый же день выпадает такая возможность поважничать – я сегодня дежурный. Если во время Мишиного дежурства Дима с Наташей начнут играть в квача тряпкой от доски и их застукает классная, то она делает выговор Мише. Однако все знают, что завтра они будут на месте Миши и им придется нести ответственность, поэтому к приходу классной все заканчивается.
Резюмируя:
- Порядок дежурства должен быть строго определен и выполняться неукоснительно, все должны участвовать и каждый должен быть в курсе, когда ему нужно будет готовиться к дежурству
- Все знают, кто сегодня дежурит и кого можно призвать к ответственности за беспорядок
- Рутинная работа перестает быть рутинной, если она выполняется не каждый день
- Передача обязанностей должна быть строго регламентирована, все, что требуется знать следующему по списку для дежурств, передается ему предыдущим дежурным
- Ответственность за результат распределяется по всей команде и все чувствуют причастность к процессу
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.