위험 관리 (프로젝트 성공률 1% 높이기)

프로젝트의 위험

위험! 위험은 장기적으로 미래의 어느 순간에 나쁜 영향이나 위험한 순간이 발생할 수 있다는, 즉 발생할 수도 안 할 수도 있는 사건을 의미한다. 다르게 이야기하면 위험은 프로젝트 목표에 불리하게 작용하여 손실을 초래하거나 유리하게 작용하여 이익을 초래할 수 있는 불확실한 사건 및 상황을 말한다. 이러한 위험은 본질적으로 불확실성을 내포하고 있으며 위험의 가장 핵심적인 개념이다. 만약 불확실하지 않고 확실하다면 이것은 위험이 아니라 문제라고 해야 한다.
 
그래서 위험은 예방하는 것이고 문제는 해결하는 것이다.
 
이런 위험은 보통 3가지 요소로 구성되는데 첫째는 발생할 수도 발생하지 않을 수도 있는 특정 어느 사건(Event), 둘째는 그 사건이 실제로 일어날 확률(Probability), 셋째는 그 사건이 실제로 일어났을 경우 프로젝트에 미칠 영향력(Impact)이다. 이 구성 요소들은 위험관리에서 관리되어야 할 중요한 핵심 요소이다.
 
 

프로젝트 위험 관리

앞선 위험과 더불어 위험관리란 프로젝트에 긍정적 혹은 부정적 영향을 미치는 위험 요인을 식별 및 분석하여 이에 대한 대응 방안을 수립하기 위한 체계적인 프로세스이다. 이는 긍정적 사건의 발생 가능성과 파급효과는 극대화하고 부정적인 사건의 영향력은 최소화하는 그 목적이 있다.
 
그렇다면 프로젝트를 수행하는 동안 언제 위험관리가 필요한가? 위험은 프로젝트 초반에 높고 후반으로 갈수록 낮아지게 마련이다. 이는 프로젝트 초기의 총체적 불확실성에 기인한 것으로 개념, 분석설계 및 구현단계를 거치는 시점에서 위험이 가장 높게 발생한다. 이와 더불어 영향도는 초반에는 적다가 후반으로 갈수록 높아지는 성향을 보이며 실행 및 종료 단계에서 그 영향도가 가장 높다. 이는 위험 사건이 발생하면서 영향이 계속 누적되기 때문이다.
 
 
그러므로 프로젝트 위험관리는 프로젝트가 진행되는 동안 지속해서 수행되어야 하며 PM은 위험평가와 지속적 업데이트를 보장하여야 한다. 프로젝트팀은 위험평가를 보고해야 하며 이 보고를 기초로 위험관리계획 또한 개발하여야 한다. 그러나 위험관리의 궁극적 책임은 프로젝트 주체가 지어야 하지만 각 부서에서의 위험은 해당 관리자에게 위임되며 프로젝트 위험은 PM에 위임된다.
 




 

위험관리 프로세스

위험관리 프로세스는 통상 위험관리계획, 위험식별, 위험분석, 위험 대응계획, 위험감시 및 통제의 단계를 갖는다.
 
✔️ 위험관리계획
: 위험관리 프로세스를 프로젝트에서 어떻게 수행할 것인가를 계획한다. 위험의 식별, 정성/정량분석, 대응계획, 모니터링 및 통제를 어떻게 수행할지 구체적으로 정의한다. 이를 위해 위험관리의 접근방법, 데이터 등을 세팅하며 위험의 평가와 통제는 프로젝트 성격, 진행 단계 및 활용 가능한 정보에 따라 상이하다.
 
✔️ 위험식별
: 프로젝트에 영향을 미칠 수 있는 요소를 결정하고 그 특징을 문서화한다. 여기에는 프로젝트와 관련한 이해당사자들이 같이 참여하여 식별한다. 소수에 의한 위험식별은 잘못될 가능성이 높기 때문에 프로젝트팀뿐만 아니라 고객이 함께 참여하는 것이 바람직하며 필요한 경우 해당 분야의 전문가를 참석시키는 것이 좋다.
 
✔️ 위험분석
: 프로젝트 목표에 영향을 미치는 위험 요인의 우선순위를 정하기 위해 각 위험 및 상황에 대하여 분석을 수행, 위험의 확률과 결과를 측정한다. 위험 평가에 있어서는 위험 대응계획을 위한 위험의 규모, 영향력 등을 평가하고 모니터링의 결과로 의사결정을 위해서는 위험의 불확실성을 측정한다. 이때 많이 사용하는 기법은 전문가를 참여시키거나 위험을 등급화하고 의사결정나무분석, 기대 화폐가치(Expected Monetary Value), 몬테카를로 시뮬레이션, 민감도 분석 등이 있다.
 
✔️ 위험 대응계획
: 기회를 증진하고 프로젝트의 목표에 대한 위협을 감소시키기 위한 절차 및 기법을 개발한다. 즉, 위험을 줄이는 계획을 수립하는 것으로 세부적으로는 위험 발생의 가능성을 줄이는 방안과 위험이 발생하였을 때 영향력을 줄이는 방안이 있다. 위험은 부정적인 위험인 위협과 긍정적인 위험인 기회로 나뉘며 위험의 대응도 회피, 전달, 축소, 기회에 대응하는 활용, 공유, 증대, 수용이 있다.
 
이러한 위험 대응 계획 시 참고할 것은 위험은 제거하는 것이 아니며 모든 위험에 대응하는 것이 아니라는 것이다. 또한 위험은 상호 연계되어 있기 때문에 항시 유동적이고 변경이 된다. 위험은 살아있는 유기체라고 보는 것이 맞다.
 
✔️ 위험감시 및 통제
: 프로젝트 생명주기에 걸쳐 잔존 위험 사항을 감시하고 새로운 위험을 식별하며 위험감소계획을 실행하고 이에 대한 각각의 조치 효과를 평가한다. 이는 계획단계에서의 관리계획에 의해 생명주기 전체에 걸쳐 위험을 감시하고 각각의 대응 방안을 실행하고 추적한다. 프로젝트팀은 위험을 감시하고 식별된 위험에 대하여 비상계획을 수행할 수 있게 훈련되어야 하고 PM은 위험관리자를 별도 지정하여 권한을 위임하거나 직접 감리 감독을 해야 한다.
 
 
 
 
※ 항상 깨어 있으라
아무리 주의를 해도 위험은 항시 우리 주변에 도사리고 있다. 위험은 살아있고 그 모습을 쉽게 바꿀 수 있다. 하지만 위험 또한 그 존재의 이유가 있다. 다시 말해 명확한 원인에서 기인한 다형성을 갖는다고나 할까? 그래서 문제의 문제점처럼 위험의 이유를 꼭 찾아야 한다. 그러면 위험이 암세포처럼 퍼져나가는 것을 추적하고 잡을 수 있다. 굳이 쫒아다니지 않더라도 한눈에 위험을 볼 수 있는 것이다. 개안! 그러기 위해선 눈을 크게 뜨고 그 원인을 끝까지 찾아야 한다. 우리 모두 수사관이다.

외주 관리 (프로젝트 성공률 1% 높이기)

외주

외주(Outsourcing)는 프로젝트 조직이 해당 업무 또는 기술에 대한 노하우나 경험 등이 부족하거나 개발 인력 또는 예산 등이 부족하여 외부 제삼자에게 대상 업무의 일부 또는 일체를 위탁하여 처리하는 방식을 말한다. 이러한 외주를 고려하는 배경에는 자체 기술력이 미흡 또는 없을 때, 자체 개발 시 예산이 부족할 때, 여유가 없고 시간을 절약하고자 할 때 또 개발인력이 부족할 때 많이 활용한다.
 
근래 들어 외주를 심각히 고민하는 경우는 인력난 때문이다. 코로나 때 더 심화한 인력난은 인력이 당장 필요한 기업에는 재앙 같은 수준이다. 웬만한 기술력이 있는 개발자들은 대기업에서 모두 데려가고 시장엔 사람이 있으나 사람이 없는 상황. 그러다 보니 정규직도 직장을 그만두고 프리랜서로 뛰는 경우도 많이 발생하고 있다. 여기엔 급여가 가장 큰 이유가 되고 있으며 워라밸 등을 중요시하는 풍조도 한몫하고 있다.
 
 
그래서 외주가 더욱 중요해지고 이를 사업화하여 서비스하는 곳도 많아지고 있다. 특히나 사람을 구하기 힘들어지니 정규직이 아닌 외주계약 형태로 지속 운영 중인 곳도 많이 생겨나고 있다. 
 
 

외주계약 형태

외주를 주고자 하는 경우, 계약 시 위임을 할 것인지 파견을 할 것인지부터 프로젝트의 전체 또는 부분을 할당할 것인지 아니면 사람만 필요한 것인지도 사전에 확인하고 판단해야 한다. 그러기 위해서는 외주업체를 선정해야 하는데 크게 두 가지가 있다.
 
✔️ 정량적 기준: 초기 비용, 유지보수 비용, 비용 영향력 등을 전반적으로 고려
✔️ 정성적 기준: 조직 또는 프로젝트와의 호환성, 연계성, 업체의 이전 프로젝트 정보, 외주 관리 수행조직의 역량 고려
 
