Jira에서는 이슈가 만들어지고 완료될 때까지 따르는 업무 흐름을 워크플로라고 합니다. 이슈의 생성부터 종료까지 거치는 일련의 상태 및 전환으로 구성되어 있으며, 일반적으로 조직 내의 작업 프로세스를 나타냅니다. 아래는 워크플로의 예시입니다.
워크플로는 3개의 고유한 요소로 이루어져 있습니다.
상태: 워크플로 내에서 이슈의 위치를 나타냅니다. 몇 가지 예로, 미해결, 진행 중, 검토 중, 예약됨, 보류 중, 대기 중 등이 있습니다.
전환: 이슈를 다음 상태로 이동하기 위해 취하는 조치를 의미합니다. 전환은 단방향 링크이므로, 이슈가 두 상태 사이를 여러 번 전환해야 하는 경우 두 개의 전환을 만들어야 합니다.
해결: 작업이 완료되었거나 더 이상 미해결 상태로 볼 수 없는 경우에 해당합니다. 몇 가지 예로, 종료됨, 해결됨, 제공됨, 완료됨, 완료, 마무리됨, 안함 등이 있습니다.
각 전환에 특정 전환 조건, 승인 절차, 또는 자동화 작업을 포함시킬 수도 있습니다.
작업 유형마다 거치는 프로세스가 다를 수 있습니다. Jira를 사용하면 서로 다른 워크플로를 다양한 이슈 유형과 연결하여 팀이 워크플로를 보다 정확하게 가져가게끔 구성할 수 있습니다. 권한 구성표 (permission scheme)와 마찬가지로, 워크플로 구성표는 워크플로와 이슈 유형간 연결 집합을 의미합니다. 모든 프로젝트에는 적어도 하나의 워크플로 구성표가 필요하고, 워크플로 구성표는 여러 프로젝트에 적용할 수 있습니다.
아래와 같은 사용 예시가 있습니다.
어떤 조직에 개발팀이 하나 있고, 이 개발팀은 Jira 프로젝트를 사용하여 작업을 관리합니다. 프로젝트에는 이슈 유형마다 고유한 워크플로가 있습니다.
버그 이슈 유형이란, 해결해야 할 오류를 말하며, “심사됨”, “수정됨”과 같은 상태를 사용합니다.
스토리 이슈 유형이란, 기능 관련 작업을 말하며, “디자인 WIP”, “디자인 검토”, “개발 준비 완료”와 같은 상태를 사용합니다.
작업 및 하위 작업 이슈 유형이란, 나머지 모든 유형의 프로젝트 작업을 말하며, “할 일”, “진행 중”, “완료”와 같은 상태를 사용합니다.
1년이 지나자 개발팀의 규모가 두 배로 늘어났고, 이에 엔지니어링 매니저는 팀을 둘로 나눈 뒤 두 번째 Jira 프로젝트를 만들었습니다. 두 팀 모두 업무가 비슷하므로, 워크플로와 이슈 유형 간의 연결 집합인 첫 번째 프로젝트의 워크플로 구성표를 두 번째 프로젝트에 적용했습니다. 두 팀이 자체 프로젝트를 소유한 경우, 관련 있는 작업에 계속 집중할 수 있고 적합한 방식으로 자체 작업을 관리할 수 있는 자율성을 가지게 됩니다. 동시에 엔지니어링 매니저는 동일한 워크플로 구성표를 공유하므로, 양 프로젝트의 모든 이슈를 일관성 있게 조회하는 것이 가능합니다.
워크플로 구성표는 현재 회사에서 관리하는 프로젝트에서만 사용할 수 있습니다.
워크플로 편집기는 워크플로의 단계 및 전환을 만들거나 편집할 수 있는 도구입니다. 이 기능에 액세스하려면 'Jira 시스템 관리자' 전역 권한을 가진 사용자로 로그인해야 합니다.
Jira에서 워크플로는 보드와 아주 밀접한 관련이 있습니다. 워크플로는 이슈가 만들어지고 완료될 때까지 따르는 경로를 말합니다. 각 워크플로는 이슈가 수명 주기 동안 거치는 상태 및 전환으로 구성되어 있습니다. 보드는 워크플로를 거치는 작업을 시각화하는 데 사용되는 도구입니다.
Jira 관리자는 대개 워크플로의 단계와 일치하도록 보드의 열을 설정합니다. 워크플로가 간단한 팀의 경우 각 열의 이슈에 사용할 수 있는 상태는 워크플로의 단계를 반영합니다.
프로세스가 더 복잡한 팀의 경우 보드 열은 전체 워크플로의 일부 단계만 나타낼 수 있습니다. 이 상황에서 팀은 보통 각 열에 여러 상태를 매핑합니다. 그러면 팀이 보드를 복잡하게 만들지 않고도 다양한 이슈 유형에 맞는 다양한 워크플로를 더 정확하게 표현할 수 있습니다.
회사에서 관리하는 프로젝트는 고급 워크플로 구성이 가능하여, 아무리 복잡한 워크플로라도 쉽게 매핑하고 간소화할 수 있습니다. 예를 들어, 조건을 만들어서 인스턴스에서 사용자가 전환을 실행해야 하는지를 제어할 수 있습니다.
이러한 기능은 한편 Automation for Jira에서 제공하는 자동화 규칙과 비슷하기도 합니다. 그러나 고급 워크플로 구성과 자동화는 몇 가지 중요한 차이점이 있습니다.
고급 워크플로 구성은 워크플로 구성표에 의해서만 기능하는 반면, 자동화 규칙은 범용적인 도구로서 다양한 기능에 적용됩니다.
고급 워크플로 구성은 실행하기가 조금 더 어려울 수 있지만 규모에 맞게 관리하기는 쉽습니다.
자동화 규칙은 가격 플랜에 따라 사용 범위 또는 사용량이 다릅니다. 즉, 비용적 측면에서 고급 워크플로 구성이 유리할 수 있습니다.
고급 워크플로 구성은 현재 회사에서 관리하는 프로젝트에서만 사용할 수 있습니다. 팀에서 관리하는 프로젝트 (team-managed project)와 회사에서 관리하는 프로젝트 (company-managed project)에 대하여 자세히 알아보기
단순함이 핵심입니다. 너무 복잡하게 구성하면 오히려 효율을 떨어뜨릴 수 있습니다. 또한 팀마다 완전히 다른 워크플로를 사용하기 시작하면 협업이 까다로워질 수 있습니다. 예를 들어, 너무 많은 상태(status)와 전환(transition)이 얽힌 워크플로는 팀원들에게 혼란을 줄 수 있습니다. 단순하고 규모에 맞게 조정할 수 있는 워크플로를 목표로 하세요.
워크플로를 자주 검토하고 개선하세요. 워크플로는 팀의 실제 프로세스를 반영해야 합니다. 이를 위해, 분기/반기별 또는 프로젝트 완료 때마다 워크플로를 리뷰하고, 팀원의 의견을 반영하여 개선할 수 있을 것입니다. 필요할 경우 고급 워크플로 구성, 자동화 규칙 등을 통해 사람 실수의 가능성을 줄이는 것도 가능합니다.
워크플로를 문서화하세요. 워크플로를 문서화하여 팀이 Jira를 활용하여 업무를 추적하고 관리하는 방법을 이해하도록 지원하세요. 예를 들어 각 상태가 의미하는 바와 어떤 조건에서 해당 상태로 전환해야 하는지를 상세히 기술한 문서를 Confluence에 남기거나, 새로운 팀원 온보딩 시 워크플로 문서를 교육 자료로 사용하여 학습을 효율적으로 구성할 수도 있을 것입니다.