들어가기 전에...
많은 SW 엔지니어들이 이야기합니다. 우리의 미래가 궁금하다고. SW 개발팀의 교육훈련 담당자 분들이 이야기 합니다. 무엇을 어떻게 교육해야 할 지 모르겠다고. SW 엔지니어에게 "성장(improvement)"은 바로 "생존(survival)"입니다. SW 개발 조직에서 "역량 향상"을 외치는 이유입니다. 기존 기술의 변화를 따라잡기에도 벅찬데 새로운 기술의 탄생을 지켜보는 엔지니어의 마음은 늘 조급할 수 밖에 없습니다. 너무 많은 기술이 명확하게 분류되거나 정의되지 않은 채로 쏟아져 나옵니다. SW 엔지니어를 중심으로 이런 기술들을 정리한다면, SW 엔지니어와 개발팀이 에너지를 집중할 기술이 무엇인지 또렷해질 수 있습니다. 2014년 현재 SI 영역에서 사용하는 기술을 개략적으로 정리해 보았습니다. 누가 봐도 숨막힐 정도로 많은 기술이 있습니다. 누가 언제 무엇을 해야 하는 지 혼란스럽습니다. 로드맵을 통해 SW 엔지니어 관점에서 이런 기술을 분류하고 정리할 필요가 있습니다. 이런 고민이 SW 엔지니어를 위한 역할 기반 로드맵의 출발점입니다.
SW 엔지니어를 위한 "역할기반 로드맵"은 다음 페이지에서 다운로드하실 수 있습니다. 로드맵을 보시기 전에 아래 "로드맵 사용 설명서"를 반드시 읽어 보시면 좋겠습니다.
로드맵 사용 설명서(주의 !!)
현재 다운로드 가능한 로드맵(KR-SI-1401)은 SI 개발환경에 맞추어 일반화 시켜놓은 하나의 인스턴스 일 뿐입니다. 개발 조직 별로 인력, 기술, 목표 시스템이 서로 다르므로 서로 다른 로드맵이 필요합니다. 물론 KR-SI-1401 로드맵을 참조 로드맵으로 사용할 수 있습니다. 이 로드맵을 조직의 개발특성에 맞추어 조정(tailoring)하는 과정이 필요합니다. 이런 활동을 하는 방법에 대해서 조만간에 로드맵 설계 절차를 공유하겠습니다.
KR-SI-1401로드맵은 Java 언어와 웹 아키텍처를 기반으로 하는 SI 환경에 적용하는 기준(SI Standard) 로드맵입니다. 이 기준 로드맵으로부터 조직의 표준(Org Standard) 로드맵을 만들고 있으며, 조직의 표준 로드맵으로부터 팀의 로드맵(User Defined)을 만들 수 있습니다.
기술의 우선 순위는 다를 수 있습니다. 어떤 개발팀에서 플랫폼으로 OSGi를 사용한다면 그 개발팀에 속한 개발자는 초급 서버 엔지니어라고 하더라도 OSGi 플랫폼을 이해하고 관련 구현체인 Apache 재단의 Aries, Felix, eclipse 재단의 Virgo, Equinox 세트 중에 어떤 것이든 숙련되어야 합니다. 로드맵을 개발 조직의 특성에 맞추어 조정해야 하는 이유입니다.
로드맵은 역할(role) 기반입니다. 한 엔지니어는 여러 역할을 동시에 수행할 수 있습니다. 역할을 역량을 표현하는 기준으로 삼았습니다. 그래서 수행 가능한 역할의 종류, 또는 역할 범위(role coverage)가 그 엔지니어의 역량의 폭을 의미합니다. 그리고 수행 가능한 수준의 역할은 그 엔지니어 역량의 깊이를 의미합니다. 예를 들면, 김은영 엔지니어가 초급 NOSQL 엔지니어, 고급 서버 엔지니어, SW 아키텍트, 초급 모바일 개발자 역할을 수행할 수 있다고 했을 때, 우리는 이 엔지니어의 역할 범위를 알 수 있으며, 고급 서버 엔지니어나 SW 아키텍트 역할을 수행할 수 있으므로 그 역할의 깊이를 알 수 있습니다. 즉, 역할을 기반으로 그 엔지니어 역량의 폭과 깊이를 가늠할 수 있습니다. 이런 관점에서 역량향상이란 수행가능한 역할을 늘리던가, 역할의 수준을 높이는 것을 의미합니다. 역할을 세분화해 놓은 이유입니다.
로드맵을 다양한 관점에서 보실 수 있습니다. 이제 막 SW 엔지니어의 길로 들어선 초급 개발자에게는 미래에 나갈 길을 보여 줍니다. 기술에 대한 경험과 지식의 깊이를 갖춘 엔지니어는 아님에도 엔지니어를 위한 교육훈련계획을 수립해야 하는 교육훈련 담당자에게는 전체 기술의 구성을 보여 줍니다. 시스템 설계에 어떤 기술을 선택할 것인가를 고민하는 설계자에게는 좋은 참조자료가 됩니다. 조직의 표준 기술을 정하고 개발 팀을 조직의 전략목표를 향해 정비해야 하는 IT 책임자에게는 좋은 틀이 될 수 있습니다.
KR-SI-1401 로드맵은 SW 개발 역할그룹을 위한 로드맵입니다. 따라서 관리 역할그룹에 속하는 PM, QA 등과 같은 역할들은 없습니다. QA역할이 없다고 지적해 주시는 분들도 있었습니다. 이 로드맵 버전에서는 당연히 없습니다. QA는 관리 역할그룹에 속하기 때문입니다. 역할 그룹 관련 글(역할 기반 SW 엔지니어 분류)을 읽으시면, 로드맵을 보실 때 한결 더 편하실겁니다.
로드맵의 기능
로드맵의 주요 용도는 위와 같은 네 가지입니다. 모든 도구는 용도에 맞게 사용해야 합니다. 로드맵을 조직에서 위와 같은 용도로 사용하기 위해서는 조직의 특성을 반영한 로드맵을 사용하여야 합니다. 다른 조직의 로드맵을 가져와서 우리 조직에서 사용하지 않는 몸에 맞지 않는 옷을 입는 것과 같습니다.
감사합니다.
2014.2.6 송태국(tsong@nextree.co.kr)