Планировщик дежурств
Справедливая ротация дежурств за десять секунд: перечислите команду, выберите, сколько длится каждая смена, выберите дату начала и получите календарь по кругу на столько недель вперёд, сколько нужно, — с подсчётом смен на человека, чтобы справедливость была видна, а не обещана. Распечатайте его, скачайте как CSV, прикрепите там, где команда действительно будет его видеть. Всё работает в вашем браузере; ваш список никуда не отправляется.
Число смен
| # | С | По | Дежурный |
|---|
Смена, которая начинается внутри горизонта, показывается целиком, поэтому последняя смена может закончиться на несколько дней позже него. Обмены из-за праздников и отпусков организуете вы сами — эта таблица и есть справедливая база, от которой они отталкиваются.
Что делает ротацию справедливой
Справедливость в дежурствах — не чувство, а арифметическое свойство: равные очереди, в фиксированном порядке, опубликованные заранее. Строгий круг имеет её по построению. За любое целое число циклов каждый участник несёт ровно одинаковое число смен, а за неполный цикл счёт различается не более чем на единицу — именно поэтому эта страница печатает число смен рядом с календарём. Когда каждый может посчитать, никому не нужно доверять. Режим отказа, которого это позволяет избежать, — таблица, ведомая вручную, где тот, кто её редактирует, молча забирает смены, которых никто не хотел, или где «потом выровняем» так и не наступает, и один инженер обнаруживает, что пронёс треть года.
Вторая половина справедливости — предсказуемость. Ротация, опубликованная за двенадцать недель, позволяет людям планировать отпуска, свадьбы и выходные вокруг своих смен и договариваться об обменах, пока на это ещё есть время. Ротация, опубликованная в пятницу днём на утро понедельника, технически — то же расписание, а практически — другая работа. Генерируйте далеко вперёд, публикуйте там, где команда действительно смотрит, и относитесь к обмену как к сделке между двумя названными людьми — никогда как к правке, от которой чужой выходной исчезает без разговора.
Как выбрать длину смены
Длина смены — это компромисс между накладными расходами на передачу и сконцентрированной болью. Короткие смены — по одному дню — распределяют нагрузку тонким слоем, но умножают передачи, а каждая передача — место, где контекст может упасть на пол: инцидент, наполовину диагностированный в 18:00, к 09:00 становится загадкой. Они также дробят сон каждого понемногу вместо сна одного человека сильно, что звучит добрее, а часто таковым не является. Недельные смены передаются один раз, дают дежурному по-настоящему изучить форму отказов этой недели и делают нагрузку читаемой — вы можете указать на неделю, которую пронесли. Большинство маленьких команд останавливаются на неделе. Команды, следующие за солнцем, — исключение: когда команда охватывает часовые пояса, «день» дежурства может означать часы бодрствования одного региона, и ежедневная ротация перестаёт быть бременем и становится естественной формой работы.
Связанные инструменты: калькулятор бюджета ошибок SLA превращает вашу цель по доступности в минуты простоя, которые эта ротация существует, чтобы защищать, а калькулятор хранения резервных копий планирует точки восстановления, к которым вы потянетесь в 3 часа ночи.
Дополнительное чтение: одна рутина надёжности — ротации дежурств, хранение резервных копий и бюджеты ошибок, спланированные вместе, как одна привычка, а не три отдельные заботы.
Частые вопросы
Что делает ротацию справедливой?
Равные очереди, в фиксированном порядке, опубликованные заранее. Строгий круг гарантирует, что за любое целое число циклов каждый участник несёт ровно одинаковое число смен, а за неполный цикл счёт различается не более чем на единицу. Именно это и генерирует эта страница — без весов и без случайности, поэтому никому не приходится спорить, чья очередь по таблице.
Неделя на смену лучше, чем день на смену?
Для большинства маленьких команд — да. Ежедневные ротации передают постоянно, а каждая передача — шанс для контекста упасть на пол; они также разбрасывают нарушенный сон по всей команде. Недельные смены концентрируют боль, дают дежурному время изучить режимы отказов недели и упрощают организацию обменов. Ежедневные ротации оправдывают себя в командах, следующих за солнцем и разбросанных по часовым поясам, где «день» — это часы бодрствования одного региона.
Насколько вперёд следует публиковать расписание?
Настолько, чтобы люди могли планировать вокруг него свою жизнь: двенадцать недель — обычный горизонт, а эта страница доходит до года. Ранняя публикация — это то, что превращает дежурство из засады в договорённость. Обмены всё равно будут; опубликованное расписание просто делает их явными сделками вместо тихого недовольства.
Учитывает ли расписание праздники и отпуска?
Нет — сознательно. Эта страница создаёт справедливую базовую ротацию. Затем её редактирует реальная жизнь: меняйте смены, которые сталкиваются с праздниками и отпусками, и записывайте обмены там, где команда действительно читает. Генератору, который попытался бы смоделировать календарь каждого, понадобился бы доступ к нему, а ваш список — именно та вещь, которую не следует вставлять на сервер незнакомца.
Отправляется ли список моей команды куда-нибудь?
Нет. Ротация — чистая арифметика дат и работает полностью в вашем браузере. Ничего из введённого не покидает страницу — вызова сервера нет вообще, поэтому страница работает и офлайн после загрузки.