이러한 외주업체에 대한 평가 방법에도 Survey, 이전 프로젝트 리뷰, 품질시스템 등이 있으며 상황에 따라 적절하게 선택하여 평가한다. 이렇게 업체가 선정된다면 외주계약을 진행하게 된다. 이 과정에서 각자의 입장 차로 시일이 오래 소요될 수도 있고 예외 사항들도 나타날 수는 있으나 기본적인 계약 형태 안에서 보면 다음과 같다.
 
🚩고정가격계약
 : 규정된 공사/서비스에 대한 대가가 확정된 계약이다. 이는 사전에 정의된 공사/서비스에 대해서 고정가격을 정하여 진행하는 것으로 계약 단계에서 제품(공사/서비스)에 대한 정의가 명확한 경우 많이 사용된다. 그렇지 않다면 발주자는 원하는 결과물을 얻지 못한 위험성이 있으며 수주자는 발주자의 요구사항에 따라 추가적인 비용이 발생할 수 있는 위험성도 공존한다.
 
🚩실비정산계약
: 실제 발생한 비용에 대해 지불하는 계약이다. 실비는 보통 직접비와 간접비로 구성되는데 직접비는 이윤이 배제된 비용으로 프로젝트 수행을 위해 직접적으로 소요되는 인건비, 재료비, 경비 등이 여기에 포함된다. 간접비는 사업 수행을 위한 비용으로 수행 조직에 의해 프로젝트에 할당된 비용으로 보면 되며 대부분 경비성의 비용이 해당한다. 이 계약 방식은 고정가격계약 대비 계약 특유의 위험이 없으며 내용 변경 등에 대하여 발주자에게 최대한의 유연성을 제공할 수 있다.
 
🚩단가계약
: 사전에 약정된 단가에 의해 대금을 지급하는 계약이다. 단가가 고정되므로 원가 변동에 대한 위험은 수주자가 부담하는데 단가는 예상 수량을 기본으로 산출하기 때문에 실제 수량과의 오차가 일정 범위 이상으로 커지게 되는 경우 단가를 조정할 수 있도록 유연성을 가지고 계약함이 좋다.
 




 

문제점들

외주계약은 외주를 주기 이전에 내부고객을 대상으로 한 외주로서 생각해 볼 수도 있다. 그렇기 때문에 작업 범위와 목적물에 대한 명확한 정의, 항목들, 예산 및 변경 가능성과 빈도, 업무의 전문성과 표준화 정도를 충분히 따져서 계획을 세워봐야 한다. 그러고 나서 자체적인 역량과 상황에 따라 어떤 부분을 의뢰할 것인지 결정하고 이에 맞춰 업체 선정과 계약이 진행되어야 한다.
 
이렇듯 치밀한 계획과 명확한 목표를 가지고 외주계약이 되더라도 발주자와 수주자 사이에는 여러 문제로 간극이 생길 수 있는데 이는 해결해야 할 문제로 계약 전 상호 인식하고 협의해 나간다면 원만히 진행될 것이다.
 
♾️ 수/발주단계
: 무엇보다 상호 간 의사소통을 원활히 하는 데 장애가 있을 수 있어서 이에 따른 이해도가 부족할 경우가 많다. 또한 용역의 범위와 예산도 조정의 대상이 될 수 있으며 개발자의 능력이나 역할도 중요한 잣대가 되고 정해진 시간 내에 인력을 확보해야 하는 어려움도 있다. 하지만 계약까지의 일이다.
 
♾️ 용역수행단계
: 관리상 문제가 항시 있다. 특히 공정과 품질에 대한 이슈는 하나씩 해결해 가야 한다. 잘 진행되고 있는 업무도 이해 부족에 따른 예외 사항을 발견할 수 있으며 이는 의사소통의 폭을 넓혀 소통해야 한다. 예기치 않은 요구사항이 잦아질 수도 있고 뜻하지 않은 인력 변경이 발생하기도 한다. 이런 과정들이 가시성을 확보하기가 쉽지 않아 추가적인 비용 발생에 따른 껄끄러운 상황이 생길 수 있다.
 
♾️ 인수인계단계
: 용역수행의 결과이다. 납품되는 최종산출물에 대한 품질 문제가 실제 인도 단계에서 발생하는 경우도 많다. 이런 사항들은 납기를 못 맞추는 아주 심각한 상황을 초래하며 초과 비용, 소유권 시비 및 불충실한 문서나 인수인계 문제도 많다. 서로의 입장만 내세우다 보면 어느 한쪽의 입장만을 고려할 수도 없다.
 
내 조직 내에서의 일도 힘들지만 이를 외주로 주면서 생기는 문제는 더 많이 생길 수밖에 없다. 하지만 그만큼 서로 신경을 쓰고 업무에 충실하게 임한다면 문제가 아닌 성과로, 더 나아진 모습으로 함께할 수 있는 관계로 발전할 수 있다. 여기엔 업체선정까지의 철저한 과정, 그리고 의사 소통라인의 강화 및 지속적 모니터링과 관리가 병행되어야 함은 당연하다.
 
 
 
 
※ 정규직 싫어요!
시장에 막 들어온 신입사원들을 빼고는 어느 정도 경력과 실력 있는 인력들이 회사를 그만두는 사례가 많아지고 있다. 이런 그들에게 이야기를 들어보면 최우선적으론 급여이고 두 번째는 자신의 조건에 맞는 일자리를 찾을 수 있다는 것이다. 하지만 프리랜서도 마냥 좋은 것만은 아니다. 지속적인 일거리를 스스로 만들어야 하며 시장에서 살아남기 위해선 끊임없이 공부하고 기술력을 계속 보강, 확대하여야 한다. 남이 대신 해주던 일을 스스로 해야 하는 1인 기업가로서 자리매김하지 않으면 사실 어디서 일하던 똑같을 수밖에 없다. 즉 직장인이 아닌 기업가가 되어야 한다.

조직 (프로젝트 성공률 1% 높이기)

프로젝트의 주요 기능을 분류해보면 계획, 조직화, 인력확보, 지휘, 통제가 있다. 여기서 인적자원과 관련한 조직화 및 인력확보는 매우 중요한 관리 요소이다. 그간 다뤄온 계획은 조직 목표 달성을 위해 업무 과정을 미리 설계하는 것인데 이러한 일들을 실제 행하는 인력, 팀, 조직은 목표 달성을 위한 R&R과 함께 작업을 배치, 부여하고 필요한 인력을 확보하고 교육하는 일련의 과정들이다.
 
 

프로젝트 조직

조직이란 이해당사자들의 상하 구조를 정의하고 하부조직 간의 관계를 이해시키며 개인과 하부조직의 책임과 권한을 명확히 하는 데 그 목적을 가진다. 이 목적에 따라 여러 관리기능을 활성화하고 예산과 경비 개념을 강조하며 프로젝트 진행 중 중간결과가 자연스럽게 보고되어 경영관리층의 의견이 쉽게 반영될 수 있도록 편성해야 한다. 더불어 업무팀 내에서의 단결력과 조직력이 강화되도록 운영되어야 함은 말할 것도 없다. 이러한 조직은 프로젝트 상황, 기업조직구조, 문화, 방침 등에 따라 그 설계 구조를 달리하는데 보통 3가지 형태의 조직구조를 갖는다.
 
🚩내부 효율성 
 : 직능/기능조직이다. 피라미드 형태의 계층으로 구성되며 현재 가장 많이 사용되는 유형 중 하나다. 주된 장점은 단순하고 업무 범위가 명확하다. 전문성이 높고 부서 내 의사 소통체계가 간결하다. 부서 내 명확한 책임과 역할이 이다. 하지만 단점 또한 많은 구성인데 부서 간 갈등이 발생할 소지가 크고 외부 고객 대응이 힘들다. 사일로 현상으로 편협된 활동과 의사결정이 발생하고 전체 프로젝트를 책임지는 부서가 없어서 동기부여가 매우 약하다. 
 
🚩외부 효과성
: 프로젝트 조직이다. 프로젝트별로 조직이 구성되고 외부 환경이나 주어진 목표를 달성할 수 있는 최적의 형태이다. 이 조직의 주된 장점은 PM이 전체 프로젝트에 대한 권한을 쥐고 있으며 합류한 인력들에 대한 충성도가 높다. 팀원과 PM의 의사소통이 잘되고 과업 지향적이고 동질적 팀 분위기가 형성된다. 단점이라면 복수의 프로젝트가 운영될 때는 자원의 낭비가 발생하며 여러 노하우나 기술에 대한 개인 의존도가 높아 조직력에 문제가 생겼을 경우 대처가 어려운 편이다.
 
🚩내부 효율성 + 외부 효과성
: 상기 2가지 조직 형태의 장점을 모두 살린 조직, 일명 매트릭스 조직이다. 이 조직은 자원의 효율성을 극대화할 수 있고 수직/수평적 정보 공유가 가능하며 전체 프로젝트 상황을 한눈에 조망해 볼 수 있다. 다만 조직체계가 복잡하고 소속된 구성원들의 이해가 어려울 수 있다. 그만큼 관리 또한 복잡하고 의사결정의 리드타임도 길어질 수 있다. 조직을 목적에 맞게 자유롭게 세팅할 수 있으니 보통은 조직 내 능력 있는 인력들은 프로젝트에 참여시키지 않는 성향이 두드러진다.
 
 

프로젝트팀 관리

