많은 2 세대 소스 제어 시스템은 연결된 "체크 아웃"을 사용하여 서버에 파일을 수정하려고 함을 알려줍니다. 예로는 TFS, SourceGear Vault 등이 있습니다. 이러한 방식으로 요구 사항을 기술적으로 달성 할 수 있습니다 . 그러나 Adam Butler가 지적했듯이 이러한 유형의 도구에는 긴 토론에 참여하지 않고 오프라인 작업에 대한 제한적인 지원과 일반적으로 비생산적인 개발 워크 플로와 같은 자체 문제가 있습니다.
리팩토링 작업을 할당하는 일종의 계층 적 접근 방식을 제안합니다. 개발자는 코드의 특정 영역을 담당하는 하위 팀으로 논리적으로 그룹화 할 수 있습니다. 팀 구성 방법에 따라 각 팀은 팀 영역의 고급 디자인을 담당하는 "리드"역할을 수행 할 수 있습니다. 이 구조는 개발자에게 잘 알려져 있어야하며 리팩토링을위한 통신을 단순화해야합니다. 나는이 접근 방식이 너무 형식적이고 일부에는 뒤 떨어질 것이라고 확신하지만, 20 명 이상의 개발자가 큰 시스템을 리팩토링하기 위해 "무료"접근 방식을 사용하는 것이 매우 바람직하다고 생각합니다. 일부 리팩토링은 상위 수준에서 수행됩니다 (예 : 모듈 X가 모듈 Y와 통신하는 방법). 이 경우 적절한 수준에서 전화를 걸 수있는 사람들이 필요합니다. 팀의 모든 개발자가 아키텍처 결정을 내려야하는 것은 아니기 때문에, 어떤 경우에도 계층 구조가 무시됩니다.
기본적으로, 여러분이 제시 한 기본 요구 사항을 충족시키는 도구가 있지만 적절한 의사 소통을 대체하고 소수의 사람들이 프로젝트의 일반 아키텍처를 추진하는 도구는 없습니다.