3. 프로젝트관리 1
주요내용 프로젝트란무엇인가? 프로젝트관리는왜필요한것인가? 프로젝트를관리하기위한방법은무엇인가? 2
목차 강의내용 팀프로젝트 (4 주차 ) - 프로젝트의정의 - 제안서작성 - 소프트웨어프로젝트 - 소프트웨어프로젝트의성공요소 - 소프트웨어프로젝트의잘못된통념 - 프로젝트관리 - 프로젝트성공을돕는지침서 3
흔한단어, XX 프로젝트? 4
프로젝트의정의 5
프로젝트란? 정의 - 프로젝트는유일한제품이나서비스를만들기위해수행되어야할일시적인행동 [2000 PMBOK(Project Management Body of Knowledge)] - 같은일을반복하는 일상생활 과구분됨 프로젝트의구성요소 비용 목표 관리자 참여자 프로젝트 기간 기술 고객 6
소프트웨어프로젝트 7
소프트웨어프로젝트 소프트웨어개발의시작 - 조직이요구사항에맞는프로그램을획득 (Acquire) 할필요가생겼을때 시중에나와있는프로그램을구입하거나, 직접개발하거나 조직에서개발하거나, 소프트웨어개발전문업체에의뢰하거나 소프트웨어개발 - 발주자 ( 고객 ) 가요구사항을주면수주자 ( 개발자 ) 가요구사항에맞는프로그램을개발하는프로젝트 발주자 개발을의뢰하는조직또는개인 수주자 의뢰를받는조직또는개인 계약서 8
소프트웨어프로젝트프로세스 (1/2) 소프트웨어제품구상 - 발주자는 원하는소프트웨어제품을구상하고, 그가치를검증 제품의투자대비효과를예측하고, 사업에미치는영향을파악 원하는제품의기능상의요구사항, 성능요구사항들을정의 소프트웨어제안요청서 (RFP: Request for Proposal) 배포 - 제품을자체개발하지않는경우, 개발회사들에게제안요청서를발송 일반적인제안요청서양식 I. 프로젝트개요 목차 1. 프로젝트명 2. 프로젝트목적 3. 프로젝트결과물 4. 프로젝트내용 5. 특이사항 6. 기간 7. 비용 8. 추진일정... II. 별지서식 제안서제출 - 개발회사들은발주자에게제안서제출 9
소프트웨어프로젝트프로세스 (2/2) 제안서심사일반적인계약서양식 - 이미정해진기준에따라심사하여수주자선정 계약서작성 - 수주자가선정되면발주자와수주자사이에계약체결 소프트웨어개발계약서 한국발주사 ( 이하 갑 이라함 ) 와개발코리아 ( 이하 을 이라함 ) 는제 2조에명시한 소프트웨어개발 의관련업무대하여다음과같이계약을체결한다 프로젝트시작및수행 - 계약이완료후수주자는프로젝트시작 - 마일스톤별로또는발주자의참여필요시회의를갖고요구사항의변경등중요한사항협의 프로젝트종료및제품인도 - 소프트웨어개발완료후발주자의인수테스트를거쳐제품이인도됨 -다음- 제 1조계약의목적제 2 조계약내용제3조협조사항제4조계약기간제5조계약금액제 6조사용및저작권한제 7조계약의해지및통보제 8조비밀유지의의무와손해배상제 9조기타 10
소프트웨어프로젝트의성공요소 11
프로젝트의성공요소 비용 일정 품질 12
프로젝트의성공을보는관점 프로젝트는성공하는것이다 vs. 프로젝트는실패하는것이다 13
소프트웨어프로젝트의잘못된통념 14
소프트웨어개발의잘못된통념들 관리자 우리팀개발표준을개발자들도다알고있을꺼야. 우리는정말비싸고좋은개발툴이있지.. 개발자 프로그램이실행만되면우리일은끝 프로그램이실행되기전까지품질을어떻게알수가있어? 어, 일정이촉박하네.. 개발자몇명더투입하면 프로젝트는프로그램만잘나오면끝이지, 일정맞출수있을꺼야 다른것은뭐가필요하겠어? 15
프로젝트관리 16
프로젝트는왜실패하는가? 일반적인프로젝트실패의이유 - 프로젝트팀이소프트웨어프로젝트에필요한지식이없거나, - 프로젝트를효과적으로수행하는데필요한의지가없어서 [ 스티브맥코넬, 소프트웨어프로젝트생존전략 ] 17
프로젝트관리 정의 - 프로젝트의요구사항을만족시키기위해지식, 기술, 툴및기법을프로젝트활동에적용하는것 (2000 PMBOK) 18
프로젝트프로세스 (1/2) 착수 계획 실행 종료 계획변경 계획 vs. 실적 통제 19
프로젝트프로세스 (2/2) 착수 계획 실행 통제 종료 - 새로운프로젝트나프로젝트단계의시작을공식적으로승인받기위해진행할프로세스들로구성됨 - 프로젝트계획서를작성 - 프로젝트가수행해야할목표및범위를달성하기위해필요한행동방침을계획 - 프로젝트수행에필요한인력과자원을갖추고프로젝트계획을시행 - 프로젝트가계획대로잘수행되고있는가를주기적으로검토 - 프로젝트목표를달성하는데필요하면시정조치를취할수있도록함 - 결과물의인수를공식화함 - 계약의의무를수행했다고판단되면프로젝트를종료 20
PMBOK의프로젝트관리영역 프로젝트관리영역 (PMBOK) 4. 프로젝트통합관리 5. 프로젝트범위관리 4.1 프로젝트계획개발 5.1 개시 4.2 프로젝트계획실행 5.2 범위계획 4.3 통합변화관리 5.3 범위정의 5.4 범위검증 5.5 범위변경통제 6. 프로젝트일정관리 6.1 작업정의 6.2 작업순서 6.3 작업기간산정 6.4 일정개발 6.5 일정통제 7. 프로젝트비용관리 7.1 자원계획 7.2 비용산정 7.3 비용예산 7.4 비용통제 8. 프로젝트품질관리 8.1 품질계획 8.2 품질보증 8.3 품질통제 9. 프로젝트인적자원관리 9.1 조직계획 9.2 스텝확보 9.3 팀개발 10. 프로젝트의사소통관리 10.11 의사소통계획 10.2 정보배포 10.3 성과보고 10.4 관리종료 11. 프로젝트위험관리 12. 프로젝트조달관리 11.11 위험관리계획 12.11 구매계획 11.2 위험정의 12.2 공급자유치계획 11.3 정성적위험분석 12.3 공급자유치 11.4 정량적위험분석 12.4 공급자선택 11.5 위험대응계획 12.5 계약관리 11.6 위험모니터링및통제 12.6 계약종료 21
프로젝트관리의 9 가지관점 관리영역프로젝트통합관리프로젝트범위관리프로젝트일정관리프로젝트비용관리프로젝트품질관리인적자원관리위험관리프로젝트의사소통관리프로젝트조달관리 22 프로세스 프로젝트헌장개발, 프로젝트관리계획수립, 프로젝트실행지시및관리, 프로젝트작업감시및통제, 통합변경통제, 프로젝트종료관리등 프로젝트의범위계획, 범위정의, 작업분류체계작성, 범위검증, 범위통제프로젝트관리등 작업정의, 작업순서배열, 작업별자원산정, 작업기간산정, 일정개발, 일정통제등 자원계획, 비용산정, 비용예산및비용통제등 품질계획, 품질보증, 품질관리등 조직계획, 인적자원획득, 프로젝트팀확보, 프로젝트팀개발, 프로젝트팀관리, 프로젝트관리등 위험관리계획, 위험식별, 정성적위험분석, 정량적위험분석, 위험대응계 획, 위험감시통제등 의사소통계획, 정보배포, 진척관리, 종료절차등 획득계획, 공급자유치계획, 공급자선정, 계약관리, 계약종료등
프로젝트성공을돕는지침서 23
CMMI 등장배경 CMM 의등장 - 프로젝트관리의중요성인식 미국국방부조사결과소프트웨어프로젝트실패원인은프로젝트관리에있음을발견 - SEI 설립 1984 년카네기멜론대학에소프트웨어공학전문연구소 SEI(Software Engineering Institute) 설립 - SW-CMM 개발 SEI에서는개발조직프로세스의성숙도에따라점진적개선을제시하는 SW- CMM(Software Capability Maturity Model) 을개발함 성숙도가높은조직이성숙도가낮은조직보다높은품질의소프트웨어를생산할수있다는것 24
성숙도가낮은조직과높은조직의비교 성숙도가낮은조직의특징 소프트웨어프로세스가프로젝트진행중에개발자와관리자에의하여즉흥적으로만들어진다. 관리자는그때그때발생하는문제점의해결에만관심이있다. 실제적인자료에근거하여산정되지않았기때문에일정과비용은대개초과된다. 납기일을맞추기위하여제품의기능과품질을희생한다. 제품의품질을평가하기위한객관적근거가없다. 성숙도가높은조직의특징 소프트웨어개발과관리프로세스에대한조직차원의능력을갖고있다. 소프트웨어프로세스가구성원들에게정확하게전달된다. 작업활동이계획된프로세스에따라서수행된다. 정의된프로세스내의역할과책임이명확하다. 관리자는소프트웨어제품의품질과고객의만족도를측정한다. 제품의품질평가및문제분석에객관적이고정량적인근거가존재한다. 일정과비용이이전프로젝트성과에근거하였으며실제적이다. 제도화된프로세스가일관성있게준수된다. 프로세스를지원하기위하여필요한기반구조가존재한다. 25
CMMI의등장 배경 - 사회적변화에적응하고기존의문제점해결하기위한새로운모델의필요성제기 - 2000년 8월, 모델들을통합, 정리하여 ISO15504(SPICE) 와호환가능한통합모델인 CMMI(Capability Maturity Model Integration) 발표 26
CMMI 모델표현 단계적표현 (Staged Representation) 연속적표현 (Continuous Representation) Organization Process Area ML 5 ML 4 ML 3 ML 2 ML 1 Capab bility 1 2 3 4 5 0 PA PA PA PA ML = Maturity Level PA = Process Area 27
CMMI의 5단계소프트웨어프로세스성숙도 각성숙도단계에서체계화되는프로세스능력 예측가능한프로세스 지속적으로개선되는프로세스 정량적관리 (Quantitative Managed): 4 정량적으로프로세스가측정되고통제됨 최적 (Optimizing): 5 프로세스개선에초점 표준화된프로세스 정의 (Defined): 3 조직차원의표준프로세스가있고사용됨 규칙화된프로세스 관리 (Managed): 2 기본적인프로젝트관리프로세스가있고사용됨 초기 (Initial): 1 예측불가능통제되지못함 28
CMMI의단계별특성 (1/3) 1 단계 (Level 1): 초기 (Initial) - 조직에정의된프로세스가거의없고계획없이코딩과시험에집중 - 경험많은관리자나뛰어난개발자에의해프로젝트의성공이좌우됨 - 능력은조직이아닌개인의특성 2단계 (Level 2): 관리 (Managed) - 기본적인프로젝트관리프로세스가설정됨 - 소프트웨어의크기, 공수및비용, 일정, 컴퓨터자원, 위험, 기능을추적할수있는단계 - 프로젝트의중간산출물에대한통제가가능 - 새로운프로젝트에대한계획과관리가이전의성공한프로젝트에근거하여이루어짐 - 성공한프로젝트의실무활동을반복하기때문에, 유사한응용분야에서의프로젝트의성공을반복가능 29
CMMI의단계별특성 (2/3) 3 단계 (Level 3): 정의 (Defined) - 표준과일관성있는프로세스 - 조직전체에걸쳐소프트웨어의개발및유지에관한표준프로세스가문서화되고통합되는단계 - 조직의소프트웨어프로세스활동에대한책임이있는팀 (EPG: Engineering Process Group) 이구성 - 각프로젝트는 조직의표준프로세스 를기반으로하여, 프로젝트에서정의된소프트웨어프로세스 에따라 30
CMMI의단계별특성 (3/3) 4 단계 (Level 4): 정량적관리 (Quantitatively Managed) - 소프트웨어제품과프로세스에대한계량적인품질목표가설정됨 - 모든프로젝트에대한중요한소프트웨어프로세스활동에대한생산성과품질이측정됨 - 프로세스의성과의변동을수용가능한계량적인범위내로최소화하여제품과프로세스에대한통제수행 5 단계 (Level 5): 최적화 (Optimizing) - 조직은지속적인프로세스개선에몰두함 - 프로세스에대해비용 / 효과분석수행 - 분석을통한가장좋은소프트웨어공학실무활동을활용하는혁신이식별되고전조직에보급됨 - 발견된결함의형태가다시발생하지않도록소프트웨어프로세스가평가되고얻어진교훈이전조직에확산됨 31
국내 CMMI 단계별표현인증현황 25 2007 년 1 월 3 일현재 43 개 20 15 업체수 10 5 0 Level 2 Level 3 Level 4 Level 5 32
ISO 12207 소개 - 소프트웨어생명주기공정표준 - 1995년소프트웨어개발을위한일관적이고체계적인구조 (framework) 를제공하기위하여제정 구성 - 소프트웨어개발시고려해야할 5개의기본 (primary) 프로세스 8 개의지원 (supporting) 프로세스 4 개의조직 (organizational) 프로세스 33
ISO 12207의구성 (1/2) 34
ISO 12207의구성 (2/2) 구성 - 기본프로세스 (Primary Process) 소프트웨어개발프로세스의주요프로세스들 소프트웨어의획득, 공급, 개발, 운영, 유지보수에대한활동을정의 - 지원프로세스 (Supporting Process) 기본프로세스들을보조해주는역할을하는프로세스 각기본프로세스로부터산출되는문서, 품질보증, 감사, 문제해결등에대한활동을정의 - 조직프로세스 (Organizational Process) 개발전생명주기에거쳐전체프로젝트를관리하는역할을하는프로세스 프로젝트의기반구조, 개선, 인력훈련등에대한활동을정의 소프트웨어개발기반표준지향 - 실제프로세스간의상호연관이나프로세스내액티비티및태스크간의상호연관에대해서는자세히명시하지않음 35
연습문제 1. 소프트웨어프로젝트의실패요인으로는어떤것들이있는가? 2. 소프트웨어프로젝트를성공으로이끌기위해서는어떠한노력이필요한가? 3. 소프트웨어프로젝트관리에대해간략하게설명하라. 4. 프로젝트관리의대상대표적인 3 가지를기술하라. 5. 프로젝트관리의구성단계 4 단계를기술하라. 6. 프로젝트관리는소프트웨어개발계획을세우고분석, 설계, 구현등의작업을통제 하는것으로소프트웨어생명주기의전과정에걸쳐진행된다. 이러한소프트웨어프로젝트관리가성공적으로수행되기위해반드시알아야할사항을 3가지이상기술하라. 36
팀프로젝트 4 주차 37
이번주할일 각팀은제안서를작성한다. 제안서평가기준 (5 점만점 ) - 내용이명확히서술되었는가? - 기간내에수행하기에너무어려운가? 또는너무쉬운가? 결과 - 35 3.5 점이상이면통과함 38
다음주제출문서 작성된제안서를제출하고발표한다. 39