프로젝트는 영원한 조직이 아니고 목적 달성을 최우선으로 하기 때문에 그만큼 관리적 요소가 핵심적이다. 특히 PM의 주요한 역할 중 하나가 이 관리에 있다. PM은 팀원들과 밀접하게 움직이면서 그들의 개인적, 업무적 요구사항을 면밀히 파악하고 적절히 대응해야 할 필요가 있다. 그래서 어떤 팀원을 만나느냐도 중요하지만 어떤 PM을 만나느냐에 따라 프로젝트 자체의 향방이 달라질 수도 있다. PM은 조율과 리더십으로 팀원들에 대한 업무 의욕과 사기를 고취해야 한다.
 
다시 말해 프로젝트의 키는 PM이다. 이들의 주요 임무는 프로젝트 착수와 통제, 종료 등의 관리 활동으로 분류해 볼 수 있으며 각각의 활동들은 다음과 같다.
 
✔️ 착수: 프로젝트 파악, 팀원 선정, 프로젝트 환경구축, 공정계획 수립, 프로젝트 계획수립
✔️ 통제: 단계별 착수, 단계 진행, 완료
✔️ 종료: 종료 확인, 산출물 정리, 완료 보고
 
이러한 일들은 PM 개인적인 측면에선 매우 어려운 임무이다. 물론 조직의 보상이 있다고는 하나 책임과 권한, 리더십의 무게는 가볍지 않다. 그래서 PM의 능력에 대한 요구들이 있다. 보통은 인간적 능력을 바탕의 기술적인 능력과 관리적인 능력을 모두 요구받는다. 하지만 PM은 기술 전문가가 아니다. 물론 기술 기반의 관리자로서 그 역할을 가지고 갈 수도 있지만 일반적으로는 아니다. 그래서 그 상이함을 바로 인식하고 운영하지 않으면 수많은 갈등을 유발할 수 있다.
 
PM은 목표를 개발하지만, 기술자는 목표 성취가 우선이다. PM은 예산을 만들지만, 기술자는 예산을 맞춘다. PM은 관계성과 이해성을 내세운다면 기술자는 기술적 전문성을 앞세운다. PM은 의사소통이 우선이고 기술자는 지침 준수가 우선이다. PM은 다른 사람의 과업을 평가하지만, 기술자는 자신의 과업을 평가한다.
 




 

팀원 관리 프로세스

팀원, 인적자원에 대한 관리영역은 조직계획, 팀원 확보 및 팀 개발 단계로 구성된다.
 
♾️ 조직계획
: 조직계획은 프로젝트 역할, 책임, 보고 관계를 확인, 문서화 및 할당하는 것이다. 대부분의 프로젝트에서 조직계획은 프로젝트의 가장 초기 단계에 행해진다. 그래서 지속적인 상태를 확인하기 위해서 프로젝트 전 과정에서 정기적으로 검토되어야 하며 초기 조직이 더 이상 효과적이지 않다면 즉시 변경해야 한다. 즉, 조직은 살아 움직이는 생명체이기에 문제가 생긴다면 바로 치료하고 조처를 해야 할 대상이다.
 
♾️ 팀원 확보
: 팀원 확보는 필요한 인적자원(개인 또는 조직)을 프로젝트에 배치하고 작업하는 것이다. 하지만 대부분의 환경에서는 최적의 자원을 이용할 수 없는 경우가 많으므로 PM은 이용 가능한 자원이 프로젝트 요건을 충족할 수 있도록 주의를 기울이고 관리하여야 한다. 팀원은 다양한 경로를 통해 확보되며 그들의 과거 경험, 관심 영역 및 활용 가능성을 포괄적으로 평가하여 채용한다. 특히 팀원 간 관계, 책임과 역할을 기반한 상호 연계성을 고려한다.
 
♾️ 팀 개발
: 팀 개발은 개인으로서 기여하는 프로젝트 관련자들의 능력을 향상할 뿐만 아니라 팀으로 기능을 하는 팀의 능력을 향상하는 것 모두가 포함된다. 이러한 개인적 개발은 팀 개발의 토대가 되며 팀 개발은 프로젝트 목적을 충족시키기 위한 프로젝트의 능력에 중요한 요소가 된다. 팀 개발은 프로젝트 전반에 걸쳐 발생하고 다중적인 책임이 얽혀 움직일 경우가 많다. 그래서 이를 관리하는 PM의 책임이 프로젝트의 성공을 좌지우지할 수 있다.
 
 
 
 
※ 도망가자?!
좋든 싫든 프로젝트를 맡게 되면 만감이 교차한다. 도전할만한 일이 눈앞에 있고 더 멋지게 해내고 싶은 자신감이 뿜어져 나오다가도 이 힘든 일을 또 어찌해야 할꼬 하면서 종료일이 군 제대일만큼 멀게만 느껴지기도 한다. 일을 진행하면서 많은 우여곡절이 있지만 이 또한 사람이 하는 일이라 스트레스도 만만하지 않다. 그래서 사람에 따라 우울증에 걸리기도 하고 심한 압박감에 몸이 아프다 못해 쌩하니 도망(?)가는 사람을 보기도 했다. 가슴 아픈 일이지만 실제 업무에서 많이 벌어지는 일이고 가면 갈수록 잦아지는 것이 누굴 탓할 것은 아닌 것 같다. 정말  할 말은 많지만 말이다.

품질 (프로젝트 성공률 1% 높이기)

품질!

품질은 제품의 가치를 나타내는 척도로 제품/서비스가 그 목적을 만족시키는가의 여부를 결정하기 위한 평가의 대상이 되는 고유한 특성을 말한다. 이에 대한 정의들이 꽤 많은 편인데 IEEE에서는 주어진 요구사항을 만족시킬 수 있는 SW의 기능과 특성을, ISO/IEC 9126에서는 명시적이나 묵시적인 필요를 만족시키는 능력과 관련된 소프트웨어 특성 및 특징을 말한다. 
 
그래서 품질 또한 관리의 대상으로 정책을 가동하고 있으며 측정과 더불어 명확한 목표를 가지고 제시된다. 이러한 품질목표는 제품과 프로세스에 대한 의미가 모두 내포되어 있다. 제품 측면에서는 고객의 제품 품질 요구사항을 식별하고 프로세스 측면에서는 프로젝트에 적합한 수행 공정을 정의한다. 
 
 
🚩소프트웨어 품질
 :  소프트웨어 프로젝트에서는 수명주기에 따라 개발 초기 프로젝트의 특성과 품질 요구사항을 철저히 파악하여 품질목표를 설정하고, 개발단계에서는 이 충족 여부를 그리고 운영단계에서는 사용 중 품질을 점검하게 된다. 이는 개발 완료 상태에서의 평가만으로는 소프트웨어의 신뢰성과 안정성을 보장할 수 없고 개발이 완료된 상태에서의 개선은 개발에 투입된 것 이상의 시간과 비용이 발생하기 때문이다.
 
소프트웨어는 수명주기와 맞물려 품질을 다룬다. 구현단계에서는 디버깅을 통한 증명을, 상세설계/시험 단계에선 테스트를 통한 검증(Verification)을, 기본설계/통합테스트 단계에서는 품질관리를 통한 확인(Validation)을, 요구분석/인수테스트 단계에서는 품질보증을 통한 인증(Certification)을 한다.
 
이러한 활동에는 비용이 발생하기 마련이다. 이 품질비용은 사용자 요구사항 수준을 고려하여 적정 비용 선을 설정하며 크게 예방비용, 평가비용, 실패비용으로 분류하고 관리한다. 이를 통해 총 품질비용과 최적의 품질수준을 찾아낸다.
 
🚩프로세스 품질
:  제품에만 집중되어 있던 품질은 프로세스 관점에서 높은 품질 수준을 유지하기 위한 중요성을 인식하면서 관심이 높다. 제대로 된 프로세스는 높은 품질의 제품생산 확률이 증가한다는 것은 알기 때문이다. 이에 대한 연구는 CMM/i, SPICE, Bootstrap 기법 등 여러 가지며 프로세스 품질에서 중요한 개발 방법, 도구 적정 여부, 표준 적용 및 관리과정의 적정성을 상세히 다루고 있다.
 
♾️ ISO9000 시리즈: ISO9000-1(품질경영/품질보증 표준), ISO9001(설계/개발/생산/서비스 품질보증), ISO9002(생산/설치 품질보증), ISO9003(최종 검사/시험 품질보증)
 
♾️ ISO/IEC 12207: 소프트웨어 생명주기 내 품질 활동을 5가지 기본 프로세스와 8가지 지원프로세스, 4가지 조직 프로세스로 구성
♾️ CMM/i: 소프트웨어 프로세스 실행 수준을 성숙시키기 위한 능력 심사와 결과에 따른 프로세스 개선 도구로 활용하며 초기 – 관리 – 정의 – 정량적 관리 – 최적화 5단계로 성숙도를 관리
♾️ ISO/ICE 15504(SPICE): ISO9000에서 프로세스 개선 활동과 성숙도 기반의 평가지침을 보완하기 위해 개발
 
🚩프로덕트 품질
: 구현된 제품의 품질로 소프트웨어 제품의 품질이 기술되고 평가될 때 적용되는 속성과 품질을 나타내는 변수들을 품질특성이라고 한다. 이를 다루기 위한 표준은 ISO/IEC 9126, ISO/IEC 14598에서 자세히 다룬다.
 




 

품질관리 프로세스

품질관리 프로세스는 품질계획 프로세스, 품질보증(QA) 프로세스, 품질통제(QC) 프로세스로 구성되며 품질시스템에서 이러한 프로세스를 거쳐 품질정책, 목표, 책임 그리고 그것의 구현을 결정을 총괄하는 관리기능 활동이다.
 
