-
칸막이 높이에 따른 의사소통량?카테고리 없음 2004. 3. 5. 16:39
정확한 출처는 기억나지 않으나 예전에 읽어본 XP 관련 글에 최적의 프로그래밍 환경이 예시된 걸 본 적이 있다. 그 환경이란, 큰 거실, 가운데 공간엔 큰 탁자가 있고, 탁자를 빙 둘러 컴퓨터가 놓인다. 벽엔 넓은 화이트보드가 달려있고 화이트보드엔 소프트웨어 개발 플랜, 설계 도면, 개발할 기능, 요구사항 등이 적혀있거나 이러한 내용이 적힌 포스트잇이 그득히 붙어있다. 개발이 완료된 항목들은 화이트보드에서 지워지거나 포스트잇이 떼어진다. 각 모니터에는 두 명의 개발자들이 앉아 있다. 한 명은 코딩을 하고 또 한 명은 옆에서 참견한다. "=이 아니라 ==인데...", "메쏘드 이름이 틀렸는걸"... 이른바 짝프로그래밍(Pair Programming)이다. 짧은 경험에 비추어 볼 때, 짝프로그래밍은 막연히 생각하는 것 보다 효율이 높다. 대개의 경우 컴파일 에러를 발생시키지 않는다. 컴파일 후 실행도 거의 성공. 짝프로그래밍에 함께 할 짝은 필요에 따라 바뀐다. 오늘은 P양과 함께, 내일은 K군과 함께. 개인 별로 자리가 구별되어 있지 않다. 프로그래밍 도중 모르거나 애매한 메쏘드가 있으면 옆 사람에게 자연스레 묻는다. XP에서 권장하는 프로그래밍 환경은 대화가 빈번한 시끄러운 환경이다. XP에선 조용한 프로그래밍 환경은 생산성이 낮은 환경으로 간주한다. 가장 손쉽고 비용이 적은 커뮤니케이션은 옆사람, 또는 짝, 또는 프로그래밍 코치와의 직접 대화다.
그러나,
프로그램 생산성이 필수적인 개발 환경과 '''연구 환경'''은 태생부터 틀리다. 연구 환경은 지속적이고 신속한 프로그램의 생산이 필요한 환경은 아니다. 연구 환경은 깊이있는 사색과 "연구"가 필요한 환경이 아닐까? 연구는 "벽"을 뚫는 각고의 노력이 요구되는 활동이다. 개발이 주가 되는 XP와는 다른, 신속하고 빈번한 커뮤니케이션 보다는 깊이있고 능동적인 "사고"가 요구되는 활동이다. 따라서, 연구 활동에 필요한 환경은 보다 쾌적하고 개인적인 공간이다. 커뮤니케이션은 효과적인 회의나 세미나를 통해 할 일이다. 물론 개발 활동이 본격적으로 시작되면 커뮤니케이션이 중요하겠으나, 이건 부차적인 중요성을 지닌다. 연구활동의 첫째는 무엇보다 "벽"을 허무는 "시색"이고 이는 "개인적 시간과 공간"에 부여되는 특권이다.그렇다면 칸막이 높이에 따른 의사소통량의 관계는?
이건 분명 수행하는 업무의 종류에 따라 달라지는 것이다.