3 분 소요

8. 일정 계획

일정 계획의 이해

일정 계획

  • 소프트웨어를 개발하기 위해 어떤 작업이 필요한지 찾은 후, 이를 진행할 순서를 결정하거나 주어진 개발 기간에 소작업의 개발 기간 및 그들 간의 순서, 필요한 자원 등과 같은 일정을 계획하는 것

일정 계획의 시작: 작업 분할 구조도(WBS)

WBS

  • 프로젝트 목표를 달성하는 데 필요한 활동과 업무를 세분화하는 작업
  • 작업 패키지: 계층 구조에서 최하위에 있는 항목, 해당 업무의 담당자를 할당할 수 있을 정도로 작게 나눔

WBS의 용도와 장점

  • 사용자와 개발자의 의사소통 도구로 사용
  • 프로젝트 업무 내역을 가시화할 수 있어 관리가 용이
  • 프로젝트 팀원의 책임과 역할이 분명
  • 필요 인력과 일정 계획을 세우는 데 기초로 활용
  • 개발비 산정 시 기초로 활용
  • 성과 측정 및 조정 시 기준선으로 활용할 수 있음

일정 계획 기법 1: 네트워크 차트

네트워크 차트(PERT/CPM)

네트워크 차트의 개요

  • WBS의 작업 순서, 소요 기간 등을 네트워크 형태의 그래프로 표현한 후 일의 중요도와 일정 관리를 명확히 하는 데 사용
  • 전체 작업 일정을 세분화해 지연을 사전에 예방할 수 있고, 개발 기간 단축에 활용해 일정을 효율적으로 관리할 수 있음
  • 유사성과 상호 장단점 때문에 PERT/CPM이라 해 두 기법을 혼합한 방법을 사용하기도 함

PERT (Program Evaluation and Review Technique)

  • 프로그램을 평가하고 검토하는 프로젝트 관리 기법
  • 프로젝트 진행 상황을 통계적인 방법으로 파악하고 이를 통해 일정 계획 및 통제를 할 수 있도록 고안

CPM (Critical Path Method)

  • 미 듀퐁사에서 화학 처리 공장의 건설 계획을 조직적으로 추진하기 위해 개발
  • 건설 공사와 같이 단위 작업이 확정적 소요 시간을 갖는 프로젝트인 경우에 적합

CPM 작업 과정

  • CPM으로 네트워크를 그리려면 학사관리 애플리케이션을 수행하는 데 필요한 작업, 선행 작업, 작업의 소요 기간이 필요

CPM 작업 과정

① CPM 네트워크를 그림

  • 노드와 간선을 이용해 초기의 CPM 네트워크를 그림
  • 노드는 작업을, 간선은 작업들 간의 선후 의존 관계를 나타냄

sw_3_2_1

② ES값을 구함

  • ES: 가능한 빨리 시작할 수 있는 시간으로, 선행 작업이 완료되었을 때 해당 작업을 시작할 수 있는 가장 빠른 시점
  • ES 값을 구할 때는 맨 앞(작업 A)에서 끝 방향으로 가며 계산
  • ES에서 주의할 부분은 두 작업이 합류하는 지점의 작업 시작 시간은 두 작업이 모두 완전히 끝났을 때

sw_3_2_2

③ EF값을 구함

  • EF: 가장 빠른 시작 시간(ES)으로 시작했을 때의 가장 빠른 완료 시간(ES+작업 소요 시간)

sw_3_2_3

④ LS값을 구함

  • LS: 어떤 작업을 늦어도 시작해야 하는 시간, 즉 가장 늦게 시작할 수 있는 시간
  • 맨 뒤(작업 M)에서 앞(작업 A) 방향으로 계산
  • 두 지점으로 갈라지는 곳에서는 다음 작업의 시작 시간에 영향을 주지 않고 시작할 수 있는 시간을 찾아 기입

⑤ LF값을 구함

  • LF: 가장 늦게 시작할 수 있는 시간(LF)에 시작해 작업을 완료한 시간(LS+작업 소요 시간)

