안녕하세요. 오픈소스컨설팅 Atlassian Jira/Confluence 커스텀 개발을 담당하고 있는 고유림입니다.
오늘 다룰 내용
Agile(애자일)과 Scrum(스크럼)에 대해 많이 들어보셨을텐데요.
스크럼을 어떤 방식으로 업무에 적용할 수 있는지 감이 잡히지 않는 분들이 많이 계실 거 같습니다.
해당 블로그에서는 Jira를 활용하여 Scrum(스크럼)과 Sprint(스프린트)를 활용하는 방법을 상세히 설명드리겠습니다.
Scrum (스크럼) 은 Agile (애자일) 방법론 중 하나로, 프로젝트를 빠르고 유연하게 개발하기 위한 방법론입니다. Scrum에서는 프로젝트를 여러 개의 작은 주기로 나누어 각 주기마다 개발을 진행합니다. 이러한 주기를 Sprint라고 합니다.
보통 Sprint는 1주 ~ 4주 사이로 설정됩니다.
기존 프로젝트 진행 방식과 Sprint 방식의 가장 큰 차이점은 “반복적인 개발과 피드백”입니다.
Sprint를 적용하면 일정 기간 동안 목표를 달성하기 위한 작업을 선정하고, 이를 반복적으로 수행하며 결과물을 만들어 갑니다. 이 과정에서 지속적으로 피드백을 받으며, 이를 바탕으로 지속적인 개선을 진행합니다.
Sprint의 장점은 작은 목표를 반복 수행하기에 큰 하나의 프로젝트 일정에서 수행할 때 보다 변화에 민감하게 대처할 수 있습니다.
또한, 짧은 시간 동안 제품을 개발하고 출시하기 때문에 프로젝트가 지연되거나 예산 초과를 막을 수 있으며 팀원들의 협업과 커뮤니케이션을 강화시켜 효율적인 작업이 가능합니다.
Sprint를 적용하기 위해서는 이를 체계적으로 관리할 수 있는 Tool이 필요합니다.
다음 챕터에서 Jira(지라)를 활용하여 효율적으로 Sprint를 수행하고 관리할 수 있는 방법에 대해 말씀드리겠습니다.
Jira를 활용하여 Sprint를 진행해보자
Scrum 및 Sprint 진행과 관리에 용이한 툴이 Jira입니다.
Jira에서 Scrum보드를 활용하여 Sprint를 진행하는 방법에 대해 알아봅시다.
*(참고) 1. 기본적으로 Sprint진행을 위해서는 Jira에 프로젝트가 생성되어 있어야하며 해당 프로젝트에 Scrum(스크럼) 타입의 보드가 존재해야합니다. 2. Sprint를 시작하기 전에 해당 Sprint에서 수행할 이슈를 모두 생성한 후 Sprint를 시작합니다.
Scrum 보드의 좌측 Backlog(백로그) 메뉴에서 생성된 Sprint와 이슈 목록을 확인할 수 있습니다.
1. Sprint가 없다면 Create Sprint(스프린트 생성)에서 새로운 Sprint 생성이 가능합니다.
2. 각 Sprint 혹은 Backlog에서 이슈 생성이 가능하며 각 Sprint에 속한 이슈가 해당 Sprint 기간 동안 수행할 이슈입니다.
3. Sprint 계획이 완료되었다면 Start Sprint(스프린트 시작)를 통해 Sprint를 시작하여 업무를 진행합니다.
이미지와 같이 좌측 Active Sprint(활성 스프린트) 메뉴에서 현재 진행중인 Sprint의 이슈 상태 확인및 이슈 상태 전환이 가능합니다.
Sprint가 완료되면 해당 Sprint를 완료(Complete Sprint)해줄 수 있습니다.
Jira에서 Sprint의 진행은 간단합니다. 스프린트에서 어려운 점은 스프린트를 계획하고 회고하는 부분으로 해당 부분이 잘 이루어지지 않는다면 이전과 동일한 업무 방식으로 다시 되돌아 갈 가능성이 큽니다.
Sprint의 진행 과정을 아래 이미지와 같이 정리할 수 있습니다.
아래 이미지를 참고하여 Sprint를 올바르게 진행해 업무의 효율을 높여보세요.
보고서를 통해 Sprint를 관리하고 개선해보자
Jira Scrum 보드에서 제공하는 Reports(보고서)기능의 경우 Sprint 진행 및 완료 사항을 시각적으로 확인하고 분석하는데 도움이 됩니다. Sprint를 분석하여 다음 Sprint를 수립할 때 적절한 양의 업무를 계획할 수 있습니다.
Jira에서 다양한 보고서 기능을 제공하고 있으며 그 중 많이 이용되는 보고서 몇가지를 설명드리겠습니다.
- Sprint Report(스프린트 보고서)
: 스프린트 단위로 진행 상황을 살펴볼 수 있으며, 스프린트 내에서 완료된 이슈, 예상 소요 시간과 실제 소요 시간, 차트 등을 확인할 수 있습니다. - Velocity Chart(속도 차트)
: 이전 스프린트에서 예상되는 이슈 완료량과 실제 이슈 완료량을 비교하여, 향후 스프린트에서 예상되는 이슈 완료량을 예측하는 차트입니다. - Control Chart(제어 차트)
: 일정 기간 내에서 이슈의 완료 시간과 완료된 이슈의 수를 측정하여, 이슈의 완료 시간 분포와 완료된 이슈의 수에 대한 변동을 시각적으로 나타낸 차트입니다. - Burndown Chart(번다운 차트)
: 스프린트의 진행 상황을 시각적으로 파악할 수 있는 도구로, 시간에 따른 작업 양의 변화를 보여줍니다. - Cumulative Flow Diagram(누적 흐름 다이어그램)
: 일정 기간 내에서 이슈의 상태 변화를 시각적으로 나타내는 차트로, 이슈의 진행 상태에 따라 To Do, In Progress, Done 등의 상태를 나타낼 수 있습니다.
아래 Burndown Chart예시가 있습니다.
Burndown Chart에서는 계획된 이슈의 양(혹은 시간)이 가이드라인을 따라 진행되었다면 적절히 계획이 되었다는 의미입니다. 만약 가이드 라인에서 크게 벗어난 경우 다음 Sprint에서 개선하여 계획을 수립하도록 참고해보세요.
대시보드를 활용하여 Sprint를 모니터링해보자
Jira에서는 한눈에 진행 현황을 볼 수 있는 대시보드 기능을 제공합니다.
대시보드의 각 아이템을 가젯이라고 합니다.
대시보드에 Sprint 관련 가젯 혹은 JQL에서 Sprint 검색 필터를 활용하여 Sprint 현황을 모니터링 할 수 있습니다.
Sprint와 관련된 가젯의 경우 Sprint Health Gadget(스프린트 상태 가젯) / Sprint Burndown Chart(스프린트 번다운 차트 가젯) / Velocity Chart (속도 차트 가젯)등 이용이 가능합니다. 대시보드를 구성하여 프로젝트를 효율적으로 관리해보세요.
Automation을 적용하여 Sprint를 자동화해보자
Jira는 특정 이벤트에 따라 특정 작업을 자동으로 수행하도록 설정하여 수작업을 줄여주는 Automaion(자동화) 기능을 지원합니다.
Sprint를 진행하다보면 반복적으로 수행되는 일들이 있습니다.
해당 작업을 Jira Automation에 등록하여 자동화 할 수 있습니다.
*(참고) 1. 일부 Jira 버전에서 Automation 기능을 지원하지 않을 수 있습니다. 2. Automation으로 구현이 어려운 경우 Add-on을 통해 Custom 개발하여 적용 가능합니다.
Automation에서 할 수 있는 설정 몇가지를 알려드립니다.
- 이슈 담당자 할당 자동화
: 이슈가 “In Progress” 상태로 변경될 때, 해당 이슈를 현재 로그인한 사용자에게 자동으로 할당하도록 설정 - 이슈 알림 자동화
: Slack으로 미완료 이슈에 대해 알림 발송 - 스프린트 이슈 자동화
: 스프린트가 끝나면 미해결 이슈를 다음 스프린트에 자동으로 할당 - 이슈 스프린트 자동 할당
: 새로운 이슈의 스프린트가 비어있는 경우 자동으로 활성 스프린트로 할당
다양한 이벤트에 적용이 가능하므로 불필요한 업무는 최소화하여 업무 효율을 증진시켜보세요.
마무리
Jira를 활용하여 Sprint진행 및 분석과 모니터링 방법에 대해 설명드렸습니다.
Sprint 진행 시 회고 과정은 놓치기 쉬운 부분입니다.
자주 돌아오는 회고 시간을 그냥 넘어가게 되는 경우가 많이 발생합니다.
회고 과정을 거쳐야만 팀의 현재 가용성을 파악하여 업무 계획을 적절하게 할 수 있으므로 중요도를 높여 진행해주시면 팀의 발전에 많은 도움이 될 수 있습니다.
지속적으로 부족한 부분을 채워가며 성공적인 Sprint 진행을 위한 5가지 팁을 전달드리며 마무리 하겠습니다.
Agile 및 Scrum (스크럼) 문화 적용에 도움이 되었으면 좋겠습니다.
Sprint 적용 5가지 팁
1.제대로 된 이슈 생성 및 관리
2.이슈 우선순위 지정 및 스프린트 계획 설정
3.스프린트 목표 설정 및 추적
4.팀원 간 의사소통 및 업무 공유
5.스프린트 후보 목록 관리 및 우선순위 조정
참고 링크 Sprint란? https://www.atlassian.com/ko/agile/scrum/sprints Jira를 활용한 스크럼 진행 예제 https://www.atlassian.com/ko/agile/tutorials/how-to-do-scrum-with-jira-software Jira Automation이란? (For Cloud) https://support.atlassian.com/cloud-automation/docs/create-and-configure-jira-automation-rules/