프로젝트 관리
프로젝트 관리
프로젝트 관리의 개념
- 주어진 기간 내에 최소 비용으로 사용자의 요구를 충족하는 시스템을 개발하기 위한 전반적인 활동
- 프로젝트 관리는 소프트웨어 개발 계획을 세우고 분석, 설계, 구현 등의 작업을 통제하는 것으로 소프트웨어 생명 주기의 전 과정에 걸쳐서 진행됨
- 소프트웨어 프로젝트를 성공적으로 수행하기 위해서는 수행할 작업의 범위, 필요한 자원, 수행 업무, 비용, 추진 일정들을 관리해야 함
프로젝트 관리 대상
계획 관리 : 프로젝트 계획, 비용 산정, 일정 계획, 조직 계획에 대한 관리
품질 관리 : 품질 통제 및 품질 보증
범위 관리 : 이해관계자가 요청한 모든 요구사항이 프로젝트 범위에 포함되었는지 보장하고, 필요한 작업만 수행될 수 있도록 관리
프로젝트 관리 3대 요소
사람(People) : 프로젝트에서 가장 기본이 되는 인적 자원
문제(Problem) : 사용자의 관점에서 문제를 분석하여 인식함
프로세스(Process) : 소프트웨어 개발에 필요한 전체적인 작업 계획 및 구조(Framework)
비용산정 모형
비용산정 모형 개념
- 소프트웨어 규모 파악을 통한 투입 자원, 소요 시간을 파악하여 실행 가능한 계획을 수립하기 위해 비용을 산정하는 방식
비용산정 모형 분류
하향식 산정 방법
- 경험이 많은 전문가에게 비용 산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는 방식
- 전문가 판단, 델파이 기법
상향식 산정 방법
- 세부적인 요구사항과 기능에 따라 필요한 비용을 계산하는 방식
- 코드 라인 수(LoC), Man Month, COCOMO 모형, 푸트남 모형, 기능점수(FP) 모형
비용산정 모형 종류
LoC(Lines of Code) 모형
- 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방식
- 측정이 쉽고 이해하기 쉬워 많이 사용
- 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정
Man Month 모형
- 한 사람이 1개월 동안 할 수 있는 일의 양을 기준으로 프로젝트 비용을 산정하는 방식
COCOMO(COnstructive COst MOdel) 모형
- 보헴(Boehm)이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식
- 비용산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man Month)으로 산정
- 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 통용됨
COCOMO의 소프트웨어 개발 유형
조직형(Organic Mode)
- 기관 내부에서 개발된 중 소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리 개발에 적용
- 5만(KDSI) 라인 이하의 소프트웨어를 개발하는 유형
반분리형(Semi Detached Mode)
- 트랜잭션 처리 시스템이나, 데이터베이스 관리 시스템, 컴파일러, 인터프리터와 같은 유틸 개발에 적용
- 30만(KDSI) 라인 이하의 소프트웨어를 개발하는 유형
임베디드형(Embedded Mode)
- 초대형 규모의 트랜잭션 처리 시스템이나 운영체제, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적용
- 30만(KDSI) 라인 이상의 소프트웨어를 개발하는 유형
푸트남(Putnam) 모형
- 소프트웨어 개발 주기의 단계별로 요구할 인력의 분포를 가정하는 방식
- 푸트남이 제안한 것으로 생명주기 예측 모형이라고 함
- 시간에 따른 함수로 표현되는 NRayleigh-Nrdem 곡선의 노력 분포도를 기초로 함
기능점수(FP, Function Point) 모형
- 요구 기능을 증가시키는 인자별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능의 점수를 계산하여 비용을 산정하는 방식
- 경험을 바탕으로 단순, 보통, 복잡한 정도에 따라 가중치를 부여
일정 관리 모델
일정 관리 모델 개념
프로젝트가 일정 기한 내에 적절하게 완료될 수 있도록 관리하는 모델
일정 관리 모델 종류
주 공정법(CPM, Critical Path Method)
- 여러 작업의 수행 순서가 얽혀 있는 프로젝트의 일정을 계산하는 기법
PERT(Program Evaluation and Review Technique)
- 일의 순서를 계획적으로 정리하기 위한 수렴 기법으로 비관치, 중간치, 낙관치의 3점 추정 방식을 통해 일정을 관리하는 기법
중요 연쇄 프로젝트 관리(CCPM, Critical Chain Project Management)
- 주 공정 연쇄법으로 자원 제약사항을 고려하여 일정을 작성하는 기법
위험 관리
위험 관리(Risk Management) 개념
- 프로젝트에 내재한 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동
- 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함함
위험의 종류
- 소프트웨어 개발 시 나타나는 일반적인 위험 요소에는 인력 부족, 예산 관리, 일정 관리, 사용자 요구사항 변경 등이 있으며, 이 중 가장 대표적인 위험 요소는 사용자 요구사항 변경임
- 알려진 위험 : 프로젝트 계획서, 기술적 환경, 정보 등에 의해 발견될 수 있는 위험
- 예측 가능한 위험 : 과거 경험으로부터 예측할 수 있는 위험
- 예측 불가능한 위험 : 사전 예측이 매우 어려운 위험
위험 대응 전략
회피(Avoidance) : 발생 가능성을 원천적으로 제거하는 전략
전가(Transference) : 위험에 대한 책임의 제3자에게 넘기는 전략
완화(Mitigation) : 위험 발생 가능성을 감소시키거나 영향력을 감소시키는 전략
수용(Acceptance) : 위험을 그대로 받아들이는 전략
'정보처리 > 소프트웨어설계' 카테고리의 다른 글
요구사항 확인 현행 시스템 분석 2/3 (0) | 2025.04.03 |
---|---|
요구사항 확인 현행 시스템 분석 1/3 (1) | 2025.04.02 |
요구사항 확인 소프트웨어 개발 방법론 3/4 (0) | 2025.03.31 |
요구사항 확인 소프트웨어 개발 방법론 2/4 (0) | 2025.03.30 |
요구사항 확인 소프트웨어 개발 방법론 1/4 (0) | 2025.03.29 |