본문 바로가기
🧘🏻‍♂️ 생각, 개발 일반

Issue(s)와 Issue Tracking System란 무엇인가?

by kukim 2022. 8. 10.

2021년 추운 겨울, 비개발자 직군 친구와 이야기를 나눴다.

 

친구 왈 : "개발자들은 왜 이렇게 심각한 일들이 많아?"

나 왈 : "어...음...왜?"

친구 왈 : "무슨 질문만 하면 '그 이슈는 말이죠...'라고 '이슈'를 입에 달고 살더라"

나 왈 : "어 그 이슈에 대한 이슈는 말이지..."

친구 왈 : 😱

 

issue(s)란 무엇인가?

사전적 적의는 아래와 같다.

issue(s)
1. (논의 논쟁의 중요한) 주제[안건], 쟁점, 사안
2. (걱정거리가 되는) 문제
3. 발표[공표]하다.
- 출처 네이버 영한사전 'issues'

개발을 시작하며 자연스럽게 issue란 용어를 자주 접했다.

처음 issue란 뜻은 개발하며 오류나 버그가 발생했을 때 'issue'가 있어요! 정도의 의미로 생각하고 있었다. 시간이 흘러 GitHub Issues를 활용해 개발할 때는 기능 구현 또는 리팩토링에도 issue란 용어를 붙이기도 했다.

 

개발 프로젝트에서는 issue는 어떤 의미로 사용되고 있을까?

책 "글로벌 소프트웨어를 꿈꾸다"에서는 다음과 같이 정의하고 있다. 

issue(s)란
오류, 버그 및 '새로운 기능', 작업 요청, 사소한 질문이나 의견 등 제품에 관해 회사에서 대화의 대상이 되는 거의 모든 것.
- 책 "글로벌 소프트웨어를 꿈꾸다" - 김익환. p48

issue는 단순히 문제(오류, 버그)의 의미를 넘어 '기능'이나 '질문' 등 상위의 개념을 띄고 있다.

SW 개발에서 발생할 수 있는 모든 것들을 issue로 정의 내린다면 SW 개발 팀은 issue를 만들고 이를 해결한다고도 볼 수 있다.

 

예를 들어 이슈는 다음과 같이 볼 수 있다.

기능 구현 이슈 : 로그인 기능 API가 필요해요

버그 보고 이슈 : 아이폰 4 기종으로 카카오 로그인 시 에러가 발생해요.

유저 스토리 이슈 : 회원은 우리 서비스를 사용하기 위해서 로그인을 하고 싶어요.

디자인 이슈 : 카카오톡 로그인 버튼에 죠르디가 들어가면 좋겠어요.

회식 이슈 : 로그인 팀 회식 언제 하나요? 고기 먹고싶어요.

 

+a) Trac(이슈 트래킹 시스템)에서는 issue를 ticket 이라고도 한다.

Issue Tracking System(이슈 트래킹 시스템)

이슈 트래킹 시스템은 말 그대로 issue 들을 트래킹 하는 시스템이다.

왜 이슈들을 트래킹하는 시스템이 사용할까?

 

위에서 살펴본 것 처럼 이슈의 정의, '제품에 관해 대화 대상의 모든 것'이라고 정의한다면, 프로젝트에서 이슈는 정말 많다. 개발자들만 이슈를 만드는 것이 아닌 기획/디자인/경영 등 많은 팀에서도 이슈를 만들 수 있다.

 

수 많은 이슈가 있와 사람들이 있다. 효과적으로 이슈를 추적 관리하고, 협업하기 위해 이슈 트래킹 시스템이 필요한 것이다.

2021 개발자 에코시스템 팀 도구 설문 결과(JetBrain)

(설문 결과를 보면 이미 이슈 트래킹 시스템은 버전 관리 시스템, IDE, CI/CD처럼 프로젝트에서 자주 사용된다.)

 

이슈 트래킹 시스템을 사용할 때의 장점

1. 프로젝트 관리 : 프로젝트 전체 관점에서 어떤 일이 발생했고 해결되지 않았고 해결되었는지 확인하기 쉽다.

2. 협업/의사소통 : 팀원들은 자신의 해결해야 할 이슈나 다른 팀원들은 어떤 일을 하고 있는지 확인하고 피드백할 수 있다. 팀원 간의 정보 격차를 줄여준다.

3. 데이터 : 과거와 현재에 발생한 비슷한 이슈들을 연결하여 보다 효율적으로 처리할 수 있다.

 

이슈 트래킹 시스템의 종류

2020 개발자 에코시스템 팀 도구 설문 결과(JetBrain)

설문 결과를 보면 많은 회사에서 Atlassian 사의 Jira를 가장 많이 사용하고

GitHub Issues, Terello, 오픈 소스인 Redmine, JetBrain 사의 YouTrack 가 뒤를 잇는다.

 

+a) 자세한 도구 비교 : Comparison of issue-tracking systems - wiki

마치며

Issue의 정의와 Issue tracking system에 대해 간단히 알아보았다.

다음 글에서는 '사이드 프로젝트 중간에 Jira를 도입하게 된 이유'와 'Jira 프로젝트 초기 설정 방법'에 대해 알아보고자 한다.

⛓ Reference

- Comparison of issue-tracking systems - wiki

- JetBrain 설문 결과

  - https://www.jetbrains.com/ko-kr/lp/devecosystem-2021/team-tools/

  - https://www.jetbrains.com/ko-kr/lp/devecosystem-2020/team-tools/

- 이슈란 무엇인가

  - https://www.lesstif.com/jira/%EC%9D%B4%EC%8A%88%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%3F-18220116.html

댓글