Эта проблема может показаться совершенно независимой от цели программного обеспечения. Проблема здесь в том, что у вас есть небольшое, конечное количество файлов, с которыми ежедневно работают несколько разработчиков. У меня нет опыта ни с программным обеспечением Serena ChangeMan, ни с TFS, кроме как играть с ним. У меня есть опыт работы с несколькими системами контроля версий, которые используют модель слияния / принятия: CVS и Subversion . Это отличные бесплатные системы контроля версий, которые широко используются.
Если вы не знакомы с моделью слияния / фиксации, идея заключается в том, что ни один разработчик не может «извлечь» и заблокировать файл для внесения изменений. Каждый может скачать и внести изменения в любой файл. Когда пришло время зафиксировать эти изменения в базе данных исходного кода, программное обеспечение хранилища предотвратит коммит, если другие разработчики внесли в файл другие изменения. Затем загружается новая версия, и в большинстве случаев изменения автоматически объединяются с вашими изменениями. Вы повторно тестируете, а затем фиксируете эту версию. Эта модель очень успешна и очень масштабируема.
Сказав все это, даже модель слияния / фиксации не может решить проблему наличия небольшого количества файлов, когда множество разработчиков вносят изменения в указанные файлы. Я бы порекомендовал разделить вашу функциональность на несколько веб-сервисов. Возможно, вместо трех монолитных веб-сервисов вы можете создать три группы связанных веб-сервисов. Я думаю, что это в сочетании с использованием системы контроля версий с merge / commit решит ваши проблемы.
Серверы CVS и Subversion работают на Windows, Mac и Linux. Для каждого есть несколько клиентов, доступных в нескольких операционных системах. К ним относятся автономные клиенты, плагины Visual Studio и плагины оболочки. Еще одним плюсом является то, что CVS и Subversion доступны из командной строки, что делает скрипты (например, автоматизированную сборку) довольно простыми.