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 들을 트래킹 하는 시스템이다.
왜 이슈들을 트래킹하는 시스템이 사용할까?
위에서 살펴본 것 처럼 이슈의 정의, '제품에 관해 대화 대상의 모든 것'이라고 정의한다면, 프로젝트에서 이슈는 정말 많다. 개발자들만 이슈를 만드는 것이 아닌 기획/디자인/경영 등 많은 팀에서도 이슈를 만들 수 있다.
수 많은 이슈가 있와 사람들이 있다. 효과적으로 이슈를 추적 관리하고, 협업하기 위해 이슈 트래킹 시스템이 필요한 것이다.
(설문 결과를 보면 이미 이슈 트래킹 시스템은 버전 관리 시스템, IDE, CI/CD처럼 프로젝트에서 자주 사용된다.)
이슈 트래킹 시스템을 사용할 때의 장점
1. 프로젝트 관리 : 프로젝트 전체 관점에서 어떤 일이 발생했고 해결되지 않았고 해결되었는지 확인하기 쉽다.
2. 협업/의사소통 : 팀원들은 자신의 해결해야 할 이슈나 다른 팀원들은 어떤 일을 하고 있는지 확인하고 피드백할 수 있다. 팀원 간의 정보 격차를 줄여준다.
3. 데이터 : 과거와 현재에 발생한 비슷한 이슈들을 연결하여 보다 효율적으로 처리할 수 있다.
이슈 트래킹 시스템의 종류
설문 결과를 보면 많은 회사에서 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/
- 이슈란 무엇인가
'🧘🏻♂️ 생각, 개발 일반' 카테고리의 다른 글
[의사 결정] 사이드 프로젝트에서 GitHub Issues 대신에 Jira를 사용하게 된 이유와 후기 (2) | 2022.08.18 |
---|---|
Jira 1. 무료 플랜 소개와 프로젝트 생성과 초기 설정 팁 (2) | 2022.08.11 |
회고 방법 : 포스트모템(postmortem) (1) | 2022.06.12 |
실용주의 프로그래머, 실용주의 철학 📓 (2) | 2022.03.05 |
유지보수하기 좋은 코드, 앞으로의 수련 🧘🏻♂️ (0) | 2021.11.17 |
댓글