TECH M
TECH M
SW 생산성, 어떻게 높일까
생산성은 산업 분야에서 매우 중요하다. 기업이 생존하고 발전하기 위해서는 수익이 필요하고 동일한 환경이라면 생산성이 높은 기업이 더 높은 수익을 올릴 수 있다.
특히 소프트웨어(SW) 산업 분야는 서비스 제공이 시공간의 제약을 받지 않기에 글로벌 경쟁이 매우 치열하다. 당연한 결과로 경쟁에서 살아남고 성장하기 위해서는 생산성이 높아야 한다.
그렇다면 SW 산업 분야에서는 어떻게 생산성을 측정하고 관리하는 것일까?
SW 산업 분야의 생산성을 측정하는데 사용된 범용의 방식은 SLOC(Source Lines Of Code)다. SLOC는 개발자가 작성하는 코드를 최종 산출물로 보고 단일 시간에 더 많은 코드를 생산하면 생산성이 높다고 평가한다.
하지만 개발자가 불필요한 코드를 만들어 낸다면 유지보수 비용이 높아지고 변경이 어려워 생산성이 낮아진다. SLOC는 단지 무슨 일이 벌어지고 있다는 것을 알려줄 뿐 생산성을 대표할 수 없는 것이다.
개인이 아닌 팀 단위로 생산성을 측정하거나 기능점수(Function Point)를 이용하는 방법이 사용되기도 한다. 예를 들어 생산성을 투입한 비용 대비 얻은 수익으로 계산하는 방법이 있다.
이 방법은 조직 내의 부분 최적화가 필요하거나 조직 간 경쟁이 심한 경우와 수익이 장기간에 거쳐 발생하는 경우에 현재의 생산성을 측정하기 어려운 제약을 안고 있다.
이를 보완 하고자 오류의 수, 복잡도, 검사방법(Test Coverage), 예상 대비 실 투입 시간 등의 지표를 추가로 사용하지만 생산성을 정의하는데 실패했다.
새로운 생산성 관리법, 애자일
SW 개발 생산성 측정의 문제와 낮은 생산성 문제를 해결하고자 2000년대 초반 개발자 중심의 애자일(Agile) 활동이 소개됐다. 애자일에서는 SW를 사용할 ‘고객’이 원하는 기능을 얼마나 빠르고 효과적으로 개발해 고객에게 인도하는지가 생산성의 핵심이다.
애자일 활동에서는 아무리 많은 기능을 개발하더라도 고객이 원하는 기능이 아니면 생산성은 ‘0’으로 판단한다. 고객이 원하지 않는 기능을 만들 바에는 차라리 아무 것도 만들지 않는 편이 생산성이 더 높다. 적어도 자원을 낭비하지는 않았기 때문이다.
고객이 원하는 기능을 빠르게 개발하려면 ‘짧은 사이클 타임(Cycle time)’과 ‘높은 품질(Quality)’이 중요하다. 사이클 타임은 고객이 원하는 기능이 고객에게 인도될 때까지 걸리는 시간을 말하며, 짧을수록 생산성이 높다. 품질은 기능이 고객의 기대대로 동작하며, 수정하거나 새로운 기능을 추가하기가 용이할수록 생산성이 높다.
사이클 타임을 짧게 하기 위해서는 효과적인 의사소통이 필요하다. 고객이 원하는 것이 무엇인지를 파악하고 고객이 원하는 대로 구현하려면 고객과의 의사소통, 실무 부서간의 의사소통이 잘 이뤄져야 한다. 이들 간의 의사소통이 효과적이지 않다면 오해가 발생하게 돼 귀중한 자원의 낭비를 유발하기 때문이다.
또 고객이 원하는 기능을 우선순위에 맞춰 나누고 정의하는 작업이 필요하다. 12개의 기능을 1년 동안 개발해 한 번에 고객에게 전달하는 것보다는 고객이 가장 원하는 기능부터 하나씩 순차적으로 개발해 매달 인도하는 것이 낭비를 줄이고 생산성을 높이는데 유리하다.
고객은 짧은 주기로 가장 필요한 기능 순으로 사용할 수 있고, 개발자는 고객의 피드백을 자주 받을 수 있어 고객이 원하는 기능을 개발할 확률이 높아진다.
SW 생산성의 또 다른 요소인 품질을 높이기 위해서는 버그를 줄이는 것이 필수다. 버그란 고객이 의도한대로 동작하지 않는 모든 종류의 오류를 의미한다. 버그가 발생하면 생산적인 작업에 사용할 자원을 버그 수정에 사용하게 되므로 생산성이 낮아진다. 고객의 만족도 또한 떨어진다. 버그의 발생 원인은 다양하지만 잘못된 의사소통 때문에 나타나는 경우가 많다.
여름에 신을 등산용 신발이 필요한 고객의 요구사항을 오해해 여름철 시원하게 신을 샌들을 만들어 준 경우를 상상해보자. 여름이라는 조건을 오해한 것이다.
고객과의 의사소통이 생산성 높인다
이런 버그를 줄이고 생산성을 높이려면 고객과 효과적으로 의사소통 할 수 있어야 한다. 만드는 목적이 무엇인지, 지금 개발 중인 기능이 고객의 의도에 부합하는지 짧은 주기로 피드백을 받아야 하며 이러한 내용을 개발에 참여하는 모든 참가자가 정확히 이해하고 있어야 한다.
버그가 발생하는 다른 유형은 개인이 실수하는 경우다. 모든 사람은 실수를 하기에 이런 유형의 버그를 완벽히 방지할 수는 없다. 가능한 실수를 빨리 발견하고 수정하는 것이 현실적이고 효과적인 해결책이다.
제조업의 경우 품질관리(QC)가 생산공정의 마지막에 위치하고 전담인력이 담당하는 경우가 많다. 이 방식의 문제점은 버그의 발견이 늦어지고 담당자 외에는 누구도 품질에 관심을 갖지 않는다는 것이다.
최근 SW 개발 분야에서는 품질보증을 생산과정의 앞 단계부터 전체 공정에 걸쳐 고루 사용한다. 또 품질보증을 하나의 역할에 일임하지 않고 참여자 모두의 공동 책임으로 지정하고 있다. 가능한 빨리 버그를 찾아 수정해 생산성을 높이는 것이다.
SW 개발에서 생산성이란 단순히 더 많은 기능을 만들어 내는 것이 아니다. 높은 생산성의 의미는 고객이 최대의 만족을 느끼도록 고객 중심의 개발을 진행하는 것이며, 이 과정에서 낭비 요소를 제거해 보다 빠르게 고객이 원하는 기능을 인도하는 것이다. 이러한 목표를 달성하기 위해서는 좋은 인력이 필수이다.
좋은 인력이란 자신의 담당 업무를 수행할 수 있고 지속적으로 개선해 발전시키며 주변과 효과적으로 협업할 수 있는 사람을 말한다. 그러기 위해서는 오랜 시간에 걸쳐 지식과 경험을 쌓아야 한다. SW 산업은 최첨단 분야이지만 인력에 대한 의존도가 가장 높은 산업이다. 아무리 좋은 컴퓨터와 솔루션을 갖춘 경우라도 결국 이를 개발하고 운영하는 것은 사람이기 때문이다.
요즈음 주변에서 생산성이 낮아 걱정이라는 이야기와 함께 좋은 인력을 찾지 못한다는 푸념을 자주 듣고는 한다. 생산성을 높일 수 있는 좋은 인력이 없는 것이 문제라면 해당 조직이 좋은 인력을 키워내기 위한 투자에 나서야 한다.
인력에 대한 교육과 투자 없이는 좋은 인력이 성장할 수 없으며 아무리 좋은 인력을 채용하더라도 순식간에 평범한 인력이 되어 버리기 때문이다. SW 산업 분야의 생산성은 결국 ‘사람’이다.
<본 기사는 테크M 제38호(2016년6월) 기사입니다>
-
'전자정부 名家' LG CNS, 1200억 '행복e음' 사업 수주로 자존심 회복할까공공 소프트웨어(SW) 사업의 강자 LG CNS가 올해 공공시장 첫 '대어'로 꼽히는 보건복지부 차세대 사회보장정보시스템(행복e음) 구축 사업에 출사표를 던졌다.17일 업계에 따르면 LG CNS는 이날 행복e음 사업 재입찰에 제안서를 제출했다.행복e음 사업은 지난 2009년 복지부가 각종 사회복지 급여 및 서비스 지원 대상자의 자격과 이력에 관한 정보를 통합 관리하기 위해 구축한 시스템을 현대화 하는 사업이다. 올해부터 3년간 약 1220억원이 투입된다.이 사업은 지난 3일 첫 입찰 공고를 마감했으나 무2020-03-17 16:54:47테크M 남도영 기자
-
네이버 vs 카카오, 포털-메신저 이은 3라운드... 링은 '콘텐츠'#수천억 자금으로 뭘 만들까#넷플릭스 잡을 수 있을까#톡TV-네이버TV 경쟁 볼만할 듯국내 대표 인터넷 맞수 기업 네이버와 카카오의 세번재 경쟁 무대 막이 올랐다. 포털과 메신저 플랫폼에서 치열하게 경쟁해온 두 기업의 3라운드 링은 '콘텐츠'다. 이미 양사는 콘텐츠 자회사에 수천억원의 자금을 쌓아놨다. 올해부터 본격적으로 콘텐츠 양산에 돌입한다. 콘텐츠 주도권 경쟁의 전초전은 이미 시작됐다.◆실탄 마련한 카카오M, 직접 콘텐츠 제작 개시카카오는 지난 16일 콘텐츠 자회사 카카오M이 3자 배정 유상증자2020-03-17 15:53:45테크M 허준 기자
-
[템 사이트] 게임 하면 유니티! 2020년 기대되는 유니티 기반 게임은?연일 쏟아지는 신작 소식이 게이머들을 설레게 하고 있습니다. 남다른 스케일을 자랑하는 게임업체들의 대형 신작은 물론 독특한 게임성을 내세운 게임까지, 게이머들의 다양한 취향을 만족시킬만한 다양한 신작게임들이 많습니다.오늘은 특히 유니티 엔진을 기반으로 한 신작 게임들을 엄선해서 소개할까 합니다. 유니티는 이미 전세계 수백만명의 게임 개발자들이 사용하는 유명한 게임엔진입니다. 최신 버전의 엔진 '유니티 2019.3' 업데이트를 통해 260가지가 넘는 개선사항과 신규 기능이 포함돼 진일보한 고성능 그래픽과 최적화 기2020-03-17 15:30:39테크M 허준 기자