반응형
프로젝트의 이해
프로젝트의 정의
미국 프로젝트 관리 협회 PMI는 프로젝트를 다음과 같이 정의한다.
- 프로젝트 : 유일한 제품이나 서비스를 만들기 위해 일정한 기간을 정해 놓고 수행하는 작업
프로젝트의 특징
- 한시성
- 유일성
- 참여자의 일시성
- 한정된 자원
프로젝트 매니저
- PM이라고 줄여서 말하며 프로젝트 시작 시점부터 기획을 하고 설계를 한다.
- 프로젝트에 참여하는 팀원들의 장점과 능력을 잘 파악해 적재적소에 배치해야 한다.
- 고객과의 많은 대화를 통해 의견을 조율해야 한다.
- 프로젝트가 시작되면 진행 상황을 늘 체크해야 하고 진척 관리도 해야 한다.
- 프로젝트 수행 중 크고 작은 문제가 발생하면 해결책을 고민해야 하고, 책임감을 갖고 해결해야 한다.
- 인력 관리를 통해 참여자들이 도중 하차하는 일이 없도록 하고, 충분히 의사소통할 수 있는 분위기를 조성해야 한다.
- 개발 기간 내에 최종 결과물을 고객에게 인도할 수 있어야 한다.
프로젝트 관리
프로젝트 관리의 수행
- 프로젝트 완수를 위해 활동에 필요한 기술, 기법, 도구들을 적절히 배치
- 필요한 자원들을 계획하고 적기에 사용할 수 있도록 공급
- 필요한 인력을 적재적소에 배치한다.
- 프로젝트의 진행 상황 확인 및 진도 관리
- 예상대로 되지 않은 것들에 대해 대비 계획을 세우고, 대응책을 마련한다.
프로젝트 관리 지식 체계 PMBOK
- 프로젝트와 관련된 대표적인 문서로 작업의 표준이 된다.
- 많은 프로젝트가 이 문서를 기반으로 수행한다.
시작 그룹
- 핵심 프로세스는 범위 관리의 착수로, 프로젝트 또는 프로젝트를 구성하는 단계를 정의하고 승인한다.
기획 그룹
- 프로젝트 목표 설정 및 목표 달성을 위한 활동 계획과 예산, 인력, 자원 등의 계획을 수립한다.
- 핵심 프로세스는 아래와 같다.
- 범위 기획
- 범위 정의
- 작업 정의
- 작업 순서
- 작업 기간 산정
- 일정 개발
- 위험 관리 기획
- 자원 기획
- 비용 산정
- 비용 예산 수립
- 프로젝트 계획 개발
실행 그룹
- 핵심 프로세스는 프로젝트 실행 계획으로 계획을 세운대로 실제 프로젝트를 수행한다.
통제 그룹
- 계획 대비 목표의 진척 사항을 주기적으로 감시하고 성과를 측정한다.
- 성과 보고 : 상태 보고, 진척도 측정, 예측 등이 포함된 성과 정보를 수집하고 배포한다.
- 통합된 변경 통제 : 프로젝트의 변경 사항을 조정, 여러 보조 프로세스가 있다.
종료 그룹
- 지금까지 진행해 온 프로젝트를 공식적으로 종결하는 프로세스들로 구성된다.
- 종결을 위해 프로젝트가 사용자의 모든 요구사항이 완료되었음을 검증한다.
- 사용자에게 인정을 받아야 종료할 수 있다.
- 계약 종료
- 관리 종료
프로젝트 관리의 9가지 관점
형상관리
변경관리
- 소프트웨어 변경
- 소프트웨어는 개발 초기부터 완성되어 사용하는 중에도 지속적으로 변한다.
- 소프트웨어 개발 전체 단계에서 발생하는 변경은 많은 부분에 영향을 미친다.
- 변경되는 과정을 관리하지 못한다면 엄청난 혼란을 불러올 수 있다.
- 소프트웨어 변경의 요인으로는 업무 환경의 변화와 기술 환경의 변화가 있다. 업무 환경의 변화는 예시를 들면 고객의 요구가 바뀌는 경우 등이 있고, 기술 환경의 변화는 하드웨어의 사양이 바뀌거나, 운영체제가 변경되는 경우 등이 있다.
버전 관리
버전이란
- 소프트웨어에서 버전이란 개발 단계 또는 순서를 표시한 것이다.
- 파일의 이력이나 차이점을 관리해 애플리케이션의 버전과 각 원시 파일이나 문서를 유용하게 활용하기 위한 용도로 사용한다.
- 프로그램을 개발할 때에도 계속적인 변경 내용을 반영하기 위해 버전 업하며 관리를 해 나간다.
- 개발된 상품의 기능과 내용이 크게 변화된 경우 2.0 또는 3.0 처럼 주 번호를 변경한다.
- 이전 제품에 있던 오류를 수정하는 정도로 기능 변화가 크지 않을 때는 1.1 또는 1.2처럼 부 번호를 변경한다.
버전 관리
- 여러 명이 함께 작성한 내용을 서로 공유하며 작업을 할 경우에 버전 관리를 한다.
- 누군가는 이전 버전의 파일로 계속 작업을 한다면 잘못된 결과를 얻는다.
- 요구사항이 자주 변경되는 현실에서 버전 관리가 잘 되어야만 정확한 결과를 도출할 수 있다.
형상 관리의 개념과 절차
형상 관리
- 형상 관리 : 특정 항목의 변화에 대해 관리하면서 시스템의 통합과 일치를 보장하는 것
- 소프트웨어 개발에서 사용하기 이전에 하드웨어에서 출발한 개념이다.
- 형상 항목 : 수만에서 수십만 개의 부품으로 이루어져 있는 자동차나 비행기의 작은 단위 부품들을 형상 항목이라고 한다.
- 형상 항목을 교체할 경우 기존 부품들과의 인터페이스에 문제가 없어야 시스템이 안정적으로 동작할 수 있다.
소프트웨어 형상 관리 (SCM)
- 개발 중 발생하는 모든 산출물들이 변경됨으로써 점차 변해가는 소프트웨어 형상을 체계적으로 관리하고 유지하는 기법이다.
- 프로젝트를 적절히 통제해 체계적이고 효율적으로 관리할 수 있다.
- 가시성과 추적성을 보장함으로써 소프트웨어의 생산성과 품질을 높일 수 있다.
- 프로젝트를 개발하는 동안 생산성과 안정성을 높여 좋은 품질의 소프트웨어를 생산하고 유지보수도 용이하게 해 준다.
형상 관리 절차
1. 형상 식별
형상 식별은 형상 관리의 가장 밑바탕이 되는 활동이다.
- 형상 항목 선정 : 형상 관리를 하려면 어떤 항목을 관리 대상으로 할 것인지 제일 먼저 결정해야 하는데 그 프로세스다. 변경에 대한 통제가 필요한 산출물을 지정한다.
- 형상 식별자 규칙 선정 : 어떤 프로젝트에서 사용되는 파일인지, 어떤 내용의 문서인지, 버전이 어떻게 되는지를 같은 작업을 하는 소속 팀원들끼리 한눈에 알아볼 수 있도록 명명하는 규칙이 형상 식별자 규칙이다.
- 베이스 라인 기준 선정 : 베이스 라인은 소프트웨어 개발 과정 중 특정 시점에 만들어진 산출물의 집합이다.
2. 형상 통제
형상 통제는 형상 목록의 변경 요구를 검토 및 승인하여 현재의 소프트웨어 기준선에 반영될 수 있도록 통제하는 일련의 과정이다.
변경에 대한 요구를 무조건 다 수용하다가는 소프트웨어 개발이 순조롭게 진행될 수 없다.
- 변경 요청
- 변경 심사 : 변경 심사 시 검토할 항목은 다음과 같이 3가지다. 1. 변경 이유의 타당성 2. 변경 범위 3. 변경이 미치는 영향
- 변경 실시
- 변경 확인
3. 형상 상태 보고
- 형상 항목의 개발 상태에 대한 가시성을 통해 형상을 효율적으로 관리하기 위한 목적으로 진행한다.
- 베이스라인으로 설정된 형상 항목의 구조와 변경 상태를 기록하고, 관련된 사람들에게 보고한다.
- 베이스 라인의 모든 변경에 대한 추적을 목적으로 하며, 변경 요청 상태 형상 담당자가 작성해 상위 관리자에게 보고한다.
- 형상 상태 보고서의 내용은 다음과 같다.
- 프로젝트에서의 변경 횟수
- 최근 소프트웨어 항목의 버전, 릴리스 식별자, 릴리스 횟수, 릴리스 간의 비교 내용
- 베이스라인의 상태
- 변경 제어 상태
- 형상통제위원회 활동 내역
4. 형상 감사
- 계획서대로 형상 관리가 진행되고 있는지, 형상 항목의 변경이 요구사항에 맞도록 제대로 이루어졌는지 등을 확인한다.
- 단계별 베이스라인의 적정성과 무결성을 평가하고 승인한다.
- 형상 담당자가 실시하여 형상 감사 수행 전에 형상 관리 계획서 상에 형상 감사를 위한 계획이 수립되어 있어야 한다.
- 감사 내용은 다음과 같다.
- 승인된 변경 요청이 제대로 반영되었는지를 검증
- 승인되지 않은 내용이 혹시 반영되었는지 검증
- 승인된 변경과 관련된 항목들이 갱신되었는지 검증
형상 관리에 대한 책임과 역할
형상 관리 담당자
프로젝트 관리자가 정의한 형상 관리 계획서에 따라 운영 환경을 구현하고 형상 관리 활동을 수행한다.
형상 관리 담당자의 역할은 다음과 같다.
- 형상 관리 계획서 작성에 참여한다.
- 형상 관리 환경 구축 및 형상 관리 저장소를 생성한다.
- 형상 관리 절차 개발 및 문서화
- 베이스라인 설정
- 형상 항목 식별 및 관리
- 주기적으로 형상 상태 보고
형상 통제 위원회
- 형상 항목의 변경을 수락하거나 거절하는 역할을 맡는다.
- 변경의 필요성, 계약, 일정, 비용에 미치는 영향, 유지보수에 미치는 영향, 변경 결과의 적절성 등을 판단하여 검증한다.
- 항목의 변경으로 인해 영향을 받는 사람들로 구성된다.
- 프로젝트 관리자, 형상 담당자, 품질 담당자, 기술 담당자 및 고객 측 담당자 등
- 형상 항목 결정, 베이스라인 수립 여부 결정, 승인된 변경에 대한 책임 및 보증, 베이스라인의 변경 요청이 필요한 경우 이에 대한 검토 및 승인
형상 관리 계획서
형상 관리 활동을 비롯해 형상 관리 활동을 수행하기 위한 절차와 일정 등이 포함된다.
유지보수
소프트웨어 유지보수
- 소프트웨어에도 유지보수의 개념이 필요하다.
- 몇 년 사용한 후에 보완하는 경우도 있지만, 개발이 완료되어 사용하기 시작할 때부터 수리해야 하는 경우도 발생한다.
- 소프트웨어 유지보수는 크게 4가지로 구성된다.
- 수정 유지보수
- 적응 유지보수
- 기능 보강 유지보수
- 예방 유지보수
작성하면서 git과 github가 많이 생각나는 포스팅이었습니다ㅎㅎ..
이상으로 포스팅을 마칩니다. 감사합니다.
참고자료
쉽게 배우는 소프트웨어 공학 2판 (11단원 프로젝트 관리)
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791156645429
반응형
댓글