Kauffman Center at Daybreak
Kauffman Center at Daybreak by Moose Winans 저작자 표시비영리

개발자로 시작한 사람들이 꿈꾸는 길은 과연 무엇일까요? 어쩌면 수준 높은 고급 개발자가 되는 것이 가장 일반적인 꿈이긴 하겠지만, 제 생각엔 어느 정도 수준에 올라간다면 아마 설계자나 아키텍트를 꿈꾸지 않을까 하는 생각을 해봅니다. 하지만, 아키텍트라는 분야는 단순히 프로그래밍만을 잘 한다고 이룰 수 있는 꿈이 아니기에 관련한 공부와 더불어 다양한 경험이 필수적인 것 같습니다. 특히 IT 분야에서는 아키텍트가 설계, 프로그래밍 그리고 테스트 과정뿐만 아니라 프로젝트 전반에 관리할 수 있는 PM 역량을 어느 정도 갖추어야 함으로 많은 시간이 걸려야만 제대로 된 아키텍트가 될 수 있다고 이야기 드릴 수 있을 것 같습니다.

그렇다면 아키텍트가 되기 위해서는 어떤 역량을 갖추어야 할까요?

아마 다른 무엇보다도 제일 먼저 시작해야 하는 것은 사용자 요구사항을 이해하고 분석하는 설계 과정이 아닐까 생각합니다. 제가 이 내용을 가장 먼저 언급한 이유는 프로그래밍을 집중적으로 공부하시거나 업력을 쌓아오신 분들이 가장 꺼려하는 업무 중 하나가 바로 사용자나 고객과의 관계 형성 및 지속적인 모니터링으로 보기 때문입니다. 실상 우리가 프로그래밍을 하는 가장 근본적인 이유는 결국 프로그램을 통해 사용자나 고객에게 편리함을 주기 위한 것이기에 사용할 사람들의 의견을 듣고 설계하는 것은 그 어느 것보다도 중요합니다. 하지만, 모든 분들이 그렇지는 않지만 제가 만난 많은 개발자 분들은 이 과정을 매우 힘들어 하시는 것 같습니다. 아마도 개발과 달리 한두 사람이 전체적인 과정을 주관하고 일관된 프로세스로 움직이기보다는 많은 사람들이 서로 각기 다른 의견을 내거나 심지어는 아주 상반된 의견을 내는 경우도 있고, 이를 조율하는 과정이 만만치 않기 때문일 것 같습니다. 따라서, 많은 개발자들이 이 업무를 자신과 상관없는 영역이라고 생각하시는데, 아키텍트가 되기를 진정으로 바라신다면 반드시 극복해야 하는 사안이라고 생각합니다. 

일단 사용자의 분석설계에 대해 어느 정도 능력을 갖추게 된 뒤에 고민해야 할 영역이 있다면 아마도 효율적인 프로젝트 관리가 아닐까 합니다. 보통 교과서나 이론에서는 아키텍트가 되기 위해서는 디자인 패턴이나 UML 등 기술적인 부분을 강조하는 경우가 많은데 제 생각에는 이 부분뿐만 아니라 프로젝트라는 큰 과정을 어떻게 이끌어가야 할 지를 배우는 것이 필요하다고 생각합니다. 왜냐하면 아키텍트는 단순히 툴이나 기술을 사용하고 활용하는 것뿐만 아니라 한정된 자원을 가지고 고객이 원하는 결과물을 만들어 내는 일련의 예술(Art)이라고 보기에 프로젝트를 효율적으로 관리할 수 있는 능력을 갖추는 것이야말로 아키텍트가 반드시 가져야 할 중요한 덕목이라고 생각합니다.

프로젝트 관리를 잘한다는 것은 앞서 언급한 것처럼 정해진 기간 내에 원하는 사양에 맞추어 일을 끝내는 것뿐만 아니라 프로젝트 예산수립부터 인력관리, 산출물 관리까지의 총체적 관점에서 이를 다 운영할 수 있는 능력을 의미합니다. 따라서, 이러한 능력을 갖춘다는 것은 개발에 대한 능력뿐만 아니라 전반적인 관리능력을 갖추어야 하는 것을 의미하기에 매 프로젝트마다 틈틈이 프로젝트를 어떻게 관리해야 하는지에 대해 조금씩 이해하려는 노력을 해야한다고 봅니다.

