소프트웨어공학

[소프트웨어공학 3] 프로젝트 관리

우당탕탕코딩일기 2023. 9. 19. 11:53

 

프로젝트 관리


프로젝트 관리

프로젝트를 계획하고 수행하는데 필요한 모든 작업을 말한다.

예를 들어 필요한 작업을 결정하거나, 프로젝트에 적합한 인력을 확보하거나, 직무를 정의하고, 일정을 계획하고, 지시, 감독, 기술적 리더, 결정 검토 승인, 모니터링, 통제, 보고, 프로세스 개선, 다른 프로젝트 관리자와 협력 등 모~든 작업을 말한다.

 

위 내용은 프로젝트 관리 활동들의 비기술적, 기술적 측면을 다 말한 것이고

 

기술적 측면만 이야기하면

1. 제안서 작성

2. 프로젝트 계획 및 스케줄링

3. 프로젝트 비용, 계획

4. 인력 선발 및 평가

5. 보고서 작성 및 프레젠테이션

으로 이야기할 수 있다. 

 

앞서 프로젝트 관리는 프로젝트를 계획하고 수행하기 위해 필요한 모든 작업이라고 했었다.


프로젝트를 계획하려면

우선 프로젝트 계획 수립 작업이 필요하다.

-계획 수립은 시간이 많이 걸리는 프로젝트 관리활동이다.

- 초기 개념에서 시스템 제공에 이르기까지 지속되는 활동이다.

- 새로운 정보를 이용할 수 있을때마다 계획을 정기적으로 수정해야한다.

- 주요 소프트웨어 프로젝트 계획을 지원하기 위한 다양한 종류의 계획이 있다. 

      * Quality plan(품질 계획: 품질 확보를 위한 절차 표준 기술), Validation plan(검증 계획 : 시스템 검증 위한 자원및 스케줄 기술)

       * Staff development plan(시스템 개발 인원 관련 플랜) 등등 10여개 이상의 계획 종류가 있다. 각각의 상황에 맞게 플랜을 참조하             면   좋다.  소규모 프로젝트는 이러한 플랜들을 다 적진 않지만 대규모 프로젝트는 개발에 앞서 여러 종류의 계획을 다 작성해야한다.

                                                                                                       


다음은 프로젝트의 기술적으로 수행해야할 관리활동은

 

1. 개발 노력 추정

2. 일정 관리

3. 인력 관리

4. 위험분석

 

크게 4가지를 거쳐야한다. 이 활동들은 아래에서 하나하나 살펴보자.

 

 

 

 

 

 

1. 프로젝트 개발 노력 추정


프로젝트 개발 노력 추정 시 고려 사항

개발 노력 추정 시 두 가지 모델이 주로 사용된다.

 

 

1. 기능 점수 모델

- 논리적 설계를 기초로 사용자에게 제공되는 소프트웨어의 기능을 정량화하여 소프트웨어의 규모ㅗ 산정

- 데이터 관리 위주의 소프트웨어에 적합

- 조직에 관계없이 애플리케이션 복잡도 계산의 일관성 제공

- 프로그래밍 언어와 무고나하게 객관적인 복잡도 산정이 가능

 

- 기능 점수 산정 절차

UFP : 고정 전 기능 점수 산정 / VAF : 조정 인자를 산정 / AFP : 고정된 기능 점수 산정

  - 기능 점수 모델 : UFP(Unadjusted Function Point) 산정

      - 다섯 가지 소프트웨어 구성요소 : 외부 입력, 외부 출력, 외부 질의, 내부 논리 파일, 외부 인터페이스 파일 

                                                          => 이 다섯 요소의 가중치를 계산하여 UFP 를 계산한다.

 

 

 

    - 기능 점수 모델 : VAF (Value Adjustment Factor) 산정

      - 14개 기술적 분야에 대한 복잡도를 고려하여 0-5의 점수 부여 : 데이터 통신, 분산 데이터, 성능 중요도, 과중한 하드웨어 사용, 높은 트랜잭션 비율, 온라인 데이터 입력, 온라인 업데이트, 이식성, 재사용성, 오퍼레이션 용이성, 설치 용이성, 유지보수성, 복잡한 계산, end-user 의 효율

 

 

   - 기능 점수 모델 : AFP (Adjusted Function Point) 산정

         - AFP(FP) = UTP * TCF 

        - 노력 추정 = (w FP) / (y FP/1MM) = z MM

               - FP/1MM : 개발 팀의 생산성 (개발자 1인이 1개월에 개발할 수 있는 평균 FP)

 

 

2. 객체 점수 모델

