칼럼

[채성수의 소프트웨어 인사이드] 소프트웨어 개발자만 있는 것이 아니다

발행일시 : 2020-02-05 00:00
[채성수의 소프트웨어 인사이드] 소프트웨어 개발자만 있는 것이 아니다

소프트웨어 산업에 종사하는 전문가는 꽤나 다양하다. 그러나 소프트웨어 산업에 종사하는 모든 사람들이 소프트웨어 개발자는 아닐뿐더러 모두가 소프트웨어 개발 역량이 있는 것도 아니다. 소프트웨어 전문가는 소프트웨어 프로젝트 관리자, 소프트웨어 아키텍트, 업무 분석가, 소프트웨어 설계자, 소프트웨어 개발자(프로그래머), DB 설계자, DBA(Data Base Administrator), 데이터 베이스 튜너(Tuner), 테스트 전문가, 품질 담당자, 소프트웨어 운영자, 시스템 분석가 등이 있고 하드웨어 중심의 시스템 관리자, 시스템 운영자도 있다. 그중에 가장 많은 수의 사람들이 소프트웨어 개발을 담당하는 프로그래머로 활약한다.
 
소프트웨어 개발자는 분석가, 설계자, 프로그래머, 운영자로 나눌 수 있다. 소프트웨어 프로세스 중심으로 보면 업무 분석가는 고객과 업무를 협의하고 고객의 업무를 분석하는 일을 담당하여 고객의 요구사항을 정리하여 소프트웨어 설계자에게 전달한다. 소프트웨어 설계자는 업무 분석가로부터 받은 요구사항을 기초로 소프트웨어 설계를 담당한다. 소프트웨어 개발자인 프로그래머는 설계서를 가지고 실제의 프로그램 소스를 코딩 한다. 소프트웨어 운영자는 개발되어 배포된 소프트웨어를 운영하는 일을 담당하며 고객이 요청하는 데이터를 산출해 주거나, 소프트웨어가 이상 없이 잘 운영되도록 감시하고 정기적인 작업을 처리하는 일을 담당한다.

규모가 큰 프로젝트의 경우가 아니면 설계자가 분석도 실시한다. 분석가와 설계자를 나누는 경우는 큰 소프트웨어 시스템을 개발할 때나 운영할 때이다. 업무 분석가는 소프트웨어의 운영 시에 고객을 자주 만나면서 소프트웨어 개선에 대한 논의를 많이 한다. 프로젝트를 수행할 때는 전문적으로 업무 프로세스를 분석하여 개선하기 위하여 별도의 사람이 들어가서 일을 하는 경우도 많이 있다. 이런 업무 분석 전문가는 기존의 업무 분석가와 구분하여 별도로 프로세스 전문가라고 부르기도 하고 혹은 프로세스 컨설턴트라고도 한다. 고객의 산업이나 업무를 잘 알고 고객 경영층과의 의사소통을 원활히 해야 하는 경우에 필요하다.
 
대부분의 업무 분석가는 고객과의 의사소통이 주업무이므로 고객의 업무를 잘 알고 있다. 업무 분석가는 고객보다 업무를 더 잘 알기 때문에 고객의 문제점을 파악하여 고객의 업무 프로세스를 개선하는 역량을 가지고 새로운 소프트웨어 개발을 제안한다.

[채성수의 소프트웨어 인사이드] 소프트웨어 개발자만 있는 것이 아니다

소프트웨어 설계자는 업무 보다는 소프트웨어 기술을 잘 알고 있는 전문가이다. 개발 역량도 웬만한 소프트웨어 개발자 보다는 뛰어난 경우가 많다. 대부분의 설계자들은 프로그램 코딩을 하다 경력이 쌓이면 소프트웨어 설계를 담당한다. 설계자 한 명이 여러 명의 프로그래머를 데리고 일하면서 소프트웨어 개발 목적에 맞게 개발을 지시하고 할당하면서 소프트웨어 개발을 진행한다. 소프트웨어 프로젝트 과정 중에는 설계자가 설계만을 담당하지 않고 프로그래머의 역할을 수행하면서 개발을 주도하는 경우도 많이 있다.
 
소프트웨어 개발자의 소프트웨어 기술에 대한 일의 스펙트럼을 보면 업무에 대한 경험과 역량이 많으면 분석가의 역할을 하기도 하며, 기술적으로도 능통하면 설계서를 만드는 설계자의 역할을 수행한다. 개발 기술이 좋으면 설계뿐만 아니라 프로그래머의 역할을 수행하여 직접 프로그램을 코딩하기도 한다.
 
소프트웨어 개발 프로젝트의 꽃이라면 프로젝트 관리자이다. 프로젝트를 잘 이끌어가서 결국 소프트웨어를 완성하는 사람이다. 반면에 소프트웨어의 꽃이라고 할 수 있는 사람은 소프트웨어 아키텍트이다. 건축으로 따지면 건축 설계 전에 건축에 대한 전체 개념을 잡고 설계자에게 세부적인 설계 방향과 지침을 주는 업무라고 생각하면 된다. 소프트웨어 아키텍트는 개발할 소프트웨어의 전체적인 개념과 구조를 만들고 설계자들에게 설계 개념을 공유, 전파함과 동시에 설계자들에게 전체 설계를 나누어 주어 상세 설계가 진행되도록 하고, 설계 완료 후에는 설계 결과를 통합하여 자신이 제시한 설계 개념으로 완성되었는지 확인하면서 소프트웨어 개발을 주도하는 핵심인력이다. 한국의 소프트웨어 프로젝트에서는 ‘개발 총괄 관리자’라는 이름으로 부르기도 한다.

채성수 chaesungsoo@iabacus.co.kr 소프트웨어개발 전문기업 ㈜애버커스 사업총괄부사장. 엘지전자와 엘지씨엔에스(LG CNS)에서 다년간 컴퓨터 관련 사업을 추진한 전문가이다. 국가 공인 최고 자격인 정보관리기술사로 대학에서 컴퓨터 관련 연구를 하였다. ‘속도경쟁사회’, ‘코딩을위한컴퓨팅사고력’, ‘소프트웨어 인사이더’ 등 6권의 책을 저술하였으며 넥스트데일리의 컬럼니스트로 활동하고 있다.

(*이 칼럼은 Nextdaily의 편집방향과 다를 수 있습니다.)

© 2020 nextdaily.co.kr 무단전재 및 재배포금지

(주)넥스트데일리 | 등록번호 : 서울 아 01185 | 등록일 : 2010년 03월 26일 | 제호 : 넥스트데일리 | 발행·편집인 : 구원모
서울시 금천구 가산디지털2로 123, 701호ㅣ발행일자 : 2005년 08월 17일 | 대표전화 : 02-6925-6346 | 청소년보호책임자 : 나성률

Copyright © Nextdaily. All Rights Reserved