케이블 채널에서 주말에 조금씩 해주는 미국 드라마다. 프로파일링을 통해 범인을 잡아내는 FBI 팀에 대한 것인데, 쿡 TV 에 무료로 있는 시즌 1 몇 편을 보다가 한 시즌을 7000 원에 구매. 어제 내내 달려서 결국 다 봤다.
이게 소프트웨어 쪽에 대한 비유가 있는 듯해서 참 재미있었는데, 그렇게 느끼게 된 이유는 첫째는 패턴, 둘째는 팀 다이나믹스 였다.
프로파일러가 수사를 시작할 때 지키는 원칙 중 하나는 용의자 리스트를 미리 받지 않는다는 것이다. 범죄 현장에서 시작하고, 과학적 증거물 이외에도 범인의 심리상태를 거꾸로 추적해 나간다.
이 과정에서 그들은 정형화된 패턴을 사용하는데, 이런 식의 살인사건을 일으키는 경우 범인들의 공통된 패턴들을 찾아내서, 거기에 맞게 용의자 리스트를 추려가는 것이다.
소프트웨어 개발에서도 알게 모르게 패턴을 많이 체득하게 되는데, 예를 들면 어쩌다가 한번씩 버그가 재현되는데, 그 재현 주기가 일정치 않고, 정확한 재현 과정을 찾기가 어렵다면, 아마도 멀티쓰레드와 관련된 코드일 것이다 라는 식이다.
이보다 다른 단계의 추상화를 거치면, 디자인 패턴도 생각해 볼 수 있고, 또 다른 단계의 추상화에서는 팀 회의를 진행하는 법 이라든가 매니저에게 요구하는 법 등의 패턴도 생각해 볼 수 있다.
요약하자면, 패턴이란 곧 경험, 즉 공유 가능한 상태의 경험을 이야기한다. 바꿔 말하면, ‘나는 소프트웨어 개발에 경험이 많다’ 라는 정도에서 그치지 말고, 그것을 누군가와 공유하기 위한 정도로 발전시켜 보면, 비로소 자기가 겪었던 일들이 어떤 경험인지 알 게 된다.
두 번째는 팀 다이나믹스 였는데, 크리미날 마인드를 보면, 도대체 팀을 이끄는 사람이 누구인지 헷갈린다. 하지만 팀은 잘 돌아간다. 기디언 이라는 프로파일링의 최고수가 있는가 하면, 지시 사항을 내리고 일을 맡아서 하는 하치 라는 인물도 있다. 그렇다고, 이 들 둘이 없으면 팀이 돌아가지 않는 것도 아니다. 각 팀원들은 부족하나마 이 두 사람의 자리를 대신하여 수사를 진행할 여력이 있다. 다만, 이들 보다 잘 하지 못할 뿐이다.
나는 이 구조가 잘 돌아가는 소프트웨어 개발 팀의 전형적인 모델처럼 느껴졌다. 스페셜리스트가 존재하고, 팀웍을 극대화 하기 위한 팀 리드가 존재하고, 이 둘은 위 아래 구분 없이 팀의 문제 해결을 위해 집중한다. 팀원들은 두 사람을 롤 모델로 하여 각자가 잘하는 영역을 키우면서 서로 교류하며 성장한다.
흔히 팀의 규모가 어느 정도 되기 시작하면, 뜬금없이 ‘팀장’ 이라는 직급을 만들거나, ‘프로젝트 관리자’ 라는 직급을 만든 다음, 거기에 상당히 많은 명문화된 권력을 부여해 버린다. 그 다음은 여기에 누굴 앉힐까 라는 고민이 시작된다. 그 과정에서 자리에 앉지 못한 사람은 일의 범위를 스스로 한정 짓고, 나머지는 팀장에게 떠넘겨 버린다. 결국 팀원의 성장이 제한되고, 그 책임으로 팀장을 비난하는 악순환이 시작된다. 아이러니다.
그러니까 직급을 설정하는 문제도 기본에서 출발하는 것이 옳다. 만약 팀장이라는 존재 없이도 팀이 잘 굴러간다면, 그냥 그대로 두면 된다. 프로젝트 관리자 없이도 팀이 일을 잘 하고 있다면 그냥 놔두면 된다. 괜한 평지 풍파를 일으킬 필요가 없다는 말이기도 하고, 새로 만드는 직급이 어떤 일을 해야 하는지 팀이 정의하지 못하고 있다는 말이기도 하다.
결론을 내리자면, 미드에 나온 멋진 소프트웨어 개발 팀을 만들려면, 개발 일상에서 겪는 작은 문제점들을 잘 정의해서 제대로 풀려는 노력을 게을리해서는 안 된다는 것. 거기에서 패턴을 찾고, 유효 적절한 해법을 위해 시도하는 과정에서 팀 문화가 만들어 질 것이다 라는 이야기.
휴, 글 하나 살짝 길게 썼더니 토요일을 미드 폐인이 되어 보낸 죄책감이 조금 씻겨진다.