Отвлекание разработчика

Суббота, 14 ноября, 5:47
Есть известная проблема — контекст свитчинг программиста стоит 15 минут и, поэтому с точки зрения бизнеса его очень плохо отвлекать лишний раз. Однако в командной работе программиста регулярно отвлекают коллеги или начальники и этот процесс, казалось бы, единственно возможный и тут ничего нельзя изменить.

Последнее время я видел частое упоминание двух практик, которые, в целом, как-то решают эту проблему — публикование статуса в скайпе (или другом im) или выделение определенных часов в день, когда человека ни в коем случае нельзя отвлекать и часов когда отвлекать можно (обычно, с публикацией указанных часов в общедоступном календаре).

Это все, очевидно, методы совершенно отвратительные, ибо нормальному человеку сложно и, обычно, вообще невозможно помнить, что надо менять статус в скайпе (теоретически, можно заставить и приучить себя это делать, но в целом очевидно что статус ставится просто один раз и потом про него забывается навсегда), а выделение специальных часов должно работать для крайне небольшого числа людей — многие разработчики иррационалы, и в какие часы им захочется и получится эффективно поработать в конкретный день они узнают исключительно тогда, когда это время наступит.

И вдруг мне придумалось простое изящное решение — приучить разработчика постоянно отчитываться в определенный чат о том, что он делает. Это, в сочетании с хорошо организованной последовательной работой позволяет, с одной стороны, его начальнику понимать прогресс и сроки, а с другой стороны позволяет понимать, когда его можно отвлекать. Особенно хорошо, если разработчику разрешить честно писать что у него прямо сейчас прокрастинация и он ничего не делает по работе.

Этот процесс, вероятно, можно прилично автоматизировать — если последние окна — это приложения какой-то среды разработки/отладки и недавно нажимались кнопки/двигалась мышь — человек работает, если человек переключился на вконтактик-телеграм больше, чем на пару минут — у человека прокрастинация и его можно, и даже нужно, отвлекать рабочими вопросами, а если нет никакого движения — человек, возможно отсутствует (например, пьет чай), что легко проверяется, например, вебкамерой или каким-то датчиком на месте.

Что думаете? А как эту проблему решаете вы?

upd: оказывается, я не изобрел ничего нового. По сути — это андон.

Андон (в переводе с японского «лампа», англ. andon) – средство информационного управления, которое дает преставление о текущем состоянии хода производства, а также при необходимости создает визуальное и звуковое предупреждение о возникновении дефекта. Это один из главных инструментов в реализации принципа организации производства дзидока — остановка процесса ради улучшения качества -- http://www.up-pro.ru/encyclopedia/andon.html