⑥ ST값을 구함

  • ST: 여유 시간, 각 작업에서 ‘가장 늦게 시작하는 시간’에서 ‘가장 빨리 시작하는 시간’을 빼면 구할 수 있음
  • 전체 작업 시간을 줄이고 싶을 때는 여유 시간이 존재하는 작업의 시간을 줄이면 됨

sw_3_2_4

⑦ 임계 경로를 구함

  • 임계 경로: 여유 시간이 없는 경로(예시에서는 경로 ‘A-B-D-E-H-K-L-M’가 임계 경로)
  • 임계 경로에는 여유 시간이 없으므로 모든 일정 계획은 임계 경로에 좌우됨
  • 임계 경로에서 벗어난 활동을 수행하는 데 걸리는 시간이 한도 내에서 늦춰지거나 당겨 질 경우에는 전체 프로젝트 완료 시간에 변화가 없음

sw_3_2_5

일정 계획 기법 2: 간트 차트를 이용한 일정표 작성

간트 차트

  • 프로젝트 일정 관리를 위한 바 형태의 도구
  • 프로젝트의 주요 활동을 파악한 후, 각 활동의 일정을 시작하는 시점과 끝나는 시점을 연결한 막대 모양으로 표시
  • 전체 일정을 한눈에 볼 수 있음

sw_3_2_6


9. 위험 분석

위험 분석의 이해

예시) 겨울철 눈에 대비

위험 예방

  • 내일 자동차로 출근하거나 여행을 계획했다면 오늘 일기예보를 듣고 교통수단을 결정
  • 여행 계획을 세웠다면 아쉽지만 며칠 미루는 것

도구를 사용한 위험 예방

  • 폭설이 예상되지만 자동차로 출근할 수밖에 없거나, 모처럼 계획한 가족 여행을 미루기 어려울 경우가 있음
  • 스노타이어나 체인 등을 사용해 위험을 최소화

위험 예방을 위한 도구 준비

  • 여행을 떠날 때는 눈이 오지 않았지만 자동차 여행 중에 갑자기 폭설을 만날 수도 있음
  • 비상사태에 대비해 자동차 트렁크에 체인을 넣어 두거나 미끄럼을 방지할 수 있는 타이어 스프레이를 준비

위험 관리 절차

위험 관리

  • 소프트웨어 개발에 방해가 되는 요소를 파악(위험 요소 식별)
  • 위험 요소의 발생 확률과 영향도를 평가(위험 분석)
  • 분석한 결과에 따라 위험 우선순위를 정해 그에 맞게 대책을 설립

sw_3_2_7

위험 요소 식별

  • 발생 가능한 위험 요소에 대해 브레인스토밍해서 도출하는 방법
  • 이전에 유사한 프로젝트를 진행했을 때 발생한 위험 요소를 참조하는 방법
  • 대표적인 위험요소로는 개발자들의 이직, 요구사항의 변경 등

위험 분석

위험 발생 가능성의 척도

  • ‘매우 낮음(<10%), 낮음(10~25%), 보통(25~50%), 높음 (50~75%), 매우 높음(>75%)’ 등급으로 분류
  • 프로젝트 진행 중 ‘위험 발생 확률이 80%를 초과하면 상, 30~80%이면 중, 30% 미만이면 하’와 같이 세 단계로 분류

영향력

  • 재앙, 심각함, 해결 가능함, 경미함 등으로 분류
  • 비용 과 일정이 20%를 초과하면 상, 5~20%이면 중, 5% 미만이면 하’로 분류

도출된 위험 요소에 대한 가능성과 영향력을 등급으로 나타냈다면 이를 이용해 어떤 위험이 가장 중요한지 순위를 정함

위험 계획 수립

  • 위험 계획 수립은 식별된 위험 요소의 위험을 관리하기 위해 전략을 찾는 과정
  • 이 과정에서는 특히 위험을 처리하 는 위험 대응 방안을 잘 세워야 함

위험 감시

  • 식별된 위험 요소의 발생 확률과 변화 등을 관리
  • 예측한 위험 요소가 실제로 얼마나 발생했는지, 위험 대응 방안이 실제로 위험이 발생했을 때 적절했는지 등을 평가
  • 앞으로 유사한 프로젝트를 진행할 때 참고할 수 있도록 개발사 내의 데이터베이스에 기록해 놓아야 함

댓글남기기