BPMN 다이어그램 완벽 가이드: 실무 비즈니스 프로세스 가이드 (2026)
BPMN 2.0 표기법, 핵심 요소, 명확한 비즈니스 프로세스 다이어그램 작성 방법을 알아보세요. 이벤트, 게이트웨이, 풀, 레인 및 실제 사례를 다룹니다.
비즈니스 프로세스가 실패하는 것은 사람들이 무능해서가 아닙니다. 프로세스가 제대로 문서화되지 않고 각 팀이 서로 다르게 이해하기 때문입니다. BPMN은 이 문제를 해결하기 위해 만들어졌습니다 — 비즈니스 분석가, 개발자, 경영진 모두가 읽을 수 있는 단일 표준화된 표기법입니다.
원형, 두꺼운 테두리, X 표시 게이트웨이가 있는 플로우차트를 본 적이 있다면, BPMN을 접한 것입니다. 이 가이드는 해당 기호들의 의미, BPMN이 복잡성에도 불구하고 가치 있는 경우, 그리고 실제로 소통이 되는 비즈니스 프로세스 다이어그램을 만드는 방법을 설명합니다.
BPMN이란?
BPMN은 Business Process Model and Notation(비즈니스 프로세스 모델 및 표기법)의 약자입니다. 비즈니스 프로세스를 모델링하기 위해 OMG(Object Management Group)가 관리하는 국제 표준(ISO/IEC 19510)입니다. 현재 버전인 BPMN 2.0은 2011년에 출시되어 주요 표준으로 자리잡고 있습니다.
핵심 단어는 **표기법(notation)**입니다 — BPMN은 프로세스 다이어그램을 그리는 일반적인 접근 방식이 아니라, 정확한 규칙이 있는 특정 시각적 언어를 정의합니다. 독일의 컨설턴트가 만든 BPMN 다이어그램은 한국의 개발자에게도 동일한 의미여야 합니다.
BPMN 2.0은 XML 교환 형식도 정의하므로, 한 도구에서 만든 BPMN 다이어그램을 다른 도구로 가져올 수 있으며, 일부 도구는 BPMN 다이어그램을 실행 가능한 워크플로로 직접 실행할 수도 있습니다.
BPMN과 일반 플로우차트 비교
대부분의 프로세스는 기본 플로우차트로 문서화됩니다. BPMN은 더 구조적이고 표현력이 풍부합니다. 어떤 것을 선택할지는 대상과 목적에 따라 달라집니다.
| 측면 | 일반 플로우차트 | BPMN 다이어그램 |
|---|---|---|
| 표준 | 공식 표준 없음 | ISO/IEC 19510 (BPMN 2.0) |
| 학습 곡선 | 최소 — 널리 이해됨 | 보통 — 표기법 학습 필요 |
| 이벤트 유형 | 시작/종료만 | 30개 이상의 이벤트 유형 (타이머, 메시지, 오류) |
| 병렬 처리 | 표현하기 어려움 | 내장된 병렬 게이트웨이 지원 |
| 여러 당사자 | 수영레인으로 어색함 | 네이티브 풀 및 레인 |
| 도구 실행 가능 | 불가 | 가능 (BPMS 도구 사용 시) |
| 적합한 경우 | 단순 프로세스, 빠른 문서화 | 복잡한 조직 간 프로세스, 자동화 |
| 대상 | 누구나 | 비즈니스 분석가, 프로세스 엔지니어 |
일반 플로우차트를 사용하는 경우:
- 비기술 대상에게 프로세스를 빠르게 설명해야 할 때
- 프로세스가 한 사람이나 팀 내부에서만 이루어질 때
- 정확도 요구사항이 비공식적일 때
- 구현을 위한 문서화가 아닌 스케치를 할 때
BPMN을 사용하는 경우:
- 프로세스가 여러 부서나 조직에 걸쳐 있을 때
- 워크플로 엔진에서 프로세스를 자동화하거나 구현할 때
- 규정 준수를 위해 감사 가능한 프로세스 문서화가 필요할 때
- 개발자나 BPM 도구와 정확하게 소통해야 할 때
BPMN 2.0 핵심 요소
BPMN에는 네 가지 주요 요소 카테고리가 있습니다: 흐름 객체, 연결 객체, 수영레인, 아티팩트.
이벤트
이벤트는 무언가가 발생함을 나타냅니다. 원형으로 표시되며 프로세스의 시작, 중간, 끝에 나타납니다.
( ) ( ● ) ( × )
시작 메시지 종료
이벤트 시작 이벤트
시작 이벤트 (얇은 테두리 원): 프로세스를 트리거합니다:
- 일반 시작: 수동으로 또는 요청 시 프로세스가 시작됨
- 메시지 시작: 수신 메시지에 의해 프로세스가 트리거됨
- 타이머 시작: 일정에 따라 프로세스가 트리거됨
중간 이벤트 (이중 테두리 원): 프로세스 중에 발생합니다:
- 메시지 중간: 프로세스 중간에 메시지를 보내거나 받음
- 타이머 중간: 계속하기 전에 특정 시간을 대기
- 오류 중간: 서브프로세스에서 오류를 잡음
종료 이벤트 (두꺼운 테두리 원): 프로세스를 완료합니다:
- 일반 종료: 프로세스가 정상적으로 종료됨
- 메시지 종료: 메시지를 보내면서 프로세스가 종료됨
- 종료 이벤트: 프로세스의 모든 활동을 즉시 중단
활동
활동은 수행 중인 작업을 나타냅니다. 모서리가 둥근 직사각형으로 표시됩니다.
태스크는 원자적 작업 단위입니다 — 더 이상 분해할 수 없는 단일 단계:
┌─────────────────────┐
│ 청구서 검토 │
└─────────────────────┘
태스크 유형은 왼쪽 상단 모서리의 아이콘으로 표시됩니다:
- 사용자 태스크: 사람이 작업을 수행
- 서비스 태스크: 시스템이 자동으로 작업을 수행
- 스크립트 태스크: 스크립트 또는 규칙 엔진이 실행
- 수동 태스크: 소프트웨어 지원 없이 수행
서브프로세스는 내부에 중첩된 프로세스를 포함합니다:
┌─────────────────────┐
│ 결제 처리 │
│ [+] │
└─────────────────────┘
[+] 표시는 내부 세부 사항이 숨겨진 축소된 서브프로세스를 나타냅니다. 확장하면 내부 단계를 볼 수 있습니다.
게이트웨이
게이트웨이는 순서 흐름이 분기하거나 병합되는 방식을 제어합니다. 마름모로 표시됩니다.
배타적 게이트웨이 (XOR) — 조건에 따라 하나의 경로만 선택됩니다:
┌─────────────────┐
│ 잔액 확인 │
└────────┬────────┘
↓
◇ XOR ◇
╱ ╲
[충분] [부족]
↓ ↓
┌──────────┐ ┌──────────────┐
│ 승인 │ │ 대출 거절 │
└──────────┘ └──────────────┘
병렬 게이트웨이 (AND) — 모든 경로가 동시에 실행됩니다:
◇ AND ◇
╱ | ╲
↓ ↓ ↓
이메일 DB 팀
발송 업데이트 알림
단계가 동시에 실행될 수 있을 때 사용합니다. 짝이 되는 닫힘 게이트웨이는 계속하기 전에 모든 경로가 완료될 때까지 기다립니다.
포괄적 게이트웨이 (OR) — 조건에 따라 하나 이상의 경로가 실행됩니다:
◇ OR ◇
╱ ╲
[높은 우선순위] [모든 주문]
↓ ↓
매니저에게 에스컬레이션 티켓 기록
포괄적 게이트웨이는 모든 조건을 평가합니다. 참으로 평가되는 모든 조건이 활성 경로를 만듭니다.
순서 흐름
순서 흐름은 풀 내의 요소들을 연결하는 화살표입니다. 활동의 순서를 보여줍니다.
- 일반 흐름: 실선 화살표
- 기본 흐름: 소스 끝에 슬래시가 있는 화살표 (다른 조건이 적용되지 않을 때 사용)
- 조건부 흐름: 소스 끝에 마름모가 있는 화살표 (조건이 참일 때만 사용)
풀과 레인
풀은 참가자를 나타냅니다 — 프로세스를 실행하는 조직, 시스템 또는 역할입니다. 레인은 풀을 내부 역할이나 부서로 세분화합니다.
┌─────────────────────────────────────────────────────────┐
│ 풀: 주문 처리 프로세스 │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 레인: 영업 │ │
│ │ (시작) → 주문 수신 → 재고 확인 │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 레인: 창고 │ │
│ │ 상품 선택 → 포장 → 배송 │ │
│ └──────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ 레인: 재무 │ │
│ │ 청구서 생성 → 결제 수금 │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
주요 규칙:
- 풀 하나 = 프로세스 참가자 하나
- 레인은 참가자를 역할로 세분화 (별도의 참가자가 아님)
- 순서 흐름은 같은 풀 내의 요소들을 연결
- 메시지 흐름은 다른 풀의 요소들을 연결 (점선 화살표)
BPMN이 과도한 경우
BPMN은 강력하지만 무겁습니다. 기본적으로 BPMN을 선택하면 이점 없이 마찰만 늘어납니다.
BPMN을 건너뛰는 경우:
- 팀의 빠른 대화를 위해 프로세스를 문서화할 때
- 프로세스의 단계가 10개 미만이고 참가자가 한 명일 때
- 대상이 BPMN 표기법에 익숙하지 않은 경우 (명확하게 하기보다 혼란을 줌)
- 프로세스가 탐색적이고 크게 변경될 가능성이 있을 때
BPMN이 필요한 경우:
- 프로세스가 워크플로 엔진 (Camunda, Activiti, jBPM)에서 구현될 때
- 여러 조직이 프로세스 책임에 대해 공식적으로 합의해야 할 때
- 규정 준수를 위해 ISO 표준 문서화가 필요할 때
- 프로세스에 복잡한 병렬 실행 경로가 포함될 때
- 시스템을 통합하고 메시지 교환을 정확하게 문서화해야 할 때
단계별: BPMN 다이어그램 만들기
1단계: 프로세스 범위 정의
프로세스의 이름을 지정하고 경계를 설정합니다:
- 어떤 이벤트가 프로세스를 시작하나요?
- 어떤 이벤트가 프로세스를 종료하나요? (다른 결과에 대해 여러 종료 이벤트가 있을 수 있음)
- 어떤 참가자가 프로세스를 소유하나요?
2단계: 참가자 식별
관련된 모든 당사자를 나열합니다:
- 어떤 역할이나 부서가 활동을 수행하나요?
- 어떤 외부 시스템이 정보를 보내거나 받나요?
- 어떤 당사자가 외부 (별도의 조직)인가요?
참가자당 풀을 하나씩 만듭니다. 외부 당사자가 알림만 받는 경우 내부 세부 사항 없이 블랙박스 풀로 나타냅니다.
3단계: 먼저 행복한 경로 매핑
예외를 추가하기 전에 정상적인 성공 흐름을 다이어그램으로 만듭니다:
- 시작 이벤트 배치
- 순서대로 활동 추가
- 순서 흐름으로 연결
- 종료 이벤트 추가
이것이 구축할 수 있는 작동하는 기본 구조를 제공합니다.
4단계: 의사결정 지점 추가
프로세스가 분기하는 모든 위치를 식별합니다:
- 어떤 조건이 선택할 경로를 결정하나요?
- 경로가 상호 배타적인가요 (XOR) 아니면 여러 개가 발동될 수 있나요 (OR)?
- 단계들이 병렬로 실행될 수 있나요 (AND)?
적절한 게이트웨이 유형을 배치하고 각 나가는 흐름에 조건을 레이블로 표시합니다.
5단계: 예외 및 오류 처리
중간 오류 이벤트 및 예외 경로를 추가합니다:
- 태스크가 실패하면 어떻게 되나요?
- 어떤 타임아웃이 존재하나요?
- 어떤 외부 이벤트가 프로세스를 중단할 수 있나요?
6단계: 풀 간 메시지 흐름 추가
여러 풀이 있는 경우, 참가자 간에 전달되는 정보를 보여주는 점선 메시지 흐름 화살표를 그립니다.
7단계: 이해관계자와 검토
실제 프로세스 참가자들과 함께 다이어그램을 검토합니다. 다음을 확인하세요:
- 이상적인 상황이 아닌 실제로 일어나는 일을 반영하나요?
- 활동이 올바른 레인에 배치되었나요?
- 게이트웨이가 의사결정 로직을 올바르게 나타내나요?
실제 사례: 주문 처리
┌─────────────────────────────────────────────────────────────────────────┐
│ 풀: 전자상거래 주문 프로세스 │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ 레인: 고객 서비스 │ │
│ │ (시작) → 주문 수신 → 확인 발송 │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ 레인: 재고 │ │
│ │ 재고 확인 → ◇XOR◇ → [재고 있음] → 상품 예약 │ │
│ │ → [재고 없음] → 재입고 알림 → (종료) │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ 레인: 결제 │ │
│ │ 결제 처리 → ◇XOR◇ → [성공] → 확인 │ │
│ │ → [실패] → 고객 알림 → (종료) │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ ┌───────────────────────────────────────────────────────────────────┐ │
│ │ 레인: 이행 │ │
│ │ 상품 선택 → 주문 포장 → 배송 → [타이머: 3일] → (종료) │ │
│ └───────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
이 다이어그램이 보여주는 것에 주목하세요:
- 여러 예외 경로 (재고 없음, 결제 실패)
- 배송 추적을 위한 타이머 이벤트
- 가시적인 인수인계가 있는 명확한 레인 책임
일반적인 BPMN 실수
게이트웨이를 잘못 사용하는 경우. 단계가 실제로 병렬로 실행될 때 XOR 게이트웨이를 배치하거나 그 반대의 경우. 게이트웨이 유형은 실제 실행 로직과 일치해야 합니다.
병렬 게이트웨이 닫기를 잊는 경우. AND 분기에는 짝이 되는 AND 합류가 있어야 합니다. 병렬 경로가 열리지만 병합되지 않으면 다이어그램은 프로세스가 완료되지 않음을 의미합니다.
모든 것을 하나의 풀에 넣는 경우. 별도의 조직이나 외부 시스템은 레인이 아닌 별도의 풀이어야 합니다. 레인은 한 참가자 내의 내부 역할을 위한 것입니다.
BPMN 기호를 과도하게 사용하는 경우. 모든 다이어그램에 중간 이벤트, 보상 마커, 이벤트 서브프로세스가 필요하지는 않습니다. 단순하게 시작하고 실제 프로세스 동작을 반영할 때만 복잡성을 추가하세요.
추상화 수준을 혼합하는 경우. 한 레인은 고수준의 「신청 처리」를 보여주고 다른 레인은 12개의 세부 서브 단계를 보여줍니다. 세부성을 일관되게 유지하세요 — 모든 레인을 동일한 세부 수준으로 보여주거나, 서브프로세스를 사용하여 세부 사항을 축소하세요.
게이트웨이 흐름에 레이블 없음. 게이트웨이를 나가는 모든 순서 흐름 (기본값 제외)에는 조건 레이블이 있어야 합니다. 레이블이 없는 분기는 각 경로가 언제 실행되는지에 대한 모호성을 만듭니다.
Flowova로 BPMN 다이어그램 만들기
BPMN 다이어그램은 수동으로 만들기 매우 느리기로 유명합니다 — 기호를 올바르게 맞추고, 요소를 정렬하고, 복잡한 게이트웨이 로직을 연결하는 데 전용 도구에서도 시간이 걸립니다.
Flowova의 BPMN 다이어그램 생성기를 사용하면 비즈니스 프로세스를 일반 텍스트로 설명하면 정제할 수 있는 구조화된 다이어그램이 생성됩니다. 이는 특히 프로세스 설명에서 초기 다이어그램을 초안으로 작성하거나 기존 문서를 시각적 형태로 변환할 때 유용합니다. 생성된 후에는 게이트웨이 유형을 조정하고, 레인을 추가하고, 편집기에서 예외 경로를 직접 연결할 수 있습니다.
결론
BPMN은 정밀성이 중요할 때 적합한 도구입니다: 다중 당사자 프로세스, 워크플로 자동화, 규정 준수 문서화. 내부 소통 및 단순한 프로세스의 경우 일반 플로우차트가 더 빠르고 이해하기 쉽습니다.
BPMN을 사용할 때는 행복한 경로부터 시작하고, 게이트웨이 유형을 올바르게 파악하고, 레인 구조가 이상적인 조직도가 아닌 실제 조직 경계와 일치하도록 하세요.
관련 리소스
- 플로우차트 기호와 의미 — 표준 표기법 참조
- 수영레인 다이어그램 가이드 — 부서 간 프로세스 시각화
- BPMN 다이어그램 생성기 — AI로 BPMN 다이어그램 만들기
- 비즈니스 프로세스 플로우차트 템플릿 — 바로 사용 가능한 프로세스 템플릿
