Модель работы такая (в идеале):
- Разработка ведется двухнедельными итерациями. Конец каждой итерации - выпуск новой публичной версии.
- В начале итерации определяются задачи, которые должны быть выполнены. Обговариваются сроки и раскидываются между разработчиками. Некоторые задачи выполняются вместе (парное программирование). Все это отражается в системе управления проектами. Задачи должны быть примерно от получаса до 8 часов. Более мелкие группируются, крупные - разбиваются на подзадачи.
- В конце дня (или в течение дня, как удобнее) разработчик отмечает над какими задачами (тасками) он работал, сколько потратил времени (в часах), какие возникли проблемы и т.п.
- После выполнения каждого таска нужно коммититься. В конце дня - пушить все коммиты на центральный сервер (репозиторий). Подробнее я описал тут: http://www.khoden.ru/2012/02/mercurial.html
- В первую пятницу делается анализ того, что сделано, что еще осталось. Корректируется время и список задач.
- Во вторую пятницу проверяется, все ли таски закрыты, готовится версия на паблиш, мержатся данные при необходимости, тестируется на временном сервере, потом, если не было никаких проблем - переносится на боевой. Боевой при этом корректно положить с вывеской, что ведутся работы и с планируемым временем включения.
- Если столкнулся с какой-то проблемой и не можешь самостоятельно найти решения в течении 15-30 минут - лучше обратиться к более опытному коллеге, этим ты сэкономишь время (зачастую грабли одни и те же)
Важно: в конце дня пушить все изменения в центральный репозиторий и обновлять таски.