반응형
Ⅰ. WBS(Work Breakdown Structure) 기술(방법론)이란?
ⅰ. 핵심 개념
- WBS는 성공적인 프로젝트 관리를 위해 프로젝트의 전체 범위를 관리 가능하고 통제하기 쉬운 작은 단위(작업 패키지)로 세분화한 '계층적 구조도'입니다.
- 단순한 일정표나 할 일 목록(To-Do List)이 아니라, 무엇(What)을 만들어야 하는지 '산출물(Deliverables)' 중심으로 프로젝트의 범위를 100% 정의하는 뼈대 역할을 합니다.
ⅱ. 등장 배경
- 과거 미 국방부와 NASA 등에서 막대한 예산과 인력이 투입되는 대규모 복잡한 프로젝트를 체계적으로 통제하기 위해 고안되었습니다.
- 소프트웨어 공학이 발전함에 따라 IT 프로젝트에서도 일정 지연, 예산 초과, 요구사항 누락을 방지하기 위한 필수적인 기준선(Baseline)으로 채택되었습니다.
Ⅱ. WBS 기술 특징
ⅰ. 100% 규칙 (100% Rule)의 적용
- 하위 레벨 작업들의 합은 반드시 상위 레벨 작업의 100%를 충족해야 하며, 그 이상도 이하도 아니어야 합니다.
- 이 규칙을 통해 프로젝트 범위에 누락된 작업이 없음을 보장하고, 불필요한 작업(Scope Creep)이 포함되는 것을 원천 차단합니다.
ⅱ. 하향식(Top-Down) 계층적 구조
- 프로젝트 최종 목표(Level 1)에서 시작하여 단계(Phase), 서브시스템(Sub-system), 그리고 담당자 할당이 가능한 최하위 단위인 작업 패키지(Work Package)까지 트리(Tree) 형태로 분할합니다.
- 각 계층은 직관적인 고유 식별 번호(예: 1.1, 1.1.2 등)를 가져, 프로젝트 참여자 간의 원활한 커뮤니케이션 코드로 활용됩니다.
Ⅲ. WBS 동작(작성) 방식
ⅰ. 1단계: 프로젝트 목표 및 산출물 정의
- 프로젝트 헌장(Project Charter) 및 요구사항 정의서를 바탕으로 최상위 목표(Level 1)를 확정합니다.
- 프로젝트가 종료되었을 때 고객에게 인도해야 할 핵심 최종 산출물들을 식별합니다.
ⅱ. 2단계: 주요 라이프사이클 및 단위 모듈 분할
- 프로젝트의 특성에 따라 '기획 - 설계 - 개발 - 테스트 - 배포' 등 굵직한 단계별로 Level 2를 쪼갭니다.
- 각 단계에서 책임질 주요 부서 또는 핵심 마일스톤(Milestone) 기준을 수립합니다.
ⅲ. 3단계: 작업 패키지(Work Package) 및 사전 도출
- Level 2를 더 작은 단위로 분할하여 단일 담당자가 시간과 예산을 산정할 수 있는 최하위 단위(작업 패키지)를 도출합니다.
- 분할된 각 작업 패키지에 예상 소요 시간(M/M), 시작일/종료일, 책임자(R&R)를 할당합니다.
- 'WBS 사전(Dictionary)'을 추가로 작성하여 각 작업의 세부 수행 지침, 인수 기준 등을 상세히 문서화합니다.
Ⅳ. WBS 기술 구성 및 흐름도
IT 웹 서비스 구축 프로젝트를 가정한 WBS의 전형적인 계층 구조 및 분할 흐름을 나타낸 다이어그램입니다.