🚩품질 계획
 : 품질 표준이 프로젝트에 적절한지 식별하고 그것을 어떻게 만족시켜야 하는지를 결정한다. 이는 프로젝트 계획에서 매우 중요한 단계이며 프로젝트 계획의 다른 활동들과 병행되어 정기적으로 진행한다. 
 
🚩품질보증
: 프로젝트의 프로세스 및 산출물에 대해 검증, 확인, 검토, 감리 및 품질보증 활동을 개선하여 프로젝트 요구사항을 충족하도록 관리한다. 이는 프로젝트 품질 표준을 충족한다는 확신을 고객에게 제공하기 위해 품질시스템에서 정의된 체계적인 품질보증 활동을 하기 위함이다. 
 
🚩품질통제
:  프로젝트 작업 결과가 품질 표준에 부합하기 위해 작업 결과물이 품질 표준에 적합한지를 감시하고 불만족스러운 결과에 대해서는 원인을 제거하는 방법을 제시한다. 이때 쓰이는 도구나 기술은 보통 inspection, Pareto diagram, 표본추출검사, 원인 결과분석 등이 있다.
 
 

CMMI(Capability Maturity Model Integration)

CMMI는 2000년 미국 국방성의 지원으로 산업계와 정부, 카네기멜론대학의 소프트웨어공학 연구소(SEI)가 공동으로 개발한 CMM의 후속 모델이다. 이는 CMM의 종류가 너무 많이 생긴 문제점을 개선하기 위해 개발되었는데 여러 입장에서 각각의 모델별로 별개 적용하는 것이 아닌 전체 관점에서 적용하기 위한 툴로 보면 된다. 즉, 기존 CMM이 소프트웨어 개발모델에 한정된 것과 달리 시스템과 소프트웨어 영역을 통합하여 기업의 프로세스 개선 활동을 광범위하게 지원하는 것이 주된 특징이다. 
 
CMMI는 모델이다. 이것은 과정이 아니며 소프트웨어 개발 및 시스템 엔지니어링에서 사용 중인 것으로 입증된 일련의 조직 동작을 제공한다. 이런 방법에 모델을 사용하는 이유는 프로세스 개선 작업에는 조직 작동 방식, 필요한 기능 및 해당 기능이 상호 작용하는 방식이 필요하며 모델은 이를 충족하고 지원할 수 있기 때문이다. 이러한 모델을 사용할 때 이점이라면 의사소통에 도움이 되는 공통 프레임워크 및 언어를 제공하는 것이 가장 크다 할 수 있고 합의된 표준 제공으로 여러 불일치를 해결하는 데 도움을 줄 수 있기 때문이다.
 
 
 
 
※ 품질 책임!
얼마 전 복지시스템을 신규시스템인 차세대 사회보장 정보시스템 “행복e음”으로 교체하면서 발생한 오류로 여러 유관기관의 업무가 마비된 사건이 있었다. 그 실상이 낱낱이 밝혀지며 특정 누구 한 사람의 잘못이 아닌 이 프로젝트 참여한, 정부를 비롯한 모든 이해당사자의 안일함과 무책임함에, 한마디로 총체적 난국인 상황에 모두가 말을 잃었다. 과연 이러한 저품질 산출물은 어떻게 만들어졌고 왜 오픈을 강행했던 것인가? 정말 아무도 이 품질 상태를 보지 못한 것이었을까? 

의사소통 (프로젝트 성공률 1% 높이기)

의사소통의 관리는 프로젝트 정보가 시의적절하고 적정한 생성, 수집, 분리, 저장, 배분 등을 위해 필요한 프로세스들의 집합이다. 이를 통해 프로젝트와 관련된 이해당사자들이 필요로 하는 정보와 의사 교환을 할 수 있다. 우리가 진행하는 프로젝트에는 수많은 자원이 투입되는데 일하기 위한 가장 중요한 자원은 사람이다. 이 사람들은 출신도 학력도 성별도 취향도 성격도 모두 제각각이기에 이들 간의 의사소통이 미흡하거나 부재할 경우 우리가 생각할 수 있는 모든 재앙이 현실이 될 수 있다.
 
 

의사소통

의사소통? 그거 누구나 다 아는 거지. 意思疏通. 의사소통은 크게 이야기하여 의미 있는 정보를 전달하는 과정이라고 할 수 있으며 두 명 이상의 사람 사이에 구두나 여러 방법으로 의사나 감정을 전달하고 반응하며 상호 간의 의미를 추론하는 과정들을 말한다. 이런 의사소통의 방법들은 워낙 다양하고 눈에 보이고 보이지 않는 것들이 섞여 있는데 프로젝트에서는 보다 명시적이고 명확한 소통 방법이 필요하다. 즉, 중요한 것은 여러 이해당사자의 프로젝트 정보요구를 식별하는 것이다.
 
 

의사소통 관리

프로젝트 내 의사소통에서 가장 중요한 것은 다시 이야기하자면 이해당사자들의 프로젝트 정보 요구사항을 식별하는 것이다. 그래서 의사소통 관리계획은 프로젝트 관련 조직이나 개인에게 일관성 있게 정보가 전달되어야 하며 이를 통해 의사결정이 올바르게 이뤄지도록 해야 한다.
 
이러한 의사소통 관리계획 시에는 
🚩 어떤 정보가 언제 수집되어야 하는가
🚩 누가 이 정보를 접수할 것인가
🚩 수집된 정보의 취합, 저장에는 어떠한 방법을 사용할 것인가
🚩 보고는 누가 누구에게 하는가
🚩 보고체계는 어떻게 정의할 것인가
🚩모든 보고 단계별 정보의 배포 주기는 어떻게 결정할 것인가
등을 깊이 있게 고려해야 한다. 이를 위해서 여러 문서양식, 템플릿 및 시스템을 적극적으로 사용하면 의사소통의 부가적인 업무를 줄이며 이해관계자별로 상이한 형태들을 하나로 통일시킬 수 있고 필요시 자료들을 선별하여 공유하는 등 시간과 비용을 획기적으로 개선할 수 있다. 그래서 이러한 관리에는 시스템을 최대한 활용해서 운영한다.
 
 

의사소통 종류와 프로세스

프로젝트에서 의사소통의 종류에는 몇 가지가 있다.
 
✔️ 회의: 이해당사자들 간의 상호 작용과 이해를 명확화한다. 사전 준비와 마무리가 필요하고 회의를 잘 끌어내 갈 퍼실리테이터(회의 구성원 간 상호작용을 촉진하여 목적을 달성하도록 돕는 전문가)의 도움을 받아 효율적인 관리를 통해 시간과 비용의 낭비를 줄여야 한다.
✔️ 보고: 이슈, 문제점 및 여러 상황을 주기/비주기적으로 알릴 필요가 있을 시 진행한다. 보고를 위해서는 사안의 근거가 필요하고 충분한 정보를 바탕으로 보고받는 주체에 따라 차등적인 내용이 필요하다. 
 
✔️ 발표: 공식적인 장소에서 여러 이해당사자에게 문서화된 시청각 자료를 활용하여 발표자의 설명과 함께 정보를 전달하는 것이다. 다만 일방적인 정보전달이 될 수 있으며 청자가 이 정보를 제대로 이해했는지는 파악하기 어렵다.
✔️ 시스템: 이메일, 메신저, 협업툴 등을 활용한 공식/비공식적 방법으로 시공간의 제약 없이 의사소통을 할 수 있는 훌륭한 도구이다.
✔️ 비공식적 접촉: 전화, 방문 등 열린 의사소통을 위한 자유로운 환경을 조성하는 방법이다. 다만 개인적이고 공식화하지 않는 접촉은 공식적인 의사소통 채널을 무너뜨릴 수 있어 조심하여야 한다.
 
그리고 의사소통의 프로세스는 다음과 같다.
 
1️⃣ 계획 수립: 프로젝트 이해당사자의 정보 및 의사소통 요구 결정, 즉 누가 어떤 정보를, 언제 필요로 하고 어떻게 전달할 것인가에 대한 결정 단계로 안건이 될 요구사항을 문서로 정리한다.
2️⃣ 정보 배포: 필요 정보를 적시에 프로젝트 이해당사자들이 활용할 수 있도록 공유하는 단계로 의사 소통계획에 대한 문건을 전달한다. 이는 의사소통 이전에 전달이 되어야 한다.
 
3️⃣ 성과 보고: 업무 수행과 관련한 정보를 수집, 배포하는 것으로 상태 보고, 진도 측정 및 예측이 포함된다.
4️⃣ 의사소통 종료: 단계 또는 프로젝트 완성을 공식화하기 위해 정보 발생, 수집, 배포하는 것으로 이해당사자들의 요구사항을 만족시키고 이슈를 해결하기 위해 의사소통을 관리하는 것이다.
 




 

의사소통 양식들

회의는 되도록 짧게 하라고 한다. 더 나아가선 회의가 필요 없도록 하자고는 하지만 현실적으로 어렵다. 그러다 보니 많은 회의가 실패로 끝나는데 그 특징들을 보면 회의만 하고 논의는 없고, 논의는 하지만 결정되는 것이 없으며 결정했지만 실행이 없어서 결국 아무도 책임을 지지 않는 것(남 탓!)이다. 그래서 앞선 프로세스와 종류를 적절히 선택하고 관리한다면 매우 효과적이고 효율적인 의사소통을 할 수 있다. (기록을 남겨야 한다.)
 
