Простой: Никогда не проверяйте код с ошибками (известно) . Это не значит, что вы регистрируетесь раз в день. Поставьте отметку, когда у вас появятся значимые изменения, чтобы другие разработчики могли получить к ним доступ.
Мы всегда интегрируемся локально, запускаем наши тесты с кодом, и когда все проходит, мы регистрируемся. Я работаю примерно 20-30 раз в день, когда работаю. Сервер сборки принимает изменения и запускает сборки для системы. Непрерывная интеграция (CI) - это хорошо. : D
Непрерывная интеграция - автоматизируйте сборку
Начните с успешного строительства и продолжайте в том же духе, насколько это возможно. Это важно в командной среде. Просто помните, что сборки сломаются. Ожидается, что они ломаются время от времени. Это признак того, что вы просто случайно зарегистрировали что-то плохое и перестаете делать то, что делаете, чтобы сделать сборку зеленой. Сервер сборки, который никогда не нарушал сборки, является предупреждающим знаком!
Я также согласен с ответом Чедмайера: что бы вы ни решили, оно должно быть автоматическим и автоматизированным. Лучшая вещь в автоматизации инструментов, чтобы делать такие вещи для вас, это то, что вам больше не нужно думать об этом или не забывать делать это. Или, как сказал Чад, ты не прекратишь это делать.
Я мог бы порекомендовать рекомендации для инструментов CI, но посмотрите здесь: Какие инструменты вы используете для Automated Builds / Automated Deployments? Почему?
Получив CI, вы можете получить более высокое качество, если добавите немного юмора (и позора), введя сломанный токен сборки! http://ferventcoder.com/archive/2008/08/20/continuous-integration-enhancement--the-broken-build-token.aspx
Используйте хороший инструмент для автоматизированных сборок
Большинство людей в .NET land используют сценарии NAnt или MSBuild для автоматизированных сборок, которые впоследствии они могут подключить к своему CI-серверу. Если вы только начинаете, я предлагаю использовать UppercuT , это безумно простая в использовании сборочная среда, которая использует NAnt. Вот вторая ссылка с более глубокими объяснениями: UppercuT .
Филиалы против магистрали для активной разработки
Вам не придется переходить, если вы не оставляете ствол открытым только для выпусков (что означает, что все остальные работают в той же ветке, что и вы). Но у меня был бы CI как на транке, так и на активной ветке разработки.
Процесс разработки программного обеспечения
Также, чтобы ответить на вопрос о процессе разработки программного обеспечения, ответ - да, да. Но не спешите ни с чем, если не требуется кардинальное изменение. Выберите процесс, к которому вы хотите перейти, и постепенно начинайте внедрять процессы. И оценить, оценить, оценить. Если конкретный процесс не работает для вашей группы, выясните, делаете ли вы что-то неправильно или вам просто нужно устранить это. А потом делай. Какой бы процесс вы ни выполняли, вам нужно работать, иначе он не будет работать.