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