♾️ 회의록: 목적과 개요, 시간, 자료 숙지, 의사결정 위주의 정리, 쟁점에 대한 독립적 회의, wrap-up 등 정리와 함께 회람하여 오해가 없도록 한다.
♾️ 보고서: 정기 보고를 기반으로 일간/주간/월간/분기별 등 공식 보고를 하며 기타 비정기적인 수시 보고 등을 하는데 필요한 프로젝트에 적합한 양식을 개발, 사용한다.
♾️ 공문: 조직 간 공식적 문서로 프로젝트 진행단계별로 필요시 처리한다. 다만 잦은 공문은 피로감을 높일 뿐이며 이는 프로젝트를 중심의 조직 간 이해와 배려로 업무 순조롭게 진행하는 노력이 필요하다.
 
 
 
 
※ 커피 한잔, 담배 한 개비
일은 힘들다. 하지만 일보다 더 힘든 건 사람이다. 특히나 프로젝트에서 만나는 사람은 동료 아니면 적이고 필요하다면 적과의 동침도 서슴없이 해야 할 때가 있다. 내 마음같지 않다. 이럴 때는 사실 비공식적 접촉이 사람 사이의 기름칠을 하는데 좋은 방법이다. 요즘은 술도 별로 마시지도 않고 업무가 끝나면 바로 퇴근해버리는 일상들이지만 업무시간에서도 방해받지 않는 범위 내에서 커피 한잔, 담배 한 개비(담배도 잘 안핀다. 다른 좋은 것이 뭐가 있을까?)에 많은 업무가 실마리를 찾을 수도 있어 무조건 좋다 나쁘다는 것으로 판단하기엔 무리가 있다. 그러니 무조건 배척하기보다는 적당하게 활용해보면 어떨지.

예산 계획 (프로젝트 성공률 1% 높이기)

프로젝트 관리계획을 개발하는 데 있어 큰 3가지가 일정, 범위 및 예산이 있다. 이 3가지가 긴밀하고 유기적으로 연계되어 결국엔 성공적인 관리계획을 수립하게 된다. 앞선 일정, 범위와 더불어 이번에는 예산에 대해서 살펴보자.
 
 

예산관리

승인된 예산 범위 내에서 프로젝트를 완료하기 위한 활동. 앞서 이야기한 일정, 범위와의 관계를 보자면, 만약 일정을 앞당기려면 범위를 줄이거나 원가를 높여야 하고, 원가를 줄이려면 범위를 줄이거나 일정을 늘려야 한다. 특히 돈과 관련한 특성상 모두 다 중요하지만 예산만큼 민감한 사안도 없다. 하지만 이 3가지가 삼위일체처럼 움직여야 함은 변함없다. 이렇듯 중요한 예산관리는 일반적으로 예산을 산정하고 편성하여 통제하는 3단계를 거치는 다음을 보자.
 
✔️ 예산산정: 프로젝트 활동에 소요되는 자원의 원가를 예측한다.
✔️ 예산편성: 프로젝트 전체적인 원가의 예측치를 각각의 활동에 배정한다.
✔️ 예산통제: 편성된 예산, Cost baseline을 기준으로 예산이 적절한 시기에 제대로 쓰였는지를 감시한다.
 
 

예산 산정

비용은 단위 공정별로 원가 산정과 이를 바탕으로 총원가를 산정한다. 이를 통해 추정원가 요약 및 상세로 공유되며 추정원가는 단위를 통일해야 하고 프로젝트 진행상 변경을 고려하여 모든 사항을 상세하게 구별하고 기술하는 것이 중요하다. 이러한 예산산정의 방법들이다. 
 
🚩Top down
: 전문적 결정의 한 형태로 유사 추정이라고도 한다. 즉, 앞서 수행된 다양한 형태의 유사 프로젝트의 실제 비용을 확인하고 이를 향후 원가 추정의 근거로 쓰는 방법이다. 이는 원가 추정 시 필요정보의 양이 제한적이고 명확하지 않을 때 사용하며 이미 수행 프로젝트의 유사도와 추정인력의 전문성에 따라 신뢰도가 높아진다. 다만 이의 수행 원가는 적게 소요되지만 다른 방법들에 비해 정확도가 떨어질 수 있으며 활동별 원가를 추정하기가 어려워진다.
 
🚩Bottom up
: 프로젝트 개별 작업목록 각각의 비용을 합산하여 프로젝트 총원가를 추정하는 방법이다. 이 방법의 정확성은 개별작업목록의 규모에 따라 다르며 작업목록의 크기가 작을수록 원가의 정확성이 높아진다.
 
🚩Parametric
: 모수 기법으로 함수 모델을 근간으로 정량적 통계를 사용하여 비용, 시간, 자원 등 프로젝트를 완료하는 데 필요한 예상 자원의 양을 계산한다. PM은 추정치 계산 시 과거 데이터 또는 프로젝트를 기반으로 변수 또는 특성을 사용하는데 그 정확성은 모델링 도출에 사용되는 기초 데이터가 정확할수록, 모델에서 사용되는 변수가 측정 가능할수록, 프로젝트 작업 규모에 상관없이 모든 것이 관리되고 측정 가능할수록 높아지기 마련이다.
 
이러한 기법을 바탕으로 예산 산정이 된다면 조직과 프로젝트 차원에서 예산을 집행한다. 즉, 액수가 큰 프로젝트는 기업의 자본 유동성이나 재무 상태에 큰 영향을 끼칠 수 있기 때문에 지출 시기를 잘 관리하여야 한다. 또 이런 시기가 계획과 어긋난 경우 즉각 대처할 수 있는 모니터링 시스템을 가동해야 한다. 여기엔 기성고(Earned Value) 등의 여러 측정치를 주기적으로 관리한 데이터들이 기반이 된다.
 




 

원가 

PM이 하는 일은 워낙 많기도 하지만 그중에서 이 원가를 책임지는 중차대한 역할을 가지고 있다. 즉, 승인된 예산 내에서 프로젝트를 어떻게 잘 끝마칠 수 있을까 하는 고민의 시작은 원가와 밀접하다. 그런데 사람이 주 자원인 소프트웨어 개발 같은 경우 원가를 무시하거나 중요하게 생각하지 않는 경향이 있다. 인건비만 알면 된다는 입장인데 이 또한 그리 간단한 것이 아니다. 여하튼 프로젝트 원가와 조직 원가의 상관관계를 잘 이해하여야 하며 모든 내용을 숙지하고 활용해야 한다.
 
프로젝트 원가는 크게 인건비, 재료비, 경비로 나뉜다.
 
✔️ 인건비: 프로젝트에 참여하는 인력에게 지출되는 비용이다. 대부분 특정 기간에 지급하기로 한 금액과 실제 투입된 기간에 따라 산정한다. 다양한 인력의 상황에 여러 변수가 있을 시에는 국가/정부 기관에서 배포되는 노임단가를 기준으로 조정하기도 한다.
✔️ 재료비: 기자재, 장비 도입 및 구매에 사용되는 비용이다. 대상이 무언가에 따라 직/간접재료비로 구분하기도 하며 검수 기준에 맞춰 계획하고 집행한다. 비목은 산업 및 사업 등에 따라 다소 상이하게 부를 수도 있지만 큰 틀에서 이해하면 된다. (이 또한 가이드라인이 있으니 여기에 따르면 된다)
 
✔️ 경비: 프로젝트 원가 중 인건비와 재료비를 제외한 모든 금액을 말한다. 이는 업종이나 기업 회계규정 등에 따라 달라질 수 있다.
 
그러면 조직 차원에서의 원가는 어떤가? 조직을 구성하는 인력들, 즉 PM, 사업부, 경영자 및 투자자가 보는 원가는 모두 다를 수밖에 없다. PM은 직접비 중심으로, 사업부는 재무 관점의 판매비를, 경영자와 투자자는 영업이익과 경상이익을 중심으로 본다. 이 또한 프로젝트 보고 주기에 따라 관리되고 보고되며 의사결정에 매우 중요한 자료가 된다. 
 
 
 
 
※ 관리 PM? 개발 PM?
규모가 좀 있는 프로젝트에 들어가면 PM도 여러 종류가 있다. 물론 전문인력을 앉혀서 제대로 관리하는 것도 중요한데 그렇지 않은 프로젝트는 한 사람이 모든 것을 다해야 하는 경우가 다반사다. 그러다 보니 PM에 따라 각기 강점인 부분들을 제외하곤 나머지는 모자라거나 모르는 부분이 있을 수밖에 없다. 하지만 그렇다고 주저앉아 있을 수는 없다. 해내야 할 일을 어깨에 얹고 있는 이상 열심히 배우고 익히고 경험하는 수밖에. 뭔가 위로의 말을 기대했다면 미안하지만, 없다. 그냥 하는거다. 단! 도망가지 마라.

일정 계획 (프로젝트 성공률 1% 높이기)

일정 관리

일정 관리는 프로젝트가 납기 내 완료될 수 있도록 보증한다. 범위관리가 무엇에 관한 것이라면 일정 관리는 언제 어떻기에 관한 것이다. 그렇다면 누구나 다 아는 일정은 그 일정일까? 프로젝트에서 일정은 다양한 의미를 내포하는데 역할로 본다면 다음과 같다.
 
