본문 바로가기

조엘 온 소프트웨어(번역)

프로그램 매니저가 되는 방법 - 1 (How to be a program manager)

원문은 여기에 http://www.joelonsoftware.com/items/2009/03/09.html

How to be a program manager

by Joel Spolsky (Monday, March 09, 2009)

    좋은 프로그램 매니저를 얻는 것은 정말 뛰어난 프로그램을 만들기 위한 비밀 공식 중 하나입니다.  아마도 여러분에 팀에는 좋은 프로그램 매니저가 없을 것입니다. 왜냐하면, 대부분의 팀들이 없거든요.

  WYSIWYG 워드 프로세서를 공동 개발한 뛰어난 프로그래머인 찰스 시모니(Charles Simonyi)는 마르타 스튜어트(Martha Stewart)를 만났습니다. 마르타 스튜어트는 마이크로 소프트의 주식으로 억만장자가 되었고, 우주여행까지 한 사람입니다. 그들은 "맨 먼스 미신(Mythical Man Month)"의 문제를 해결하기 위한 정말 큰 소프트웨어 팀을 만들었습니다. 이 팀은 완전 뛰어난 천재 프로그래머가 상위 레벨의 함수를 만들고, 하위 레벨의 함수에 대한 구현은 초급 프로그래머들에게 넘기는 방식으로 일을 합니다. 이 천재 프로그래머의 직함을 프로그램 매니저(Program Manager) 라고 부릅니다. 시모니는 똑똑했지만, 이 아이디어는 그렇지 못했습니다. 제 생각에, 그 이유는  누구도 초급 프로그래머가 되고 싶지는 않기 때문입니다.

  80년대 후반에 Mac Excel 팀의 프로그래머였던  제이브 블루멘달 (Jabe Blumenthal)은 이 직함을 재활용했습니다. 그는 소프트웨어 개발이 점점 더 복잡해지고 있다는 점과 프로그래머들이 프로그램의 사용성과 유용성을 신장시키기 위해 고민할 시간이 없다는 점을 알고 있었습니다. 마켓팅 팀에서는 고객들의 요구사항에 대해서 시끄럽게 떠들어 댔지만, 그들과 이야기 하고 그들이 MBA-Speak를 구체적인 사양으로 번역할 사람이 없었습니다. 많은 작업량이 필요한 제품 설계 요소에는 여러가지가 있습니다. 사용자와 대화하기, 사용성 테스트하기, 경쟁제품 분석하기, 쉽게 구현하기 위한 방법을 찾기 위해 열심히 고민하기 등. 그러나 대부분의 프로그래머들은 정말로 시간이 없습니다. (시간만 있다면 그들은 이 일들을 잘 해낼 수 있습니다.) 블루멘달은 프로그램 매니저란 직함을 빌려다가 완전히 새로운 일을 하도록 재창조 했습니다.

   프로그램 매니저는 어떤 일을 하는가?

  이제부터  프로그램 매니저가 하는 일들을 살펴보겠습니다.

  1. UI 설계 (Design UIs)
  2. 기능 명세 작성 (Write functional specs)
  3. 팀 간의 업무 조정 (Coordinate teams)
  4. 고객측의 대변자 역할 (Serve as the customer advocate)
  5. 바나나 리퍼블릭(미국의 중저가 브랜드) 의 치노(chinos) 입기
 
  제 프로젝트 매니저로써의 첫번째 과제는 마이크로 소프트의 엑셀의 기능 중 커스터마이제이션 이라고 부르는 사용자 기능(User activity) 이었습니다. 예를 들자면, 스크립트와 매크로 처럼 사용자가 직접 만들어 사용할 수 있는 기능들입니다. 제가 해야 했던 첫번째 일은 사용자들의 요구사항을 알아내는 것이었습니다. 이를 위해서 저는 가능한한 많은 사용자들과 이야기를 나눴는데, 똑같은 이야기가 반복되어 지루해지기 시작할 때까지 고객의 의견을 들었습니다. 저는 어떤 것들이 18개월의 개발기간안에 구현 가능하고 타당한지검토하는데 많은 시간을 들였습니다. 또한 비주얼 베이직 팀과 컴파일러, 코드 에디터, 다이얼로그 박스 에디터 등 엑셀의 메크로 기능에 사용될 수 있는 툴들을 제공해 줄 수 있는지 확인하기 위해 오랬동안 이야기를 나눴습니다. 저는 또 애플(Apple)과 이야기를 했는데, 그들은 애플 스크립트(Apple script)라고 부르는 범용 매크로 언어를 개발하고 있었습니다. 애플 뿐만 아니라 마이크로소프트의 다른 어플리케이션 개발팀들 - 주로 워드(Word), 엑세스(Access), 프로젝트(Project) 그리고 메일(Mail) - 을 만났는데, 이들은 엑셀과 일반적인 기능들은 동일합니다. 이러한 과정들은 대부분 대화, 회의, 이메일, 전화통화로 이루어져 있습니다. 제 삶은 이 일의 흔적이 남아있고, 지금도 전화벨이 울릴 때면 제 사무실에서도 겁에 질린답니다.

 - 2부에 계속 됩니다.