졸업작품 애자일을 내마음대로 바꿔보자

wonjun_choi·2024년 10월 28일

졸업작품

목록 보기
2/6
post-thumbnail

들어가며

졸업작품을 진행하며 프로젝트 관리 도구로 지라를 사용하게 되었다. 현업에서 많이 사용하기에 오랫동안 프로젝트를 진행하는 만큼 제대로 한번 해보자는 것이 첫 번째 이유였다. 또 프로젝트를 진행하며 여러 깃허브 레포지토리가 생길 예정인데 이런 레포지토리들을 한 곳에서 한 번의 세팅으로 관리할 수 있는 것이 지라의 장점이라 생각하여 사용하게 되었다. 지라를 사용하기에 앞서 프로젝트 관리 도구들을 알아보고, 애자일에 대해서 간략하게 알아보며 프로젝트에 맞춰 정리하였다.

깃허브 프로젝트와 지라

깃허브에서도 프로젝트 관리 기능을 제공한다.
깃허브 프로젝트도 여러 레포지토리들의 태스크들을 이슈로써 관리할 수 있다.

다만 이번 졸업작품에서 깃허브 프로젝트를 사용하지 않은 이유는 아직 깃허브 프로젝트의 불편한 점이 몇 가지 있기 때문이다.
깃허브 프로젝트에서는 태스크를 이슈로 관리하게 되는데 새로운 레포지토리가 생성되는 경우 다른 레포와 동일하게 이슈 템플릿 설정과 라벨 설정 등을 매번 해줘야 한다.

다음으로, 스프린트별로 프로젝트를 관리하는 경우 스프린트가 바뀔 때마다 깃허브 프로젝트를 새로 만들어줘야 하며, 이전에 미리 만들어둔 이슈 태스크들이 많은 경우 새로 만든 프로젝트로 옮기는 데 시간이 많이 든다.

이런 자잘한 점 이외에는 빠르게 깃허브 프로젝트를 관리하기에는 깃허브 프로젝트도 나쁘지 않다.
다만 지라에서는 에픽, 스토리, 태스크와 같이 업무들을 관리할 수 있고, 이는 요구사항별로 진행도를 확인할 수 있으며, 여러 대시보드를 제공하기에 깃허브 프로젝트보다 다양한 기능들을 사용할 수 있다.

물론... 지라는 유료인 반면 깃허브는 무료이기에 깃허브를 사용하는 것이 더 좋을 수 있다. 프로젝트를 진행하면서 지라는 무료 버전으로 최대한 진행해보려한다.

지라와 함께 애자일을

지라를 사용하는 가장 큰 이유가 바로 애자일, 스크럼이다.

아직 애자일에 대해서 잘 모르기에 팀에서 진행하는 방식이 분명 애자일이 아닐 수 있다. 하지만 프로젝트를 진행하며 애자일과 스크럼이라는 명목으로 소통을 더 자주 하고, 서로의 결과물을 자주 합쳐보며, 중간마다 실제 동작하는 과정을 보고 앞으로의 계획을 세워나가는 과정을 하기 위해 애자일을 할 것이라고 팀원들에게 말했다.
팀원들에게 말한 것이 있기에 최대한 우리 상황에 맞는 애자일을 하기 위해서 지라를 사용하게 되었다.

스크럼

위키백과에서 가져온 스크럼 진행 방법이다

  • 제품 백로그(Product Backlog) :
    - 개발할 제품에 대한 요구 사항 목록
  • 스프린트(Sprint):
    - 반복적인 개발 주기 (회사에서 정하는 이터레이션이 개발 주기가 된다. 계획 회의부터 제품 리뷰가 진행되는 날짜 까지의 기간이 1스프린트 이다)
  • 스프린트 계획 회의(Sprint Planning Meeting) :
    - 스프린트 목표와 스프린트 백로그를 계획하는 회의
  • 스프린트 백로그(Sprint Backlog)
    - 각각의 스프린트 목표에 도달하기 위해 필요한 작업 목록
  • 일일 스크럼 회의(Daily Scrum Meeting)
    - 날마다 진행되는 미팅 (어제 한일, 오늘 할일, 장애 현상 등을 공유)
  • 실행 가능한 제품(shippable product) 개발
    - 스프린트의 결과로써 나오는 실행 가능한 제품