✔️ 프로젝트의 시작과 종료 시점, 상호관계 및 마일스톤의 설정
✔️ 프로젝트 외부에서 발생하는 활동과의 조율
✔️ 프로젝트 내부의 활동 간 연관관계 설정
✔️ 수행 기간 동안 활동별 자원할당과 진행
✔️ 주요 자원 요소들 및 장애 파악
✔️ 위험 요소 파악
 
그러면 일정도 기준이 있을까? 있다. 일정을 작성할 때는 수행 기간과 우선순위를 따진다. 여기엔 시작 일자와 완료 일자를 기준으로 잡는 방법 두 가지가 있다.
 
✔️ 시작 일자 기준: 프로젝트 시작을 명시하고 활동 기간과 연관관계에 따라 종료 일자를 도출
✔️ 완료 일자 기준: 프로젝트 종료를 명시하고 활동 기간과 연관관계에 따라 시작 일자를 도출
 
이렇듯 프로젝트 일정은 복잡해 보일 수 있으나 정해진 프로세스가 있으며 업무 범위를 명확히 하여 프로젝트를 수립하고 통제함을 기본으로 한다. 이를 통해 범위와 원가를 잡을 수 있는데 그 구성엔 활동을 정의하고 순서를 배열하며 각각 자원과 기간을 산정하여 일정을 작성하는 흐름이다.
 
 

Critical Path

Critical Path(주요공정)는 임계경로 분석법(CPM:Critical Path Method)으로 불리는 프로젝트 관리계획 및 통제 기법으로 많이 사용된다. 이는 일련의 프로젝트 활동 일정을 짜기 위한 수학적인 알고리즘으로 시작부터 끝까지 프로젝트를 완수하는 데 드는 시간을 측정하고 가장 긴 의존 활동을 식별하여 결정한다. 이 방법은 1956년부터 1958년까지 미국 듀퐁(Dupont)사가 건설계획을 추진하면서 개발하였고 이 시기 즈음하여 미국 GM과 해군이 PERT(Program Evaluation and Review Technique)라는 것을 만들었다. 이것들은 모든 형태의 프로젝트, 예를 들어 건축, 소프트웨어 개발, 제품 개발, 각종 공학 및 연구 프로젝트에 널리 쓰이고 있다.
 
그래서 흔히 들어본 PERT/CPM이 바로 이것이다. PERT는 계획단계에서 공사 기간 단축이 요구되는 때에 비관치, 낙관치, 실제 가능치를 고려하여 공수를 산정한다. CPM은 최소의 비용 증가로 공사 기간을 단축하려 하는 방법으로 각 작업의 시간당 비용증가율을 비교하여 산정하는데 PERT는 활동 수행 기간 추정에 확률 개념을 반영한다는 측면에서 CPM과 구분된다.
 

다시 말해 CPM은 프로젝트 계획, 리소스 할당 및 작업 일정 계획에 대한 통찰력을 제공하며 이를 사용해야 할 이유는 몇 가지가 있다.

🚩 향후 계획 개선: 현재 진행상태와 기대치를 비교, 현재 프로젝트의 데이터를 추후 프로젝트 계획에 반영한다. 
🚩 효과적 자원관리: PM이 작업 우선순위를 정하는 데 도움이 되고 자원을 적재적소에 배치하는 법을 지원한다.  
🚩 업무 지연 방지: 네트워크 다이어그램을 이용하여 프로젝트 종속성을 계획하여 일정을 계획한다.  

 
 

Critical Path

< Critical Path 예 >

 
Critical Path는 종속성이 중요한데 이는 활동 중 시작일과 종료일 사이의 관계를 말하여 활동 간 논리적 관계를 이야기한다. 이때 지연과 선행을 염두에 두고 작업을 하여 WBS 활동의 전후 관계를 살피고 네트워크 다이어그램을 작성한 뒤 연관관계를 파악하여 프로젝트 종료일과 여유시간을 찾아 공정을 마련한다.
 
✔️ 지연(lag)은 작업 종료 후 후행 작업을 기다리는 시간이다
✔️ 선행(lead)은 작업 종료 이전 후행 작업이 시작되어 두 작업이 중첩된 시간을 말한다.
✔️ Critical Path는 여유 시간이 없는 일련의 업무와 작업으로 프로젝트 납기일에 영향을 끼치는 활동들의 집합이다.
 

 

공수 산정

산정은 프로젝트팀원에 의해 이뤄져야 하며 실제 업무수행을 통해 시행착오를 거쳐야지만 체득할 수 있는 기술이다. 여기엔 여러 가지 방법들이 있는 대표적으로는 이전 유사한 프로젝트의 경험을 바탕으로 산정하거나 다수의 프로젝트 수행으로 구축된 DB나 방법론을 쓰기도 하고 PERT나 Function Point도 사용한다. 우리나라의 경우에는 한국소프트웨어산업협회에서 소프트웨어 사업 추진 시 SW 개발비 등에 대한 적정 대가를 산정하기 위한 기준으로서 “SW 사업 대가 산정 가이드”를 공표하니 이 자료를 자세히 참고해 보는 것도 업무 진행에 많은 도움을 받을 수 있다.
 
 

일정 관리 도구

도구들은 너무도 많아 일일이 나열하기도 뭐하다. 하지만 가장 기본이 되는 두 가지 정도만 챙겨도 도구 사용엔 별다른 문제가 없을 것이다.
 
🚩마일스톤 : 목표를 달성하기 위해 중간중간 발생하는 주요한 이벤트로 프로젝트 기간 중 주요 달성 및 완료의 표식이며 주요 산출물의 달성일을 말한다. 마일스톤은 할당된 기간이 없고 일정표상에 비어있는 다이아몬드(◇)로 기술하며 프로젝트 상 중요한 일자에 stakeholder와의 의사소통에 중요하게 쓰인다.
 
🚩간트차트 : 일명 Bar 차트로 진척 보고나 통제용으로 주로 쓰인다. 전체 프로젝트의 시작과 종료 기간을 한눈에 볼 수 있고 모든 활동이 기술되어 있어서 프로젝트 내 진척도에 대한 확인 및 의사소통에 주로 사용된다. 작성은 간단하게는 엑셀과 함께 전문화된 많은 툴이 있어 프로젝트 맞는 것을 골라 적극적으로 사용하는 것이 좋다.
 
 
 
 
※ 사용하실 겁니까?
도구가 없었을 땐 손으로 그렸지만, 지금은 그럴 필요가 전혀 없다. 다만 도입보다도 중요한 것은 경영층과 관리자층의 의지이다. 막상 도입은 했는데 쳐다보지도 않는다면 아래에선 죽어라 하고 헛일만 하는 것일 뿐. 이럴 바에 개발에라도 더 신경 쓰길 원하는 것이 그들의 마음이다. 현실과 괴리되어 흘러가는 프로젝트는 죽은 것이나 다름없다. 괜스레 사람들 빠져나간다고 뭐라 말고 나부터 돌아보자.

범위 계획 (프로젝트 성공률 1% 높이기)

“아니 그때 다 이야기된 것 아니었나? 뭐가 이렇게 자꾸 나와?”
 
 

프로젝트 범위

무슨 일이든 정해진 범위가 있다. 해야 할 일이 무엇이고 어디까지 해야 한다는, 각각의 일들이 기간을 가지고 있고 우선순위가 있지만 이 모두는 한 박스에 넣어진다. 넘칠 것 같으면 다른 박스에, 아니라면 더 작은 박스로 옮길 수도 있다. 이렇듯 일에 맞는, 범위에 맞는 일을 정해놓지 않으면 서로 얼굴 붉힐 일만 남을 뿐이다.
 
그럼 프로젝트에서 범위는 뭘까? 범위는 프로젝트가 고객에게 제공해야 할 서비스의 집합체로 계획을 수립하고 통제하는 대상이자 시작점이다. 이에 따라 계획의 적정성, 실현 가능성 및 구체성이 결정되고 범위가 변경된다고 하면 다른 영역들에 지대한 영향을 미친다. 예산이 모자를 수도 있고 투입인력이 탈출할 수 있으며 프로젝트 자체가 폐기될 수도 있는 중차대한 일이다.
 
프로젝트 범위는 그만큼 중요하다. 그래서 이의 관리를 위해 기본방침으로 잡는 것들이 있다. 첫째. 꼭 필요한 일들로 범위를 최소화하는 것이다. 총합으로서 또는 이를 구성하는 단계 내 범위를 최소화, 군집화하는 것이다. 둘째. 범위의 변경 또한 최소화한다. 범위가 변경되면 작업이 중단되거나 계획을 다시 수립해야 하고 많은 재작업이 발생할 수 있기 때문이다. 셋째. 불필요한 작업을 방지해야 한다. 특히 고객의 요구사항을 제대로 파악해야 하며 이를 통해서 고객의 지나친 요구사항들을 제어해야 하기 때문이다.
 
 

범위의 계획

범위 기술서가 우선 필요하다. 수많은 입력값을 토대로 작성한다. 입력값들은 프로젝트 착수 단계에서 고려된 계획과 제약사항들을 분석하여 의사결정과 이해관계를 정리하는데 중요한 단서가 된다. 이러한 일련의 일들은 PM이 주로 작성하고 여러 수행조직과 고객에게 프로젝트 범위에 대한 합의 기준, 의사소통 기준 및 프로젝트 종료 기준을 마련하는 목적을 갖는다.
 
