본문 바로가기
Unity 공부

Agile 협업 흐름 (Jira - Confluence 설치 및 세팅)

by 개발하는 디토 2022. 12. 2.

오늘은 개발 방식과 협업 플로우에 대해 배웠다. 

 

 

개발 방식

개발 방식에는 Waterfall 방식, Agile 방식이 있다. 

 

Waterfall 방식

개발 계획 → 요구 분석 → 기본 설계, 상세 설계 (기능 단위로 이루어지지 않음) → 구현 테스트 유지 보수를 순차적으로 진행하는 방식이다.

Unit test 단위 시험을 진행하기는 한다. 전체를 제작해놓고 To-Do 테스트 List를 만들어서 기능 테스트를 진행한다고 한다. 다만 이러한 기능 테스트를 기능을 만들 때마다 진행하는 것이 아니라 전체적으로 프로젝트를 다 만들고 나서 진행한다.

기술적 위험이 낮고, 유사 프로젝트 경험이 있는 경우, 요구 사항이 명확할 경우 사용할 수 있디. Phase Testing 전체적인 흐름을 테스트해야 할 경우 Waterfall을 사용할 수 있다. 

 

Agile 방식

해결해야 할 문제를 제기하고 이것을 잘게 쪼개 하나하나 세분화하여 해결해나가는 개발 방식이다. 큰 그림을 세우기도 하지만 그보다는 그때그때 필요한 기능, 해결해야 할 문제를 정의하여 해결한다. 짧고 반복적인 처리를 통해 문제를 해결하며 변경이 자주 발생한다. 

가능한 방식 2가지

- Scrum : 각 Issue, 과제마다 1~4주 정도의 기한을 두고 과제를 해결하는 방식

- Kanban : 기한의 제한은 없으나 동시에 진행하는 과제의 개수에 제한을 두고 문제를 해결하는 방식

 

 

빠르게 문제를 해결하고 변화하기 위해 Agile 방식을 많이 사용한다는데, 오늘은 Agile하게 협업하는 흐름에 대해 알아보았고 그에 따른 개발 환경 세팅을 해보았다.

 

협업의 흐름

협업은 기획/관리 - 개발 - 배포 3단계가 톱니바퀴 돌리듯 맞물리며 일어난다.이 과정에서 사용하는 툴로 Agile하게 일하기 위한 기획 관리 도구인 Jira, Notion처럼 기록을 남길 수 있는 Confluence / 개발 과정에서 코드를 유지, 보수할 수 있는 Bitbucket 또는 GitHub / 배포를 위한 Jenkins 등이 있다. 

  • Jira(Agile 툴)에서 이슈 등록 후 해결하면 기록하고 GitHub에 업로드.
  • Github(코드 관리 툴)에서 코드 관리하면서 설정한 주기에 따라 Jenkins에 연동.
  • Jenkins(CI 툴)에서 빌드 후 Jira에 버전 및 빌드 내역 자동 등록.

표로 정리하면 아래와 같다. 

  Agile Code, Version Control CI
Tools Jira, Confluence GitHub Jenkins

Notion은 들어봤는데 Confluence는 뭐지? 싶겠지만 Jira를 만든 Attlassian이라는 회사에서 제공하는 Documentation 도구이다. Jira와 연동하기 좋아서 Jira를 사용하면 거의 Confluence를 사용한다고 한다. Bitbucket은 Attlassian의 코드 관리 도구인데 요즘은 GitHub이 너무 잘 되어있고 충분히 Jira와 연동이 잘 되기 때문에 GitHub을 사용하는 듯하다. Jenkins 같은 CI 툴은 code 관리 도구에서 commit을 남기면 설정한 주기마다 자동 빌드를 하고 버전 관리를 해주기 때문에 사용한다.

참고로, 이렇게 프로젝트 굴러가는 시스템을 관리하는 직종이 Devops라고 한다.

 

 

 

Atlassian 세팅하기

 

Jira

들어가서 일단 회원가입부터 때리자.

 

Atlassian | 소프트웨어 개발 및 협업 도구

전 세계 수백 만 사용자가 Atlassian 제품을 이용해 소프트웨어 개발과 프로젝트 관리, 협업, 코드 품질을 개선하고 있습니다.

www.atlassian.com

 

