이 글에선 JoyMall 프로젝트를 진행하면서 애자일하게 프로젝트 진행했던 방법에 대해 공유하려고 합니다.
흔히 실무에서는 Jira를 이용해 백로그에 issue 들을 등록하고 시작 날짜, 종료 날짜, 예상 시간 등을 입력해서 스프린트로 옮겨서 업무를 진행하고 이걸 팀원들과 공유합니다.
이걸 GitHub를 통해 똑같이 해볼 수 있는데요 이걸 한번 해보겠습니다!
Backlog
Spring Board
Gantt Chart
최종적으로 위와 같은 화면을 만들겁니다!
GitHub Repository에서 탭을 보면 Projects 가 있습니다. 이걸 통해 프로젝트 관리를 할 수 있습니다.
New Project를 클릭해줍니다.
그리고 New View 를 클릭하여 레이 아웃을 Table, Board, Road Map 3가지를 만들어 줍니다.
Table은 Back Log를 위한 공간이 될 것이고, Board는 스프린트 관리, Road Map은 Gantt Chart 관리를 위해 사용할 것입니다.
그리고 Settings를 클릭해줍니다.
Settings 화면에 넘어왔다면 아래와 같이 진행해줍니다.
위 사진과 같이
를 생성합니다.
우선 순위를 생성했던과 동일하게 다양한 카테고리를 생성해줍니다.
Dev, Dev Design, ETC, Test, PR, Bug, Infra, CI / CD, HotFix, Refactor ... 등등
위 사진과 같이
시작 일자와, 종료 일자 2개를 만들어 줍니다.
이번엔 스프린트를 만들겁니다. 옵션을 보면 시작일자, 지속 시간을 선택할 수 있는데요. 스프린트는 보통 1~2주 단위로 진행되므로 원하는 기간을 설정하면 됩니다.
1.New Field을 클릭
2.Field Name: Sprint #
입력
3.Field Type : Iteration 선택
4.Options: Starts on, Duration은 원하는 기간으로 선택 (저는 1주로 했습니다.)
필드명을 굳이 Sprint # 할 필요는 없습니다만 보통 Spring #1, #2, #3 .. 이런식으로 표기하기에 저렇게 작성하였습니다.
위와 같이 스프린트를 생성했다면 Add Iteration 버튼을 통해 스프린트를 계속 늘려갈 수 있습니다.
주의 할 점은 Add Iteration 후에 꼭 Save을 클릭해줘야 반영됩니다.
세팅 작업까지 마무리가 됐다면
마우스 클릭, 키보드 이동, 복사, 붙여넣기 등이 가능합니다. 따라서 최초 항목들의 담당자, 상태 등을 복붙하기 편리합니다.
백로그는 Sprint가 할당되지 않은 이슈들을 등록할 것이므로 필터링 작업을 해줍니다.
Filter 아이콘 입력창에
1. Sprint 입력
2. No Sprint # 클릭
3. Save 버튼 클릭
백로그가 완성된 화면은 위와 같습니다!
이제 백로그 세팅은 끝났고 백로그 등록하는 과정을 봅시다!
여기까지 했다면 아래와 같이 백로그를 관리할 수 있습니다!
그럼 이제 스프린트 탭을 관리하는 방법을 알아보겠습니다.
이렇게 백로그에 등록하게 되면 할 수 있는게 2가지 있습니다.
백로그를 통해 이슈를 백로그에서 쉽게 등록할 수 있습니다!
Convert to issue 하게 되면 issue를 바로 관리할 수 있게 됩니다!
그 다음 Spirnt Board로 이동해서 설정하는 법을 알아보겠습니다.
위 그림처럼 Visible fields를 만들어준 필드들을 선택해줍니다.
그리고 Slice by를 Sprint #로 선택해주세요.
그리고 위 그림의 Sprint # 1 을 클릭해준다면 스프린트 #1에 해당하는 이슈가 노출될 겁니다.
스프린트 보드에서 이슈들을 마우스 드래그 앤 드롭으로 Todo, In Progress, Done의 상태들을 바꿀 수 있습니다.
마지막으로 간트차트의 설정을 위와 같이 바꿔줍니다.
이렇게 하면 모든 설정이 끝납니다! 제가 실제로 프로젝트에서 활용했던 건 JoyMall GitHub Projects에서 확인하실 수 있습니다.
추가로 GitHub Issue를 IntelliJ와 연동하여 사용하게 된다면
이슈 목록들을 IntelliJ에서 선택 후 이슈에 대한 처리도 하게 되어 프로젝트 진행하기가 매우 편합니다!
요즘 실무에서 문서 작업이 많고 근거를 남기는게 매우 중요합니다. 위 사진은 GitHub Wiki를 이용해 프로젝트를 문서화한 모습입니다.
Github의 Wiki를 통해 프로젝트에 대한 정리 등을 하게 된다면 프로젝트에 대한 소개를 하기 매우 편리하겠죠?
이상으로 GitHub를 이용해서 애자일하게 프로젝트 관리하는 방법에 대해 알아보았습니다.
이렇게 한번 설정해놓으면 프로젝트 진행하기 매우 편리한거 같습니다! 제가 설정한건 아마 기본 중에 기본일거 같습니다. 스스로 이것 저것 선택해보면서 커스텀 해보시면 좋을거 같네요!!