На работе, где мы занимаемся разработкой LOB .NET / MSSQL, многие проекты, которые у нас есть, - это проекты с участием двух или даже одного человека, жизненный цикл разработки которых составляет 1-3 месяца. Разработчики служат бизнес-аналитиками / менеджерами проектов / QA, поэтому все делается быстро с минимальными затратами времени. Мы получаем большие проекты, которые могут занять 6 месяцев, и у нас есть команда из 5 разработчиков, но они более редки.
Мы прилагаем все усилия, чтобы начать продвижение TDD (мой последний проект имеет полное покрытие кода и был разработан исключительно), и я занимался исследованием архитектуры, необходимой для того, чтобы извлечь из нее максимальную выгоду. Похоже, что большинство людей, занимающихся TDD, выполняют CI, имеют сервер сборки, выполняют автоматические сборки и имеют какой-то инструмент для автоматической сборки клиента (FinalBuilder или nAnt) и т. Д.
Итак, мои вопросы - я вижу очевидные преимущества в необычных крупных проектах, когда у вас есть 5 человек, работающих над одной и той же кодовой базой одновременно, - но получим ли мы большую выгоду от использования CI в небольших проектах с двумя людьми? А как насчет проекта с одним человеком - для них это просто пустая трата, поскольку вы действительно ни с кем не «интегрируетесь»? И как вам передать CI / автоматизировать сборки / построить сервер для управления?