Вопрос крайне интересный. Но я бы поставил его не так — не как заставить программиста дольше работать, а как сделать так — чтобы он больше делал. Т.е. организовать эффективную работу. По опыту — удавалось повысить производительность программистов раз в 10, а аналитиков почти в 12 (!). Как?
Во-первых — проанализировав процесс и устранив все точки, где возможен re-work, переделка ранее сделанной работы. Например слабый аналитик не разобрался в требованиях заказчика и вывалил весь это мусор на кодировщика. В итоге противоречия в голове заказчика и аналитика привели к противоречиям в коде. Как устранить? — проапгрейдить аналитика, сделать формальным процесс обследования, ввести приемку BRD старшим аналитиком.
Во-вторых — навести порядок в своем коде. Периодически делать review, вносить комментарии и пр. т.е. это все про быстроту нахождения информации. Пусть программист не шарахается по офису — выспрашивая, знает ли кто что-то по существу вопроса — а быстро найдет его в корпоративной wiki или других порталах.
В-третьих, как ни странно — это планировка офиса. Если за спиной у программера постоянно на трубке висит саппорт, продажник или аналитик — он будет постоянно срываться. Сделайте «тихую зону» или отдельное место для кричания с заказчиком.
В четвертых, порядок коммуникаций. Возьмите за правило — не дергать программера чаще чем в 2-3 часа. Как правило он думает в «туннельном эффекте» — декомпозируя задачку и входя в режим творения. На такую подготовку уходит 20-30 минут. Если его в этот момент выдернуть тупым вопросом — мол, дай сигарету или ты не знаешь — а где лежит постановка — то опять потребуется полчаса…
Ну и еще в-пятых, в-десятых и пр. В итоге вы поймете — что программист зачастую имеет «циклоидный характер» — т.е. периоды максимальной интенсивности чередуются с упадком сил и апатией. И мастерство менеджера заключается во вписывании задач проекта в эти особенности конкретного человека. Может нет смысла орать и теребить — а важно дать человек просто отдохнуть и набраться сил. Для чего в офисе должны быть и зоны отдыха.
Да, кстати — офис — тоже интересная штука. Опытные капиталисты делают офис почти домашним не зря. И аутсорсят мелкие бытовые проблемы сотрудников — типа отвезти белье в химчистку, поискать подешевле квартиру, заказать билет в театр или место в ресторане, купить продукты по списку… Это позволяет удержать сотрудника на работе дольше, застав несколько его «пиков работоспособности». Причем сам сотрудник будет вам благодарен за комфорт и решение его мелких бытовых проблем. А работодатель значительно сэкономит на оплате овертаймов.