- 객체 지향 시스템을 개발할 때 객체를 기초로 한 추정 방법이다.

 1. 문제 도메인에 있는 클래스 개수 추정( Cc) : 요구 분석과 UML 모델링을 통해 추정

 2. 사용자 입력의 종류 분류 및 가중치 부여(Wi)

    - UI 없음:2.0  / 단순한 텍스트 UI:2.25 / 복잡한 UI : 3.0 / 그래픽 UI 2.5

 3. 최종 클래스 개수 (TCc) = Cc * Wi + Cc

 4. Effort = TCc * MD (MD : 클래스 하나를 개발하는데 소요되는 생산성 추정 값)

 

MM : ManMonth 한사람이 한달간 걸리는 노력


2. 프로젝트 일정 관리


 

프로젝트 일정 관리를 위한 프로세스들 먼저 알아보자.

 

프로젝트 일정 관리 프로세스

- 활동 정의

   : WBS 에서 정의한 활동을 달성하기 위해 구체적인 활동 식별

- 활동 순서 정의

  : 활동 간의 논리적인 순서 관계를 정의

- 활동 자원 추정

  : 개별 활동의 수행을 위해 필요한 자원을 추정

- 활동 기간 추정

  : 개별 활동을 완료하기 위해 필요한 작업 기간을 추정

- 일정 계획 수립

  : 개별 활동의 순서, 기간 및 필요한 자원 등을 분석하여 일정을 작성

- 일정 통제 

  : 계획 대비 일정 차이를 모니터링하여 필요한 조치를 취함

 

 

 

우선 과정에 대한 학습 전에 관련 배경 지식을 정리를 해보자

 

프로젝트에서의 활동(Activity)은

관리 측면에서 진행 상황을 판단할 수 있도록 가시적 산출물을 생산하도록 조직되어야한다.

 

 

여기서 중요한 개념인 마일스톤은 이정표란 뜻으로 프롲게트 진행 과정에서 중요한 이벤트 또는 활동의 완료 시점을 나타낸다. 

 

Dliverable 은 산출물이란 의미로 고객에게 제공되는 프로젝트 결과물이다.

 

 

프로젝트 일정 관리를 위해선 일련의 프로세스를 거쳐야 한다.

 

1. 일정 계획을 수립한다.

: 개발 프로세스를 이루는 활동을 파악하고 순서와 일정을 정하는 작업이다. 

산출물 생산에 소요되는 작업을 결정하고 작업의 예상 시간을 결정하고 작업의 종속 관게(선행 작업)을 파악해야한다.

 

 

이를 위해선 PERT/CPM 차트를 활용할 수 있다.

PERT/CMP차트

Program Evaluation and Review Rechnique/Critical Path Method 이다.

세분화된 작업을 효율적으로 일정 관리하고 지원하기 위한 기법으로 관리에 대한 작업도 포함할 수 있다.

여기서는 작업 시간을 정확하게 예측학는 것이 중요하다.

 

PERT/CPM 차트는 다음과 같은 장점을 가진다.

- 관리자의 일정 계획 수립에 도움이 된다.

- 프로젝트 안에 포함된 작업 사이의 관계를 표현할 수 있다.

- 병행 작업 계획을 세울 수 있다.

- 일정 시뮬레이션이 가능하다.

- 일정 점검, 관리가 가능하다.

 

예를 들어 다음과 같은 작업들이 있다고 하자.

 

작업의 소요시간과 의존성을 나타낸 표이다.

이에 대해 아래와 같은 PERT/CPM 차트를 작성할 수 있다. 

 

 

그 후 임계 경로를 구한다. 임계 경로란 Critical Path 로 Pert Chart 에서 소요 시간이 가장 긴 경로이다. 프로젝트를 완수하기 위해 필요한 최소시간을 나타낸다.

 

위 예시에서는 

간트차트 

 

간트 차트는 활동 별로 작업의 시작과 끝을 나타낸 그래프이다.

 

가로축에는 시간 세로축에는 작업이 나오고 마일스톤은 마름묘 표사, 파란색 막대는 여유시간을 의미한다.

 

간트 차트는 계획 대비 진척도를 표시할 수 있으며 개인별 일정표를 표시할 수 있다.

 

 

https://create.microsoft.com/ko-kr/templates/gantt-%EC%B0%A8%ED%8A%B8

 

 

Gantt 차트 디자인 서식 파일 | Microsoft Create

Gantt 차트 디자인 및 서식 파일로 프로젝트를 빛낼 수 있는 기회를 제공하세요. 성공을 위한 프로젝트 단계의 시각적 타임라인을 만드는 것은 결코 쉬운 일이 아닙니다.

create.microsoft.com

마이크로소프트에선 여러 간츠 엑셀파일을 제공한다. 앞으로의 프로젝트에서 활용해야 겠다.

 

728x90