『The Mythical Man-Month』 12장 "Sharp Tools"는 개발자 생산성을 높이는 '도구(tool)'의 중요성을 다룹니다. 브룩스는 이 장에서, 개발 생산성은 단지 개인의 역량이 아니라, 도구의 유무와 질에 따라 극적으로 달라진다고 강조합니다.
그가 말한 '도구'는 컴파일러, 디버거, 텍스트 에디터 같은 개발 유틸리티였지만, 지금은 훨씬 더 폭넓은 범위를 포함합니다. IDE, 빌드 시스템, 테스트 프레임워크, CI/CD, 클라우드 플랫폼, 협업 툴, 심지어 GitHub Copilot 같은 AI 도구까지—오늘날의 툴링 환경은 브룩스의 상상을 넘어섰습니다.
하지만 놀라운 점은, 도구의 양상이 달라졌을 뿐 도구의 정치학과 심리학은 여전히 동일하게 작동한다는 것입니다.
브룩스는 1970년대 개발 문화를 이렇게 묘사합니다.
"많은 프로그래머가 자신만의 도구를 만들어 쓰고, 이를 공유하지 않는다. 마치 장인이 자신의 연장을 감추듯 말이다."
그 시절에는 인터넷도 없었고, 사내 서버나 문서 공유 시스템도 없었습니다. 도구는 개인 폴더에 숨겨진 '비장의 무기'였고, 이를 얼마나 잘 갖추고 쓰느냐가 '장인의 능력'으로 간주됐습니다.
하지만 이는 협업 효율을 떨어뜨리고, 팀 전체의 생산성을 제한하는 문화였습니다. 오늘날의 오픈소스 철학과 완전히 반대 방향이죠.
지금은 거의 모든 개발 도구가 공유를 전제로 설계됩니다.
GitHub: 코드 저장소를 넘어서, 오픈소스와 협업의 플랫폼
VSCode: 수많은 플러그인이 커뮤니티 기반으로 운영됨
CI/CD 파이프라인: 코드 변경 → 테스트 → 배포까지 자동화
LLM 기반 도구: Copilot, Cody, Cursor 등 실시간 코딩 보조
이 변화는 기술 진보 그 자체가 아니라, 공유를 위한 인프라와 문화의 진보 덕분입니다. 도구는 이제 개인의 무기가 아니라, 팀 전체의 흐름을 위한 자산이 되었습니다.
브룩스는 이에 대해 이렇게 말합니다.
“공통 도구를 만들기 위한 시간과 비용은 아깝지 않다. 문제는 도구의 효율보다, 이를 공유하지 않는 태도다.”
브룩스는 흥미로운 예측을 합니다. 그는 프로젝트 매니저가 공통 도구를 만드는 전담 인력을 따로 배치해야 한다고 주장합니다. 이 말은 오늘날의 플랫폼 팀(Platform Team)의 개념과 정확히 일치합니다.
플랫폼 팀은 다음과 같은 일을 담당합니다:
내부 도구 개발 (배포, 테스트, 데이터 파이프라인 등)
서비스 공통 템플릿 제공
보안, 로그, 모니터링 등 조직 전반의 인프라 표준화
이들의 역할은 기능 개발을 직접 하진 않지만, 개발자가 빠르게 움직이도록 만드는 기반을 제공하는 것입니다. 브룩스는 이를 이미 1975년에 꿰뚫어본 셈입니다.
2025년을 사는 우리는 매년 새로운 툴과 플랫폼을 마주합니다.
프레임워크, 빌드 툴, 배포 시스템은 끊임없이 바뀌고, 오픈소스 세계는 숨 가쁘게 돌아갑니다.
하지만 툴을 잘 고르고, 공유하고, 문서화하고, 유지보수하는 일은 여전히 어렵습니다. 특히 다음과 같은 고민은 지금도 유효합니다.
특정 팀에 종속된 툴: 온보딩과 유지보수 문제 발생
문서화 부족: 도구는 있지만 사용할 줄 아는 사람은 없음
과도한 툴 분화: 유사한 툴이 병렬적으로 존재하며, 오히려 비효율
결국 좋은 툴이란 단지 성능이 좋은 것이 아니라, 잘 공유되고, 잘 이해되고, 잘 유지되는 것입니다. 브룩스가 말한 "좋은 도구 문화"란 지금도 여전히 유효한 기준입니다.
『The Mythical Man-Month』의 'Sharp Tools' 장은 단순히 도구에 대한 이야기가 아닙니다.
이는 협업, 문화, 공유, 신뢰에 대한 이야기였습니다.
지금의 도구들은 그 어느 때보다 강력합니다. 하지만 중요한 건 도구 그 자체가 아니라, 그 도구를 얼마나 잘 공유하고, 팀이 함께 사용할 수 있는지입니다.
개발은 도구를 잘 쓰는 기술이기도 하지만, 도구를 함께 쓸 수 있도록 만드는 사회적 기술이기도 합니다.
→ 8편: 버그, 문서, 그리고 끝나지 않은 리더십의 과제