이 내용을 바탕으로 우리 팀에서 스크럼을 어떻게 사용할지 결정하였다.
세부적인 내용을 정하는 데 있어 "애자일 스크럼 프로젝트 관리" 책의 도움을 받았다.

  • 스프린트 : 2주 단위로 결정, 제품 리뷰까지 하기 위해서는 서버와 클라이언트 각 하나의 기능을 만들고 연결하여 테스트까지 진행해야 하므로 초기에는 2주로 스프린트를 결정하였다. 추후 프로젝트를 진행하며 조율할 예정이다
  • 스프린트 계획 회의 : 스프린트에서 어떤 업무들과 백로그를 수행할 것인지 결정하는 회의, 스프린트 시작 일자마다 진행할 예정이다.
  • 일일 스크럼 회의 : 매일 회의를 하기에는 개발이 진행되는 기간중 각자의 스케줄이 너무 달라 어려울 것으로 예상된다. 일일 스크럼 회의는 제외하고, 모두 프로젝트를 진행할 수 있는 시간을 찾아 그 시간에는 서로 음성채팅방에서 다 같이 개발하는 시간을 주기적으로 가지려 한다.
  • 실행할 수 있는 제품 개발 및 회고 : 스프린트의 결과물로써 실행할 수 있는 제품이 나오는 것을 목표로 항상 스프린트 마지막 날에는 다 같이 모여 제품의 실행을 테스트할 것이다. 그리고 스프린트를 진행하며 회고를 진행하여 어떻게 일했고, 어떻게 하면 더 좋은 결과를 낼 수 있는지 이야기하는 시간을 가지려 한다.
  • 릴리즈 플래닝 : 제품 백로그를 실행하기 위한 일정을 수립한다. 졸업작품의 실질적인 개발 기간은 3개월에서 4개월이므로, 릴리즈 플래닝을 3개월 단위로 설정할 수 없다. 여기서는 제품 백로그를 설정하고, 제품을 3단계에 걸쳐 릴리즈하며, 그때 개발하는 내용과, 일정을 보고 유동적으로 2~4 스프린트로 릴리즈 플래닝 일정을 수립하려 한다.

지라와 스크럼 용어 정리

지라에서는 업무를 에픽, 스토리, 태스크로 관리한다.
세팅하기 전 결정한 스크럼 내용을 바탕으로 지라의 에픽, 스토리, 태스크를 정리하려 한다.

에픽 : 릴리즈 플래닝 단계에서 정의하는 제일 큰 단위의 태스크 모음이다. 여러 스프린트에 걸쳐 완성되며, 릴리즈 때 어떤 것을 완성할지를 이름으로 나타낸다
ex) 2050년 3월 우주 관광 로켓 발사

스토리 : 제품 스토리를 작성하는 부분으로 에픽 아래에 위치하게 된다.
상위 기능(에픽)을 구현하기 위한 요구사항들을 문장으로 표현한다. 한 줄로 기능을 명확하게 표현하며 “{누가} {비즈니스 가치}를 위해 {어떤 기능}을 원한다”와 같이 작성한다.

태스크 : 스토리를 완수하기 위해 수행해야 하는 업무를 의미한다. 최대한 작은 단위로 분류하여 관리한다.

마치며

이렇게 졸업작품 팀에서 사용할 애자일 스크럼에 대해서 알아보았고,
이를 지라에서 어떻게 관리할 수 있는지 간략하게 정리해 보았다.
다음에는 지라를 세팅하여 실제 프로젝트를 진행하며 어떻게 지라를 활용하는지 정리해 보려 한다.

참조

스크럼 위키백과

애자일 스크럼 프로젝트 관리, 교보문고

주니어 개발팀이 Jira를 사용하는 법, velog

Jira에서 에픽을 사용하는 방법 알아보기, jira 공식문서

0개의 댓글