아키텍트가 되기 위해 준비하는 과정 중 가장 어려운 영역은 아마도 프로젝트 포트폴리오 관리라고 생각되는데, 이 영역은 관점에 따라 달리 보시는 분들이 많아 제 주관적인 관점이 많이 반영된 생각이라고 할 수 있을 것 같습니다. 프로젝트 포트폴리오 관리역량은 개별적인 프로젝트 관리역량을 갖추게 된 뒤에 다수의 프로젝트를 동시에 진행할 수 있는 능력을 갖추는 것을 의미하는데, 때에 따라서는 현재 진행 중인 프로젝트들을 파기할 수 있는 신념과 용기도 갖추어야 하기에 이 과정은 - 특히나 한국에서는 - 매우 쉽지 않은 많은 이슈들을 포함하고 있습니다. 다수의 프로젝트를 동시에 진행할 경우 개별 프로젝트에 대해 이해도를 높이기도 쉽지 않거니와 프로젝트간에 서로 영향을 주는 경우에는 이를 조율하는 작업 또한 고난이도의 업무이기 때문입니다. 하지만, 대형 프로젝트의 경우에는 몇 개의 작은 프로젝트들로 구성되어 진행되고 각 프로젝트의 진척사항이나 성과에 대해 모니터링을 해서 일정을 조율하거나 파기, 생성을 해야하는 경우도 있기에 대형 프로젝트에서 아키텍트가 제대로 된 역량을 발휘하려면 이러한 자질을 갖추는 것은 매우 필요한 요건이라고 생각됩니다. 

또한, 이렇게 다수의 프로젝트를 동시에 진행하다 보면 상황에 따라서는 단위 프로젝트들을 포기해야 하는 상황도 맞이하게 되는데, 좋은 아키텍트가 되기 위해서는 반드시 한번쯤은 경험해봐야 하는 일이라고 생각합니다. 이런 과정이 정신적으로 육체적으로 매우 쉽지 않을 업무인 것은 분명하나 진행 중인 프로젝트를 파기한다는 것이 어떤 의미인지 명확하게 이해할 때만이 진정한 의미의 아키텍트가 될 수 있다고 보기 때문입니다. 어떤 의미로 보면 다소 관리적인 업무로 보일 수 있는 있는 이 업무를 해야 하는지에 대한 의문을 가질 수도 있으시겠지만, 프로젝트에서 아키텍트가 차지하는 비중을 생각해 본다면 해당 업무는 전반적인 업무를 조율하는 관점에서 반드시 필요한 역량이기에 꼭 경험을 해보시길 권해드립니다.

댓글을 달아 주세요

  1. Favicon of https://wasa100.tistory.com BlogIcon 그냥인간  수정/삭제  댓글쓰기

    좋은글 잘 읽고 갑니다~^^

    2009.08.14 10:56 신고
  2. Favicon of http://twitter.com/dhwikim BlogIcon 김동휘  수정/삭제  댓글쓰기

    공식적인 아키텍트는 극소수입니다.
    명함에 아키텍트라고 쓴 사람 많이 봤습니다만, 진정한 아키텍트가 한국에 몇이나 될런지?
    잘 읽고 갑니다.

    2009.08.14 11:12
    • Favicon of https://mbastory.tistory.com BlogIcon 5throck  수정/삭제

      아무래도 아키텍트에 대한 정의가 회사마다 다르고, 아키텍트를 위한 교육과정 등이 부족한 부분이 많아서 그렇지 않을까 생각해 봅니다.

      2009.08.14 13:02 신고
  3. Favicon of http://blog.happyseeker.net BlogIcon 해피씨커  수정/삭제  댓글쓰기

    음.. 그러면 아키텍트랑 PM 이랑은 머가 달라요?
    이글만 봐서는 차이점을 잘 모르겠어요 =ㅅ=

    2009.08.14 11:44
    • Favicon of https://mbastory.tistory.com BlogIcon 5throck  수정/삭제

      PM은 말 그래도 하나의 프로젝트를 담당하는 매니저이고, 이러한 프로젝트들이 연계되어 하나의 큰 프로젝트를 이루게 되면 마스터 PM이 그 역할을 수행하게 됩니다.

      또한, 일반적으로 아키텍트는 개발 과정을 다 주관하는 PM보다는 전반적인 설계 부분을 담당하는 일을 되는데, 조그마한 프로젝트보다는 큰 프로젝트에서 전체를 위한 청사진(Blue Print)를 그리는 사람이라고 생각하시면 될 것 같습니다.

      다만, 저의 개인적인 생각으로는 훌륭한 아키텍트가 되기 위해서는 마스터 PM의 역할을 수행해봐야 한다는 취지에서 말씀드린 것이니 일반적으로 반드시 아키텍트가 마스터 PM일 필요는 없습니다.

      2009.08.14 13:10 신고

카테고리

나누어보기 (648)
스타트업 & 벤처 (15)
컨설팅이야기 (239)
MBA이야기 (39)
CC Korea 이야기 (36)
문화 이야기 (92)
세상사는 이야기 (188)
IT 이야기 (39)
Statistics Graph
BLOG main image
세상을 보는 또 다른 시선
때로는 '사실'보다 '희망'이 더 절박할 때가 있습니다. 적절한 희망이야말로 사람을 움직이게 하는 원동력이 되고, 사람이 움직이면 희망은 곧 사실로 바뀌게 됩니다.
by 5throck

세상을 보는 또 다른 시선

5throck's Blog is powered by Tattertools / Supported by TNM Media
Copyright by 5throck [ http://mbastory.tistory.com/ ]. All rights reserved.

Tattertools TNM Media DesignMyself!