현재 SW마에스트로의 중반기에 접어들었는데, 최근 배포한 1차 MVP 앱의 사용자 피드백이 원하던 만큼 좋지 않았다. 그래서 스낵 운동앱이라는 주제는 그대로 유지하면서, UI와 기능 전반을 대대적으로 개선하기로 결정했다.
이전 프로젝트에서는 Jira와 애자일 개발 방법론을 도입해 시도했으나, 애자일 방법론의 장점을 충분히 못살렸다는 느낌이 들었다. 따라서 이번에는 애자일 스크럼과 Jira의 깊은 이해를 바탕으로 프로젝트에 들어가면 좋을 것 같아 마음을 다잡고 처음부터 다시 개념 공부를 하려 한다. 😇
애자일은 소프트웨어 개발 방법론 중 하나로, 변화에 유연하게 대응하면서 고객의 요구사항을 빠르고 지속적으로 만족시키기 위한 원칙과 접근 방식을 의미합니다.
<애자일 방법론의 종류>
스크럼은 애자일 방법론 중 하나의 구체적인 프레임워크로, 고정된 주기인 스프린트(보통 2~4주)를 통해 제품을 개발하고 개선하는 방법론입니다.
애자일은 소프트웨어 개발 방법론을 의마하고, 스크럼은 애자일의 원칙을 구체적으로 실행하기 위한 프레임워크로 보면 된다. 즉, 스크럼은 애자일의 하위 집합 중 하나로 볼 수 있다.
스크럼에는 세 가지 주요 역할자가 있으며, 역할자는 다음과 같다.
PO는 비즈니스 목표를 충족시키는 제품을 만들기 위해 제품 백로그를 관리하고 제품을 검토하는 역할이다.
SM은 스크럼 PO와 DT가 민첩한 가치와 원칙을 유지하며 성공적인 제품을 만들고, 이들이 해당 원칙과 가치에 따라 작업할 수 있도록 지원하는 역할을 한다.
DT는 제품 백로그의 항목들을 구체화하여 실제 제품이나 서비스를 개발하는 역할을 한다.
정리해보면 PO는 무엇을 개발할 것인지 결정하고, DT는 실제 제품을 개발하고, SM은 이 두팀이 원할하게 일할 수 있도록 지원하는 역할을 한다.
사용자 스토리 (User Story) : 사용자 관점에서 원하는 기능이나 요구사항을 표현한 것이다.
최소 실행 가능 제품(Minimum Viable Product, MVP) : 팀이 최소 노력으로 고객에게 검증 결과를 받을 수 있는 수준의 제품
스프린트 (Sprint) : 계획, 개발, 리뷰 작업 등 수행되는 작업의 주기를 의미한다. 보통 1~4주 사이의 고정된 기간을 가지며 가장 흔한 기간은 2주이다. 고정된 스프린트는 팀이 백로그에서 작업할 때 향후 예측하는데 도움이 된다.
스프린트 계획 미팅 (Spring Planning Meeting) : 스프린트가 시작될 때 진행되며, 스프린트 목표와 스프린트 백로그를 계획하는 회의
스프린트 백로그 (Spring Backlog) : 각각의 스프린트 목표에 도달하기 위해 필요한 작업 목록
일일 스크럼 (Daily Scrum) : 스프린트 동안 매일 진행되는 짧은 미팅으로, 매일 어제 한일, 오늘 할일, 해결해야 할 장애/문제 요소를 공유하는 회의
스프린트 리뷰 (Spring Review) : 스프린트의 마지막에 진행되며, 스프린트 동안 완료한 작업을 고객, PO에게 시연하고 검토
스프린트 회고 (Spring Retrospective) : 마찬가지로 스프린트 마지막에 진행되며, 스프린트 과정과 결과에 대해 개선할 점을 논의
- 회고 기법 참고 : https://www.atlassian.com/blog/jira-software/5-fun-sprint-retrospective-ideas-templates
1. 제품 백로그 (Product Backlog) 구성
2. 스프린트 계획 (Spring Planning)
3. 일일 스크럼 (Daily Scrum)
4. 스프린트 리뷰 (Spring Review)
5. 스프린트 회고 (Spring Retrospective)
6. 다음 스프린트 준비
Jira는 Atlassian이 개발한 프로젝트 관리 및 이슈 추적 도구입니다. Jira는 버그 추적, 이슈 추적, 그리고 프로젝트 관리 기능을 제공합니다.
원래는 버그 추적 및 이슈 추적에 초점을 맞추어 개발되었지만, 지금은 애자일 프로젝트 관리 (스크럼과 칸반)을 위한 기능도 강력하게 지원한다.
Jira에서 이슈는 팀이나 개인이 식별해야 할 작업 항목의 단위이다. 이슈를 통해 팀원들은 각자 업무를 명확하게 알 수 있고, 진행 상태나 완료 여부를 파악할 수 있다. 이렇게 되면 팀원들은 서로의 작업에 대해 지속적으로 소통하는 데 시간을 소비하는 것을 최소화하고, 효율적으로 업무를 진행할 수 있게 된다.
Jira의 이슈에는 여러 타입이 있다.
에픽 (Epic) : 큰 작업 단위를 나타내며, 여러 스프린트에 걸쳐 진행될 수 있다.
스토리 (Story) : 사용자 관점에서 특정 기능이나 요구 사항을 서술한 것이다. 스토리는 기술적 전문 용어가 아닌 비즈니스 언어로 작성하는 것이 좋다. 스토리는 보통 한 스프린트 안에서 완료될 수 있는 크기로 설정된다.
ex) [(역할을 가진) 사용자]는 [행위 / 목표]를 수행하여 [이유]를 한다.
태스크 (Task) : 에픽 or 스토리를 완료하기 위해 개발자가 실제로 작업해야 하는 각각의 단위 작업을 말한다.
서브태스크 (Sub-Task) : 스토리나 태스크를 더 작은 단위로 분할할 때 사용되는 이슈 타입이다.
https://medium.com/hgmin/scrum-363a6bfd7a60
https://www.atlassian.com/ko/agile/tutorials/how-to-do-scrum-with-jira-software
https://blog.jandi.com/ko/2022/03/31/how-to-jira-like-a-pro/