Preface
올바른 계획을 세우고 실천하는 것이 중요하다는 것은 이미 모두가 알고 있는 사실일 것이다.
나 또한 평소 계획적인 삶을 살고자 노력하는 편이다.
그렇다면 계획을 세우는 것이 중요한 이유는 무엇일까?
소프트웨어 공학에서 강조하듯 시간과 자원을 절약할 수도 있고, 뚜렷한 목표를 설정하여 성취 동기를 자극할 수도 있다. 이 외에도 계속 설명하자면 끝없는 이점을 나열할 수 있을 것이다.
우리 모두가 마음 속으로만 계획의 중요성을 되뇌는 것이 아닌, 가벼운 계획을 세우고 실천하는 것부터 시작함으로써 복잡한 세상을 조금이나마 간결하게 살아보는 것이 어떨까?
- 계획은 프로젝트의 핵심 활동이다.
- 프로젝트의 3대 제약 조건
① 비용
② 일정
③ 품질(최근엔 '범위'로 대체시키기도 함)
1. 프로젝트 시작 이전 단계
- 제안 요청서 : 발주자(스폰서)가 프로젝트 요구사항을 정리한 문서
→ 입찰 공고에 사용
- 제안서 : 후보 개발 업체들이 작성한 소프트웨어 개발 계획 문서
→ 경쟁 입찰에 사용
2. 계획 단계
- 프로젝트 헌장 공식 승인 이후 관리자가 프로젝트의 세부 계획을 수립하는 과정이다.
3. 계획 단계의 관리 영역
- 고객 요구사항에 대한 정확한 이해가 필요하다.
- 프로젝트의 목표를 설정하고 핵심 문제를 파악해야 한다.
- 성과 측정 : 프로젝트 계획과 실적을 비교하여 자료화하는 것
→ 범위, 일정, 예산 측면에서 측정
- 프로젝트 계획 문서는 분야별로 작성하는 것이 일반적이다.
- 대표적 계획 활동
- 프로젝트 통합 관리 계획
① 프로젝트 관리 계획서(PMP) 작성
② 프로젝트 규모에 따라 작성 방법이 상이함
- 프로젝트 범위 관리 계획 : 해야 할 일과 하지 말아야 할 일의 경계를 설정하는 것
① 요구사항 규명 수행
② 제품 범위 : 제품, 서비스, 결과물이 가지는 특징 및 기능
→ 유스케이스(use case) 기법 : 사용자가 누구인지, 그들이 어떤 과업을 수행하는지 밝혀 사용자와 시스템 간의 상호작용에 대한 완전한 시나리오(use case scenario)를 구성하는 것
③ 프로젝트 범위 : 결과물을 만들기 위해 수행해야 할 작업들
→ 작업 분류체계(WBS : Work Breakdown Structure) : 프로젝트의 목표 달성을 위해 수행해야 할 작업을 인도물(산출물)을 중심으로 하여 계층적으로 작성한 것
- 프로젝트 일정 관리 계획 : 프로젝트 성패의 중요한 판단 기준
① 활동 정의
② 활동의 순서 배열
③ 활동의 자원 산정
④ 활동의 기간 산정
⑤ 일정 개발
→ 활동 기간은 활동 자원에 대해 종속성을 가짐
- 프로젝트 품질 관리 계획 : 프로젝트 수행 프로세스 관련 표준을 준수하는지 관리하는 것
① 현대적 품질 관리 : 예방과 지속적인 개선 및 품질 계획 중시
② 품질 보증 : 품질 통제를 통해 도출된 문제를 개선하여 얻은 결과
- 프로젝트 원가 관리 계획 : 프로젝트 전체에 소요되는 비용을 예상하는 것
① 상향식 추정 : 가장 정확한 원가 추정 방식
② 하향식 추정 : 프로젝트 착수 단계에서 행하는 추정 방식 (경험과 판단에 의존하며 흔히 사용됨)
→ LOC (Line Of Code) : 간단한 방법
→ 기능 점수 기법 (function point) : 사용자 관점에서 개발 규모 예측 (LOC에 비해 정확함)
- 형상 관리 계획
① 소프트웨어의 형상은 문서임
② 소프트웨어 형상 관리(SCM: Software Configuration Management) : 문서를 관리하는 것
- 확인 및 검증(V·V : Validation and Verification) 계획
① 추적성 : 상이한 단계의 요구사항들 사이에 연관 관계를 제공하는 기술
② 확인(Validation) : 요구사항을 이해하는 과정
③ 검증(Verification) : 올바른 제품 개발을 보장하는 활동
④ 소프트웨어 확인 및 검증 계획(SVVP : Software V·V Plan) : 프로젝트 계획 단계에서 수립 및 문서화 되어야 함
참고 문헌 : 윤청, 『소프트웨어 공학 에센셜』(생능출판), 2019, p.124~136.
'CS > 소프트웨어 공학 에센셜' 카테고리의 다른 글
기능 모델링 (0) | 2021.06.02 |
---|---|
요구사항 분석과 모델링 (0) | 2021.05.31 |
프로젝트 관리 (0) | 2021.05.28 |
소프트웨어 개발방법론(2) (0) | 2021.05.27 |
소프트웨어 개발방법론(1) (2) | 2021.05.25 |
댓글