성공적인 소프트웨어 신상품 개발가이드
신상품개발은 여러 가지 이유로 지연되기 쉽다. 신상품 개발이 지연되는 경우 그 갭을 최소화하기 위한 대책을 수립해야 한다. 일정지연의 갭을 줄이기 위한 접근방법은 아래 그림과 같이 계획을 변경하거나 미래의 생산성을 높이는 것으로 구분할 수 있다.
① 계획변경을 통해 일정을 만회하는 방법
지연된 일정을 만회하기 위한 계획변경에는 일정연기, 범위축소, 품질목표를 낮추는 방안이 있다.
- 일정연기
신상품 출시일정을 연기하는 방법이다. 상품개발팀과 이해관계자의 입장에서는 반갑지 않은 선택이지만 상품출시를 위한 최소한의 기능이나 품질을 확보하지 않은 상황에서 출시를 강행하면 더 큰 비용을 치를 수 있다. 일정을 연기할 때 한 번 연기한 일정은 지킬 수 있는 기간을 확보해야 한다. 지연된 프로젝트의 납기를 연장할때에는 납기연장을 짧게 해야 한다는 압박을 받아 사막에서 신기루를 보는 것처럼 조금만 더하면 될 것 같은 착각을 할 수 있다.
- 품질목표를 낮춤
카노 모델의 매력적인 품질요소는 제공되지 않아도 고객의 불만을 초래하지 않기에 품질목표를 낮출 수 있는 대표적인 요인이다. 고객 입장에서 허용가능한 품질목표(예:성능)를 확인하고 납기를 위해 희생가능한 품질특성을 찾을 수 있지만 품질보다 납기가 중요한 경우는 흔치 않다. 품질목표를 낮추는 것은 바람직하지 않지만 절대적으로 중요한 출시일 준수를 위해서는 고려할 수 있다. 다만 출시 후 빠른 품질 안정화를 위한 계획은 수립하여야 한다.
- 범위축소
일정지연에 대해 가장 바람직한 대처방안이다. 출시일 지연은 상품개발팀의 사기를 꺾는 의사결정이기에 다소 힘들더라도 약속된 일정에 출시하는 것이 바람직하다. 품질을 희생할 수 도 없고, 인력을 추가해도 지연된 일정을 만회할 수 있다는 보장을 하기 힘들다.
상품관리자와 프로젝트 관리자는 현재까지 완료된 상품요구사항을 검토하여 고객관점에서 가치를 제공할 수 있는지 확인하여 출시범위를 결정해야 한다. 상품 요구사항의 우선순위를 제대로 검토하여 개발했다면 출시범위를 줄여도 고객에게 최소한의 가치를 제공할 가능성이 높다. 중요하지 않은 상품요구사항은 출시 이후에 반영할 수 있다.
② 생산성(실적일정의 속도)을 높여 지연된 일정을 만회하는 방법
일정지연이 이슈화되는 프로젝트 후반부에 그때까지 프로젝트가 보여준 생산성보다 높은 생산성을 내기란 쉽지 않다. 이러한 상황을 <마음을 움직이는 프로젝트 관리, 2006>은 다음과 같이 이야기한다.
비행기와 마찬가지로 프로젝트 역시 하강 속도가 빨라지면 통제가 어려워집니다. 하강속도를 안정시키려면, 동시에 해야 할 작업이 너무 많기 때문입니다. 활주로에 접근하다가 착륙지점이 맞지 않다는 사실을 깨닫는다면, 항로를 변경해서 재착륙을 시도할 수 있습니다. (중략) 제정신이 있는 조종사라면 아주 주의 깊고 꼼꼼히 계획해서 착륙을 시도할 겁니다. 이와 유사하게 제정신이 있는 프로젝트 관리자라면 동일한 태도를 취해야 합니다. 날짜를 옮길 수 없다면, 좀 더 초기에 착륙계획을 시작해야 합니다. 후반부에 남는 버그(누구 책임이라고 구분하기 어려운 천덕꾸러기 버그)는 복잡하고 시간이 많이 걸립니다.
- 인력을 추가하거나 우수인력으로 교체
자원의 양을 늘리거나 자원의 질을 높여 일정을 당기는 기법을 의미한다. 우수인력으로 교체하는 경우는 대부분 생산성은 높아지지만, 자원을 추가하는 것은 유의해야 한다. 소프트웨어 공학의 고전인 프레드릭 브룩스( Frederick Brooks)의 《맨먼스 미신》에서 인력추가와 기간의 관계를 아래 그림과 같이 설명하고 있다.
• 투입 자원에 비례하여 기간단축
토목 프로젝트에서 땅을 파는 것과 같이 상호 의존성이 없는 대단위 작업 수행시 인력을 추가하면 그에 비례하여 일정은 단축된다.
• 업무를 분할할 수 없어 자원추가의 효과가 없음
드라마 집필과 같이 한 사람이 작업할 수밖에 없는 일은 인력을 추가하여도 일정이 변함없다.
• 자원투입이 기간단축에 제한된 효과가 있음
제한된 지역의 작업에 노동근로자를 추가하거나, 인력이 부족한 일반 프로젝트에서는 인력을 추가한 만큼은 아니라도 일정단축의 효과가 있다. 인력을 추가하는 만큼 일정이 단축되지 않는 이유는 수확체감의 법칙(law of diminishing returns) 때문이다. 수확체감의 법칙은 투입물이 증가하는 것보다 결과물의 증가가 낮아진다는 이론이다. 인력의 추가투입시 수확체감의 법칙이 적용되는 이유는 다음과 같다.
∙ 인원수가 많을수록 의사소통 비용이 증가
∙ 지금까지 수행했던 프로젝트 지식을 설명하고 교육하기 위한 시간 필요
∙ 한정된 작업장소에는 인원을 추가할수록 생산성은 낮아짐
∙ 여러 역할별 자원을 필요로 할 때 특정 자원의 부족이 전체 자원의 생산성을 결정 (예: 상품기획, UX 인력의 증가 없이 개발자만 증가하는 경우)
• 프로젝트 후반부의 인력 추가는 일정을 지연시킬 수 있음
프로젝트 후반부에 일정만회를 위해 추가인력을 투입하는 경우가 많은데, 뚜렷한 전략 없이 검증되지 않은 인력을 투입하면 팀원들 모두가 바쁘긴 하지만 프로젝트 방향이 분산되어 원하는 방향으로 프로젝트가 진행하지 않거나 진행 속도가 더뎌진다. 인력이 부족한 상황도 문제이지만 프로젝트 관리체계나 전략이 부실한 상황에서 인력만 추가 투입하여 프로젝트를 끝내려는 것은 위험하다.
브룩스는 같은 책에서 일정 지연 시 인력 투입 여부를 신중하게 결정하라고 하면서 다음과 같이 이야기하고 있다.
일정이 공전되고 있다는 것을 깨달을 때, 뻔한 대응방법은 그저 인력을 더 많이 투입하는 것이다. 이는 마치 불에 기름을 붓듯이 상황을 더욱 그것도 아주 심하게 악화시킬 뿐이다. 기름이 많으면 불은 더욱 거세게 타오른다.
- 작업병행 (Fast tracking)
작업병행은 작업의 수행순서를 조정해서 두 가지 이상의 활동을 병행수행하는 개념이다. A작업 완료후 B작업 착수를 계획했지만, A와 B를 병행 추진한다면 전체 작업기간은 줄어들 것이다. 작업병행은 기간을 단축할 수 있지만, 재작업으로 인해 기간이 오히려 늘어날 위험을 내포하고 있다.
- 기술·프로세스 변경
프로젝트가 자주 지연되면 엔지니어링 기술 또는 프로젝트 수행 프로세스를 변경할 수 있다. 일정지연의 위험을 최소화하기 위해 애자일 방법론을 적용하는 것이 대표적인 예이다. 프로젝트 수행 도중 기술이나 프로세스를 변경하는 것은 많은 부작용을 초래하기에 신중하게 결정해야 한다.
https://brunch.co.kr/@kbhpmp/160