Эпизод 37. Утилизация < 100% - отстой

Эпизод 37. Утилизация < 100% - отстой

Почти все руководители, особенно вновь испечённые, верят в величие 100% утилизации —  убеждение, что каждый технический человек должен быть полностью загружен работой так, чтобы голову поднять не мог и никаких тебе фейсбуков.

ВМ. 100% загрузка хороша для печатного станка:) А вот с людьми такой фокус не прокатывает. Если следовать этому постулату, то можно со временем обнаружить, что

  • нет времени для беспристрастного мышления,
  • нет времени для исследования,
  • нет времени чинить багло с продакшна,
  • нет желание расти и изучать новое (вы же осознаёте, что ваши сотрудники учатся на работе?).
  • устают, да? косячат, да? сваливают, да?

На самом деле эта тема появилась не просто так. И я не зря привёл в пример печатный станок. Когда деревья были маленькие, а компьютеры были очень дорогие, их машиночас стоил конских денег, отсюда их простой — стоил конских денег. Как следствие все стремились максимально нагружать аппаратуру. Долго готовились, отлаживались на бумаге, тестировали опять же на бумаге, потом резервировали машинное время и выполняли операции. Если ты не успел — приходи ночью:) Шутка, но в каждой доле шутки.

Если вернуться к моим любимым метафорам

  • 100% загруженное шоссе удивительно не может ехать:) Малейший затык приводит к авариям и ещё большему затыку.
  • 100% CPU Load приводит к тому, что система встаёт в известную позу. Удивительно, да? Но у неё нет сил даже переключить конвейер. А вдруг немного потекла память или возникла лишняя операция умножения? Сидите и ждите. Всё занято вычислениями.

А самый дурацкий эффект от этого — всё, что больше 80-90% перестаёт быть предсказуемым. Наверняка вы видели это, когда ваша винда или сервак внезапно (именно внезапно) перестаёт работать и продолжать вычисления. А потом также внезапно продолжает что-то делать и «отлипает».

С людьми такая же хурма. У человека одноядерный процессор, что бы не говорили те, кто «многозадачен». По факту мы имеем конвейер в вытесняющим планированием и в ряде случаев с быстрым переключением контекста.  А дальше идут куда более забавные эффекты. Например, у тебя есть три задачи, которые делают тебя загруженным на 100%. Логично предположить, что каждая из них занимает 33,(3)%.  Так?

А вот не так ни разу. Когда такая напруга — ты искренне думаешь, что тратишь 1/3, а на самом деле тратишь ровно столько, сколько занимает задача. В итоге получаешь 146% вместо 100. И отловить это исполнителю очень сложно. Не работает таймер на переключение контекста. Точнее он конечно может и работает, но давится механизмами совести и страха продолбать всё и не успеть.

В общем-то задача планирования сложная и нелинейная, например, всякие там аджайлы придумали корректировать планирование команды по velocity, а velocity — реальный показатель того, что команда может делать в «естественном» ритме.

З.Ы. заодно отошлю на ход ноги тебя, мой дорогой читатель, к Теории одного разрыва  100% утилизация — верный путь к соответствующим результатам.

 

Остальные эпизоды на странице Мир глазами другого человека

[sgmb id=»1″]

Добавить комментарий