여기서 범위 기술서는 WBS나 SOW와 차이점이 있다. SOW(Statement Of Work)는 보통 작업지시서, 작업 기술서 또는 시방서라 부르며 공급할 제품/서비스에 대한 상세한 설명을 담고 있다. WBS(Work Breakdown Structure)는 말 그대로 업무 분해 구조로 범위 기술서에 정의된 정보를 바탕으로 제품/서비스를 개발하는 과정에서 필요한 여러 단계의 작업 요소들을 상세하게 구성하고 조직화하는 것이다. 그래서 범위 기술서로 범위 기준을 설정하고 이 내용을 바탕으로 작업을 지시하며 이 작업을 수행하기 위해 범위를 정의하고 관리 틀을 만들어 운영한다고 보면 된다.
 
 

범위의 정의

프로젝트 범위를 한눈에 볼 수 있는 것이 뭐가 있을까? 앞서 이야기한 WBS가 이 범위를 산출물 중심으로 프로젝트 여러 요소를 군집화해 보여준다. WBS는 반복되는 분할로 더 작고 관리하게 편한 크기로 작업을 나눠 프로젝트 산출물을 체계화했다고 보면 된다. 이는 보통 PM과 프로젝트팀에서 작성하는데 이를 통해 프로젝트 전체를 조망하고 관리할 수 있는 매우 중요한 문서이다.
 
그래서 WBS는 외부적으로 PM과 고객, 내부적으로는 PM과 상위 관리자 간의 실질적 계약으로 볼 수 있으며 모든 계획의 근간이 된다. 그래서 정해진 업무 외 추가적인 요구사항이 나온다면 그 수용 여부에 대해서 고객을 설득할 수 있는 증거물로도 그 역할을 톡톡히 한다. 
 
 
WBS 작성은 범위 기술서를 바탕으로 한다. 목적을 염두에 두고 기능요구사항을 정의한 뒤 이의 달성을 위해 주요 액티비티를 정의한다. 이후 관리를 용이하게 하고 누락을 없애기 위해 계층적 분할을 하며 조직화하고 군집화한다. 여기까지 되었다면 일정을 산출하고 원가와 연계시킬 수 있으며 진척도를 관리할 지표로 사용할 수 있다.
 




 

WBS (Work Breakdown Structure)

WBS의 핵심 구성요소에는 Work Package(작업패키지) 가 있다. 이는 측정 및 관리가 가능한 WBS 최하위 작업 요소라고 보면 된다. 즉 분할의 최소단위인데 보통 80시간(2주) 내의 기간을 가지게끔 분할 규모를 설정한다. 또한 유일한 ID로 관리하는데 이를 Code of Account라고 한다. 전체적으로 보면 프로젝트 – 단계(Phase) – 작업(Task) – 작업패키지가 그것이다. 산출물 또한 중요한데 이것은 액티비티의 결과로 만들어지며 최하위 작업패키지에 매핑한다.
 
그래서 작업패키지를 어떻게 잡는가가 관건인데 의 적정 수준은 크게 두 가지로 본다. 첫째. 너무 개괄적인 분해는 아닌지? 둘째. 너무 세밀한 분해는 아닌지? 이렇게 보면 어떻게 잡으라는 말인가 하고 의문이 들 수 있는데 이 역시나 경험이 필요하다. 어느 하나 똑같은 경우는 없으며 프로젝트마다 모두 다르기 때문에 많은 시도와 결과를 통해 적정한 규모로 만들어가는 노력이 필요하다. 다만 이를 평가하는 일종의 법칙이 있다.
 
 
하나는 1~10%의 법칙인데 전체 프로젝트 기간을 영업일 기준으로 산정하고 여기에 1%에서 10%의 범위로 규모를 나누는 것이다. 또 하나는 1보고 기간의 법칙이다. 이는 작업 지연을 최소화하기 위한 것으로 프로젝트 최소 감시 주기 이내로 작업을 분할하는 것이다. 예를 들어 주간 보고가 최소 감시 주기라 하면 이 이상을 벗어나는 작업은 마지막에 가서야 결과를 통보받을 수 있기 때문에 그 위험성이 증가할 수 있는 것이다.
 
 
 
 
※ WBS 만들기
요즘 툴들이 너무나도 좋아져서 기본적인 내용만으로도 작업이 가능하다. 하지만 말이 좋아 그렇지 WBS를 만드는 일은 만만하지 않다. 역시나 어디까지 할 일을 분할해야 하는가에 대한 고민은 머리를 빠지게 한다. 그래서 여기서도 MECE(Mutually Exclusive, Collectively Exhaustive)를 중요하게 쓸 수 있다. 중복됨 없이 하나라도 누락되지 않게끔 정리하고 80시간 이내로 자르며 이것이 최소 감시 주기를 벗어나지 않게만 해도 반은 성공이다. 여기까지도 힘 드는가? 그렇다면 동료와 같이 작성하자. 왜냐면 프로젝트는 나 혼자만 하는 것이 아니니까 말이다.

프로젝트 착수 (프로젝트 성공률 1% 높이기)

이제 시작이다!

프로젝트의 시작을 어디서부터냐고 물어보면 모두 제각각일 것이다. 왜냐면 처음 프로젝트를 기획한 단계부터 최종 계약이 성사되고 이후 수행을 위한 단계, 그리고 마무리까지 이해관계자가 모두 다 다르기 때문이다. 그간의 앞선 내용들에선 주로 기획부터 계약까지의 행정적 단계를 이야기했었고 여기의 참가자들은 현장의 관리자급 이상이 될 수 있다. 하지만 실제 프로젝트의 구성원으로 프로젝트를 끌어내 갈 현업의 입장에서는 이제부터가 진짜 프로젝트라고 볼 수 있다.
 
이제 프로젝트는 PM이 선임되고 필요한 인력들이 속속 합류하고 있다. 웬만한 규모 이상이라면 별도의 프로젝트 장소도 섭외가 되고 업무에 필요한 각종 장비도 마련된다. 몇 명 없고 비어있던 사무실에 활기가 돌고 눈에 띄게 바삐 움직이는 사람들과 손끝에 전달되는 타격감은 프로젝트의 긴장도를 슬슬 높여간다. 곧 일할 맛 나는 프로젝트 현장이 눈 앞에 펼쳐진다.
 
프로젝트라는 이름의 배는 모든 이들을 태우고 부두를 떠나고자 밧줄을 풀고 있다. 아직은 어수선하지만 들뜬 분위기를 다잡고 목표한 항구에 도달할 때까지 한마음 한뜻으로 나아가기 위해 선장은 리더십을 발휘한다. 굳이 형식을 따지자면 임무 수여와 같은 프로젝트 헌장을 만들곤 하지만 꼭 이런 형태가 아니더라도 프로젝트의 구심점을 잡아 프로젝트의 공식적인 출항을 다양한 형태로 기념한다. 같은 장소, 같은 시간 속에서 조직은 결속을 다져나간다.
 
※ 프로젝트 헌장: 프로젝트 사명서 형태로 볼 수 있다. 프로젝트의 목적과 목표, 범위, 산출물, 마일스톤을 크게 명시한다. 이를 통해 구성원과 고객의 프로젝트 이해도를 높이고 합의를 끌어내고 궁극적인 의사소통을 원활히 할 수 있는 근간을 마련한다. 특히 성과 측정 기준을 제시하여 거시적 관리 시점을 갖도록 한다.
 

 

프로젝트 관리계획

중요한 문서로 수립되는 단계이다. 관리계획에서 다루는 주요 내용은 프로젝트 전반에 걸쳐 세부 계획들을 정의, 준비, 통합, 조정하기 위한 필수적인 활동들이다. 그 면면을 보자면 중복/누락 업무 방지, 기간 준수, 예산운영, 품질 유지, 위험관리, 의사소통 기준과 방법, 용어/지표 정의 및 일관된 업무 활동 세팅 등이다. 당 문서는 단지 작성되는 것에만 그치지 않고 관리 프로세스를 통해 개정, 변경된다. 문서로만 존재하는 것이 아니라 이를 토대로 모든 활동을 진행하고 제어한다. 그만큼 중요하고 프로젝트와 같이 이 또한 생명주기를 가진다고도 볼 수 있다. 다음은 관리계획에 있어 주요한 구성 요소들이다.
 
🚩각종 산출물 집합
  • 프로젝트팀에서 선정한 프로젝트관리 프로세스
  • 단계별 산출물 (산출물이 꼭 문서 형태가 아닐 수도 있음) 
  • 프로세스 진행에 필요한 도구와 기법
  • 변경 사항 감시 및 통제 방법
  • 형상 관리
  • 이해당사자 간 의사소통 기법 및 방법
  • 성과평가 및 품질측정
  • 필요시 보조계획
 
🚩보조계획 (복잡도 증가)
  • 범위관리 계획
  • 프로젝트에 필요한 단계별 계획 (일정, 원가, 품질, 인력, 의사소통, 위험, 구매관리 등)
 
🚩기타
  • 마일스톤, 자원 현황관리, 기준선, 장애 관리대장 등
 
 

관리 도구 

PMIS(Project Management Information System)/PMS(Project Management System)라 불리는 도구들은 프로젝트가 존재하던 과거부터 있었고 그간의 개발 방법과 기술의 발전은 현시점에서 다양한 형태의 관리 솔루션들을 보여주고 있다. 이런 도구들은 주로 프로젝트 전반, 계획수립, 일정 관리, 진척 관리, 비용관리, 자원관리, 보고서 작성, 통계, 위험관리 및 의사소통 또는 이러한 여러 단계 중 특정 단계에 집중되어 있기도 하다. 그에 따라 다양한 회사에서 많은 솔루션을 선보이고 있어 이를 사용하는 입장에서 무엇을 선택해야 할지 난감한 경우가 많다. 특히나 근래엔 협업툴이 인기를 끌면서 접근법을 달리한 PMS의 형태를 띠기도 한다. 아래는 가트너에서 최근에 발표한 PMS 들인데 많기도 하다.
 