회원 가입 후 팀 이름 소문자와 하이픈을 이용해서 짓는다. 이후 템플릿과 유형을 고르면 된다. 유형은 회사에서 쓰는 것이 아니라면 그냥 팀에서 관리를 누른다.

 

템플릿은 위에서 말한 Scrum과 Kanban 2가지 방식이 있다.

  • Kanban은 기한 설정을 하지 않고 간단히 할 일의 우선순위와 진행 단계 정도만 적기 때문에 Scrum보다 훨씬 캐주얼하다. 보드에 바로 할 일을 등록하고 담당자만 지정하면 된다. 보드의 개수 제한을 통해 동시에 진행하는 작업의 개수를 제한할 수 있다.
  • Scrum은 해결해야 할 문제를 백로그로 작성 후 달성하고 싶은 백로그를 스프린트로 진행한다. 진행 기한을 설정할 수 있다.

Kanban보다는 Scrum이 이것저것 설정할 수 있는 부분도 많고, 백로그 등록 -> 스프린트로 쪼개어 해결 이런 과정을 연습해보고 싶기 때문에 Scrum으로 설정하였다.

 

백로그, 스프린트

해결해야 할 문제를 백로그로 만들고 이 문제를 더 잘게 쪼개 스프린트에서 진행할 수 있다.

백로그 만들기 → 스프린트 만들기 → 담당자 할당 → 레이블 (일종의 태그) 할당 →  스프린트 시작
  1. 백로그와 스프린트는 이슈 유형을 지정하고 요약을 적는 것만으로 생성 가능하며 더 자세한 설정은 일단 작성 후 요약을 클릭해 진행한다.
  2. 스프린트(하위 단위 이슈) 생성 후 백로그(상위 단위 이슈) 연결은 스프린트에서 링크 버튼🔗을 클릭하면 된다. 물론 반대로 백로그에서 하위 스프린트를 연결하는 것도 가능하다.
  3. 이후 스프린트 시작을 눌러 기한을 지정하고 스프린트를 시작할 수 있다.

이슈 유형 설정 후 백로그 요약 작성해 백로그 생성
백로그 작성 후 스프린트 작성

 

스프린트에서 백로그 검색해 연결
스프린트 시작
스프린트 시작 - 기한은 1~4주까지 가능, 직접 설정 가능

 

 

Confluence

설치

문서 documentation 앱. Notion과 비슷하게 이것저것 적어둘 수 있는 공간이다.

Confluence 클릭 후 지금 사용해보기 > 시작하기 > 기다림의 시간... >
Confluence로 이동 > 스페이스 이름 지정 > 팀원 초대가 있지만 생략 > 작업할 스페이스 생성

Confluence 클릭
기다림의 시간 이후 Confluence로 이동

이유는 모르겠지만 스페이스가 4개나 생겨버렸는데 상단 메뉴 > 스페이스 > 모든 스페이스 보기 > 아래쪽 삭제하고 싶은 스페이스의 관리에 들어가 스페이스 삭제가 가능하다. 삭제 후 복구가 불가능하니 주의해서 삭제하자. 나는 내가 새로 만든 프로젝트용 폴더 2개가 중복으로 생성되었기 때문에 마지막 것을 삭제했다.

 

포스트

상단 만들기 > 내용 작성 > 출판 눌러야 게시물 저장됨

게시물을 하나 만들어보자. 상단의 만들기를 눌러도 되고 왼쪽 하단 페이지 +를 눌러도 된다. Notion처럼 앞쪽에 Emoji를 넣거나 배경 이미지를 추가하는 것도 가능하다.

공유 > 링크 복사도 가능하다.

 

 

 

Jira와 연결

Jira를 사용할 때 Notion이 아닌 Confluence를 쓰는 이유이다. 위의 링크 복사로 Jira에 가지고 와도 되지만 연결 기능을 제공한다.

Jira로 넘어와서 백링크/스프린트의 연결 옆 화살표 클릭 > Confluence 페이지 연결 > 원하는 페이지를 연결

백로그, 스프린트에 Confluence 페이지 연결 가능
스페이스 설정 - 페이지 제목 검색 또는 가져온 링크 붙여넣기

 

 

Jira와 GirHub, Jenkins를 연결하는 것은 다음 글로...

댓글