Ⅴ. WBS (관리 도구) 설치 방법
※ WBS 프레임워크를 IT 환경에서 체계적으로 관리하기 위해 널리 쓰이는 오픈소스 프로젝트 관리 시스템인 OpenProject를 서버에 설치하는 예시입니다.
ⅰ. 사전 요구 사항 및 환경 준비
- Docker 및 Docker Compose 플러그인이 설치된 Linux(Ubuntu 22.04 LTS 권장) 서버를 준비합니다.
- 원활한 DB 처리 및 간트 차트 렌더링을 위해 최소 2 Core CPU, 4GB RAM 이상의 서버 자원을 할당합니다.
ⅱ. 오픈소스 WBS 도구(OpenProject) 설치
- 터미널을 열고 OpenProject의 최신 Docker 이미지를 다운로드 및 초기 셋업용 컨테이너를 실행합니다.
docker run -it -p 8080:80 -e SECRET_KEY_BASE=secret openproject/community:13.0 - 설치가 완료되면 브라우저에서 http://localhost:8080으로 접속하여 초기 설정된 관리자 계정(admin/admin)으로 로그인 후 비밀번호를 변경합니다.
Ⅵ. WBS 기술(도구) 사용 방법
ⅰ. 프로젝트 생성 및 WBS 초기 뼈대 세팅
- 관리 대시보드에서 [New Project]를 클릭하여 프로젝트명과 작업 기간(일정)을 설정하고 팀원들을 권한별로 초대합니다.
- 백로그(Backlog) 또는 작업 패키지(Work Packages) 탭으로 이동하여 에픽(Epic) 수준의 Level 2 노드들을 먼저 생성합니다.
ⅱ. 계층 구조화 및 간트 차트(Gantt) 연동
- 생성된 상위 작업 아래에 하위 작업(Task)들을 들여쓰기(Indent) 형태로 생성하여 부모-자식(Parent-Child) 관계의 트리 구조를 완성합니다.
- 각 작업의 선행 작업(Predecessor)과 후행 작업(Successor)의 의존성 관계를 묶어주면, 내장된 간트 차트 모듈을 통해 전체 일정이 시각적인 타임라인으로 자동 정렬됩니다.
Ⅶ. WBS 자주 쓰는 명령어 (API 및 JQL 활용)
※ 현대 IT 프로젝트에서 WBS 툴(예: Jira)과 외부 시스템(CI/CD, 사내 포털)을 연동하거나 빠르게 조작할 때 사용하는 명령어입니다.
ⅰ. WBS 데이터 추출 및 외부 시스템 연동 (cURL API)
- 특정 프로젝트의 WBS(작업 패키지) 전체 목록을 사내 보고용으로 JSON 형태로 추출할 때
: curl -u user@email.com:api_token -X GET "[https://company.atlassian.net/rest/api/3/search?jql=project=WEB](https://company.atlassian.net/rest/api/3/search?jql=project=WEB)" - 개발자가 깃허브(GitHub)에서 코드 커밋 시, 관련 WBS 작업 번호(예: WEB-102)의 상태를 '완료(Done)'로 자동 변경하는 API 전송
: curl -u user:token -X POST "[https://company.atlassian.net/rest/api/3/issue/WEB-102/transitions](https://company.atlassian.net/rest/api/3/issue/WEB-102/transitions)" -H "Content-Type: application/json" -d '{"transition": {"id": "31"}}'
ⅱ. 도구 내 효율적 관리를 위한 쿼리(Query) 사용
- 완료 기한(Due Date)이 지났으나 아직 처리되지 않은 내 담당 WBS 작업만 빠르게 필터링할 때 (Jira JQL 기준): assignee = currentUser() AND status != Done AND due < now()
- 특정 부모 작업(Level 2) 하위에 속한 전체 작업 패키지들의 진행률을 롤업(Roll-up)하여 조회할 때: parent = "WEB-100" ORDER BY priority DESC
Ⅷ. WBS 활용방안
ⅰ. 정확한 프로젝트 일정 및 비용 산출
- 규모가 큰 덩어리 작업을 통째로 견적 내는 대신, 잘게 쪼개진 WBS 작업 패키지를 기준으로 소요 시간과 필요 인력을 합산하는 상향식(Bottom-Up) 산정법을 적용하여 예측 정확도를 극대화합니다.
- 프로젝트 예산 통제 및 예비비 산정의 가장 강력한 근거 자료로 활용됩니다.
ⅱ. 협력사 R&R 명확화 및 계약 기준점 활용
- 외주 개발사나 협력사와 계약할 때, "어디까지가 우리의 업무인가?"에 대한 분쟁을 막기 위해 수행해야 할 WBS 범위를 계약서 부속 서류로 명시합니다.
- 작업 패키지 단위로 인수 테스트(Acceptance Test)를 진행하여 기성금(대금) 지급의 객관적인 기준으로 삼습니다.
ⅲ. 리스크 식별 및 크리티컬 패스(Critical Path) 관리
- WBS와 일정 네트워크 기법(PERT/CPM)을 결합하여, 프로젝트 전체 일정을 결정짓는 가장 중요한 '주공정선(Critical Path)'을 파악합니다.
- 특정 작업 패키지에 지연 리스크가 발생했을 때, 이것이 최종 납기일에 미치는 파급 효과를 즉각적으로 시뮬레이션하고 대비책을 세울 수 있습니다.
Ⅸ. WBS 트러블 슈팅
ⅰ. WBS 작성 중 발생한 범위 크립(Scope Creep) 문제
- 원인: WBS에 명시되지 않은 고객의 추가 요구사항이 통제 없이 계속 유입되어, 일정과 예산이 한계치를 초과하는 현상입니다.
- 해결: WBS 작성이 완료되면 이를 '범위 기준선(Scope Baseline)'으로 동결(Freeze)합니다. 이후 추가 요구가 발생하면 반드시 변경 통제 위원회(CCB)를 열어 일정/비용 조정 승인을 거친 뒤 WBS에 신규 버전으로 반영해야 합니다.
ⅱ. 100% 규칙 위반 및 논리적 붕괴
- 원인: WBS 하위 작업을 모두 완료(100%)했으나 상위 목표가 물리적으로 완성되지 않거나, 반대로 목표 달성에 불필요한 작업이 포함되어 리소스가 낭비되는 상황입니다.
- 해결: PM과 실무 리더가 모여 WBS 리뷰 회의를 정기적으로 진행해야 합니다. 상위 노드에서 하위 노드로 쪼개지는 논리가 합당한지 크로스 체크하고, 누락된 중간 단위 산출물(Mockup, 설계서 등)을 재도출하여 구조에 편입시킵니다.
ⅲ. 시스템 연동 동기화 오류 (도구 트러블 슈팅)
- 원인: WBS 툴(Jira 등)과 개발 플랫폼(GitLab, GitHub)을 Webhook으로 연동했으나, 개발자가 커밋을 해도 WBS 이슈 상태가 자동 변경되지 않는 지연 장애입니다.
- 해결: 플랫폼 간 인증을 위한 API 토큰의 만료 여부를 점검하고, 방화벽 단에서 아웃바운드(Outbound) Webhook 트래픽(Port 443) 정책이 차단되지 않았는지 네트워크 로그를 재확인합니다.
반응형