Best Project Management Software - 2023

< Best Project Management Software – 2023 >
 
이렇게 다양한 PMS 중 우리는 과연 무엇을 선택해야 하는가? 이 선택의 순간에 보통 2가지 관점으로 접근해 볼 수 있는데 첫째는 프로젝트 프로세스 및 조직에 얼마나 반영을 잘 시킬 수 있는지, 둘째는 필요로 하는 기능들을 얼마나 충족시켜 주는지이다. 더불어 사용자가 얼마나 쉽게 사용할 수 있는가도 매우 중요하다. 여기서 사용자 프로젝트 이해당사자들인데 이들은 소속이나 역할, 직위, 능력 등이 다양하기 때문에 관점에 기인한 중지를 모아 신중하게 결정하는 것이 좋다. 또한 기본적으로 갖추고 있는 조직, 인력, 문화 등 내재 역량 또한 무시할 수 없다.
 
이는 돈으로 살 수 없는 경우도 많으며 서로 간의 이해가 첨예하게 부딪히는 일도 다반사이고 업종이 무엇이냐에 따라서도 매우 다르기 때문에 현명한 선택이 요구된다. 만약 잘못된 선택으로 인하여 프로젝트 중반에 이를 변경할 일이 생긴다면 비용도 그렇지만 모든 것을 도구에 맞춰 진행해온 프로젝트 자체가 큰 위험에 빠질 수도 있기 때문이다.
 
 
 
 
※ 엑셀이 좋아!
MS Office의 엑셀은 정말 훌륭한 도구다. 기업 조직 내 시스템이 갖춰진 정도가 모두 다르더라도 가 가운데는 항상 엑셀이 존재한다. 그래서 비싸게 시스템을 도입해놔도 엑셀을 고집하는 경우가 많다. 하지만 프로젝트에서 선정한 도구가 있다면 이를 충분히 잘 활용하는 것에 집중함이 필요하다. 이 또한 의사소통 도구로 선택했기 때문이다. 그러니 엑셀은 잠시만 뒤로 하고 먼저 써보고 이야기하자. 써보지도 않고 뭐라 뭐라 말하는 것은 꼰대! 나 하는 거지 않는가?

프로젝트 제안 (프로젝트 성공률 1% 높이기)

프로젝트 발주

프로젝트 발주는 고객의 니즈를 내부적으로 충족할 수 없는 경우 조직 외부로부터 제품, 서비스 또는 특정 결과물을 조달하는 것이다. 이를 전담하는 인력은 흔히 발주 PM이나 발주업무 담당자라고 볼 수 있는데 실제 프로젝트를 진행할 PM의 입장에서도 프로젝트 배경과 필요성을 제대로 파악하는 것이 프로젝트의 요구사항 분석과 성공을 위한 필수적이다.
 
발주는 공개적인 방식 또는 제한된 정보망 등을 통해서 공유된다. 사업자들은 항시 발주 이벤트를 주시하고 있으며 언제든지 진행할 준비를 하고 있다. 누가 먼저 소식을 접했느냐도 중요하지만 제한된 시간 내에 모든 역량을 투입할 수 있는 여건도 또한 중요하다. 어찌 보면 중요하지 않은 것이 하나도 없다.
 
 

프로젝트 제안

제안서는 프로젝트 사업자 선정을 위한 기술평가를 통해서 수주 경쟁화한다. 이를 통해 사업제안자들의 사업수행역량을 체크하고 각 제안 별 핵심 사항과 역량 검증을 통해 최적의 사업자를 하나둘 선별해낸다. 이런 제안의 흐름은 일반적으로 다음의 단계를 거친다.
 
🚩제안요청서
 : RFP(Request For Proposal)라고 말하는 것. 사업에 대한 고객의 세부적 요구사항이 정의되어 있고 제안을 위한 기본 틀과 요건을 제시한다. 다양한 형태의 제안서가 존재하지만 가장 중요한 것은 원하는 것이 무엇인지, 이를 통해 최종 결과물의 이미지가 무엇인지 명확하게 제시하는 것이다. 가끔 고객 스스로가 무엇을 할지 제대로 모르면서 부실한 RFP를 내는 경우가 있는데 이건 시장에서도 매력도가 떨어지며 그 누구도 참여할 이유를 찾지 못하기에 이 또한 잘 만들어야 한다. 그러기 위해선 고객도 공부가 많이 되어 있어야 하며 자신들의 약점과 강점을 알고 조직적인 대응을 해야 한다.
 
🚩제안서
: RFP가 뜨고 나서 사업을 검토 후 제안에 응할 목적으로 작성하는 것. 사업을 어떻게 수행할지 포괄적으로 정리하며 고객이 평가를 통해 결정할 수 있는 근거 자료와 신뢰를 줘야 한다. 즉, 요구사항에 대한 구체적인 방안과 제안사의 사업수행 능력을 명확히 보여줘야 한다. 여기서 최우선은 고객 만족이다. 이를 우선순위로 내용을 작성하며 사업수행을 위한 다양한 투입자원을 고려하여 현실적인 사업 범위를 결정, 제시한다. 특히 경쟁사 대비 차별화는 추후 POC(Proof Of Concept) 나 BMT(Bench Marking Test) 등을 염두에 두고 변별력을 가질 필요가 있다.
 
🚩계약
: 선발된 다수명의 심사자 및 심사조직을 통해서 제안심사가 진행된다. 몇 단계에 걸쳐 심사 결과들이 발표되기도 하는데 계약 성사를 위해 제안서를 토대로 제안프로젝트를 본격적으로 진행한다. 제안 분석과 전략 수립, 목차를 구조화하고 핵심 내용을 선별 후 예상 질의까지 준비한다. 제안발표를 하고 당 제안이 타당하다고 평가되면 사업자가 선정된다. 협상을 통해 최종사업자를 가리게 되면 계약이 진행된다. 계약에는 RFP와 제안서를 토대로 여러 법리해석과 최종견적이 완성된다. 사업 대가는 프로젝트 단계별로 고려하고 규모와 자원투입, 시간을 기준으로 산출한다.
 




 

RFQ, RFI, 그리고

프로젝트 발주를 위한 RFP는 봤는데 이와 비슷한 RFQ, RFI, RFB 등 여러 용어도 볼 수 있다. 이것들은 프로젝트 진행을 위한 분야별 세부 확인을 위해 쓰이는 것들인데 주요한 것만 살펴보면 RFI(Request For Information)는 사전정보요청으로 RFP를 작성하기 전 프로젝트에 필요한 여러 정보나 환경 등을 파악하기 위한 자료로 쓰인다. 특히 기술 부분에 있어 내부 역량에 따른 외주 여부 등을 사전에 파악해 볼 수 있으며 일차적인 필터 기능도 포함한다. RFQ(Request For Quotation)는 제안 견적요청서로 예산 중심의 문건이다. 즉, 적절한 프로젝트 비용을 파악할 필요가 있는데 RFP 요청 시 RFQ도 같이 요구하는 경우가 많으며 두 문건을 같이 검토하여 평가의 기초로 다룬다.

 

프로젝트 수주

제안서 작성의 최종 목적은 프로젝트 수주이다. 아무리 제안서를 훌륭하게 작성하였어도 프로젝트를 수주하지 못하면 그 제안서는 아무런 의미가 없다. 결국 가격 부분을 제외한 나머지 부분, 제안사는 고객의 이번 사업을 다른 누구보다도 잘 이해하고 있으며, 최고의 솔루션(제안된 솔루션을 이행할 계획과 인력, 기술, 그에 대한 풍부한 경험)을 제안하여 제안사를 선택할 경우 성공적인 프로젝트를 수행할 것을 보장한다는 내용을 빠짐없이 담고 있어야 한다. 제안서는 고객의 요구사항을 정확하게 파악하고 고객과의 원활한 커뮤니케이션, 구체적 서비스 내용을 제안서에 어떻게 표현했는가에 따라 그 결과가 좌우된다.
 
다시 말해 제안서는 단순한 제안 문서로서의 의미보다 제안 업체의 사업역량의 위상을 표현하는 최고의 서비스 상품이 되어야 한다. 그렇기 때문에 사업자 스스로 질문과 답을 해야 하고 고객 이전에 먼저 설득이 되어야 한다. 그러고 나서 고객을 설득한다. 그러기 위해서 정말이지 어디에 내놔도 당당한 제안서라는 상품을 만들 필요가 있다.
 
 
 
 
※ 템플릿
요즘처럼 넘쳐나는 정보 속에서 자료가 없이 일을 못 했다는 건 말이 되지 않는 세상이 되었다. 그런데 정작 중요한 것은 형식도 형식이지만 내용이 먼저다. “고객이 원하는 것이 무엇인가?”에 대한 깊은 고민은 책상 앞에서 만으론 해결되지 않는다. 그러니 틀이 짜졌다면 열심히 더 뛰어다녀야 한다. 그러면서 체득한 내용들을 채워 넣어야 한다. 그러나 지금 당장 일어나 움직이자!