우리 회사는 웹 서비스, 원격 EJB 및 때로는 DB의 공유 데이터를 통해 서로 느슨하게 통신하는 여러 가지 (Java) 응용 프로그램을 빌드합니다.여러 팀의 통일성은 어느 정도입니까?
각 응용 프로그램은 해당 팀에서 만들고 유지 관리합니다. 작은 앱의 경우 1 ~ 2 명이고 가장 큰 앱의 경우 약 10 명입니다. 총 개발자 수는 약 25 명의 FTE입니다.
우리가 직면하는 한 가지 문제는 팀 중에 큰 자존심이 있다는 것입니다. 역사적으로 가장 큰 앱 팀은 코드 규칙 및 일반 가이드 라인을 설정했습니다. 예를 들어 우리 IDE는 Netbeans입니다. 우리는 Hg를 SCM으로 사용하고, Ant로 빌드하고, 가능한 한 Java EE에서 최대한 많이 사용하도록 강조합니다. 외부 라이브러리를 사용하는 것으로 충분하지 않고 최후의 수단으로 무언가를 작성하는 데만 의존한다면 . 아직 다른 로깅 프레임 워크, orm, cms 또는 웹 프레임 워크를 작성하는 것은이 가이드 라인을 따르는 것이 허용되지 않습니다.
이제는 소규모 팀 중 일부가 Eclipse와 Git 및 Maven을 사용하고 가능한 한 많이 작성하고 시간이 부족하거나 기분이 좋지 않을 때만 기존 작업을 살펴볼 수 있습니다 그것을 쓰고 싶다. ' 주요 팀이 log4j를 사용하는 곳에서는 소규모 팀 중 하나가 자체 로깅 프레임 워크를 작성하기 시작했습니다.
동일한 표준을 고수하는 모든 팀에 대해 논의가 있었지만 기껏해야 '번거로운 작업'이었습니다.
이제 내가 묻고 싶은 큰 질문 : 다른 팀이 상황을 다르게하는 것이 실제로 중요합니까? 각각의 별개의 앱이 요구 사항을 구현하고 합의 된 인터페이스를 제공하는 한, 모든 사람들에게 Hg, Ant, 동일한 코드 규칙 등을 사용하도록 강요해야합니까?