TDD
요즘은 개발 lifecycle에서 시장 출시를 앞당기기 위해 hardware, software, integration and test가 앞당겨져서 거의 같은 시기에 이루어짐. 이를 shift left라고 함
이러한 형태에 적용되는 방법론 중 하나가 TDD(test driven development)인데, 테스트를 미리 짜놓고 그에 맞춰 개발하는 방식임.
이런 애자일 형태의 개발 방법론에 jira가 아주 쓸만함
가시성 확보
PM(제품관리)이 고객의 requirement를 듣고(예를 들어 어떤 그네를 만들어주세요) 이걸 팀의 개발팀, 디자인팀, 마케터팀, CS팀, engineer팀, QA팀이 생각하는 그네가 조금씩 다 달라 다양하게 됨.
이는 고객 스스로도 본인의 요구 사항을 구체적이고 뚜렷하게 파악하거나 전달하지 않는 경우가 있기 때문에, 이 경우엔 PM 쪽에서 받아온 고객의 요구 사항이, 실제 니즈의 20퍼 정도밖에 전달이 안되기 때문에 이런 현상이 발생하는거임.
고객의 requirement에 대한 각 팀의 진행 상황 가시성 확보를 jira로 좀 더 효율적으로 할 수 있음
팀 별 jira 활용 형태
제품관리팀 : 요구사항, 신규 기능 기획
개발팀 : 신규 기능 구현, 버그 수정, 기술 지원 답변
품질보증팀 : 버그 수정 요청, 개선 기능 요청, (비)기능 테스팅 활동
운영/지원팀 : 시스템 오류, 시스템 장애, 모니터링, (고객)기술 지원, 고객 요구사항
등등
jira 제품군
jira software : jira core + agile addon
jira core : only jira (agile addon 기능 제외)
jira service management(JSM) : ITSM, 콜센터 관리자 쪽에서 쓰는 제품
jira work management(JWM) : non IT 부서에서 사용하는 제품
jira align : 포트폴리오 매니저, 프로덕트 매니저, 프로그램 매니저 등 C-레벨에서 모니터링할 때 주로 사용
jira 구축 방식(제품명이라고 보면 됨)
SaaS 방식 구성 atlassian가 직접 관리
java 언어로 구성됨. JVM 튜닝과 data 백업 등도 atlassian이 직접 해줌
UI 자동 업뎃(물론 안정성 보증된 버전으로 최신 업뎃)
on-premise 기업 내부 설치 구성. cloud와 달리 JVM 튜닝같은거 하려면 따로 전문 인력 필요)
무중단 업글, 유저 수 최소 500명 이상일 때 사용 가능
데브옵스 툴체인
아틀라시안 제품군 만으로도 데브옵스 툴체인을 구성할 수 있음.
Git같은 형상관리로 bitbucket이 있고, CI/CD로 bamboo가 있음. 문서 관리로는 confluence. 그 외에도 단계별로 맞는 제품들이 있음.
이슈
지라에서의 의미 : 팀이 식별하고 있는 작업 항목의 이름
이슈는 이슈 타입과 연결됨
이슈는 다양한 필드들의 집합으로 구성됨
실제 업무를 이슈를 통해 최소 단위로 환산하여 가시화
이슈 주요 기능
다른 이슈와 링크 가능
멘션을 통해 다른 사용자를 이슈에 참여시킬 수 있음
업무의 시작점과 끝점을 설정. 리소스를 시간 단위로 추적 (타임 트래킹 가능)
이슈는 필드의 집합임. 각 필드에 업데이트가 생기면 지라 자체적으로 작업 기록을 남김. 사용자가 여기에 개입해서 추가적인 코멘트를 남길 수 있는 기능 있음
confluence와 강력한 연동 기능 (confluence를 사용하는 이유는 jira를 사용하기 때문이기도 함)
파일 첨부 가능
이슈 키
이슈 고유 식별자임
자동 생성되고, 규칙이 있음
<project_key>-<issue_number> (ex: devridge-1)
이슈는 반드시 어떤 프로젝트든 그 안에 속해있어야 함
이슈 타입
Epic : 다른 이슈를 포함하는 가장 큰 단위의 이슈
Story : 사용자 요구 사항을 담을 때 쓰는 이슈
Task : 일반적인 작업 항목을 담을 때 쓰는 이슈 (jira는 기본적으로 담당자 1명만 지정 가능(R&R을 위해), 담당자가 여러 명이라면 서브 테스크를 담당자 수만큼 생성해서 분담하자)
Bug : 수정되어야 할 사항, 버그 내용을 담는 이슈
Sub-task : 다른 이슈의 자식 이슈 (독립적으로 존재 불가), 하위 이슈 밑에 또 하위 이슈를 만들려면, jira 기본 기능으론 안되고 다른 서드 파티 플러그인으론 가능함(빅픽처같은건가)
다양한 유형의 작업 항목을 지원 가능
이슈 타입별 필드, 화면, 워크플로우 구성 가능 (예를 들어 개발팀은 개발쪽 워크플로우, QA팀은 버그 쪽 워크플로우)
이슈 타입별 reporting
이슈 유형 계층 구조
프로젝트 > 에픽 > task, bug, story 등등 > sub-task
이슈 관리 그라운드 룰
이슈를 생성하거나 필드를 수정하고 나면 반드시 댓글에 기록해두자.
이슈 알림
이슈의 "지켜보기 옵션을 활성화 한 사용자"에게 jira 내 알림과, 연결된 각자의 이메일로 알림이 발송됨.
지켜보기 옵션은 이슈 화면에서 눈동자 모양 클릭하면 됨
보고자와 담당자는 기본적으로 지켜보기 옵션이 활성화 됨
이슈 링크
이슈와 링크 (jira 전역 관리자 권한이 있는 유저는 이슈 링크 유형 변경 가능)
confluence page와 연결
다른 web link 추가
이슈 복제
필드 채워진 거 재활용하고 싶을 때 간간히 사용하는 듯
이슈 이동
특정 프로젝트에서 다른 프로젝트로 이슈를 이동.
이슈 이동 마법사가 제공됨
이슈 레이블
이슈를 구분하고 검색하는데 사용되는 필드
보통 이슈를 검색할 때 필드들을 필터로 걸 수 있는데, 그 중 하나로 레이블이 있는거임
특정 단어로 이슈를 검색하고 싶을 때 레이블 필드를 활용하자.
구성 요소(components)
레이블과 마찬가지로 이슈를 구분하고 검색하는데 사용되는 "필드"임.
컴포넌트 별 자동 담당자 지정 기능이 있음. (단, 이슈를 생성할 때 같이 컴포넌트를 지정할 때만 가능. 이미 존재하는 이슈의 컴포넌트 필드를 수정하면 자동 담당자 지정 기능이 수행되지 않음)
프로젝트
jira에서의 프로젝트 : 관련된 이슈들의 집합
업무 단계별 이력 추적 용이
애자일 프로젝트 템플릿 제공 (칸반, 스크럼)
이슈는 단 하나의 프로젝트에만 소속
팀, 부서, 수행 프로젝트 등 목적에 맞게 구분하면 됨
jira 사용자 유형
team member : 프로젝트에서 업무를 수행하는 팀원
jira project administrator : 프로젝트의 개별 관리자
jira administrator : jira 시스템의 전역 관리
프로젝트 메뉴
reports
releases
issue
filter page (검색 필터 정의 및 재사용 가능)
components
agile board
프로젝트 보드
2차원 to do list (보드 구성은 팀의 워크플로우에 맞게 자유롭게 커스텀 가능)
이슈의 진행 상황 시각화하는 도구
팀의 업무 프로세스를 시각화하는 도구
이슈를 카드 형태로 표현
왜 업무를 시각화?
워크플로우
보드의 열은 이슈를 처리하는 각 단계를 표현함
워크플로우는 단계들로 이루어짐
이슈 유형별로 개별적인 워크플로우를 가질 수도 있음
퀵 필터
기본적으로 있는 필터 버튼도 내부적으로 JQL로 작동되는거임.
프로젝트 관리자나 전역 관리자가 퀵 필터 변경 설정 가능
JQL
SQL이랑 동일하진 않지만 유사함. 지라에서 자체 개발한 질의 언어
기본 검색으로 검색하기 어려운 이슈는 JQL로 좀 더 복잡한 조건을 걸어 검색 가능
구조 : 필드, 연산자, 값, 키워드
JQL의 구조는 필드 뒤에 연산자가오고 그 뒤에 하나 이상의 값(또는 함수)이 온다.
그리고 값(또는 함수) 뒤에 필요할 경우 키워드를 사용한다.
또한 SQL과 다르게, JQL 쿼리로부터 반환되는 필드를 지정할 순 없다.
JQL 쿼리는 일반 SQL select 구문의 where 키워드 이후 부분이라고 생각할 수 있다.
값은 필드와 비교되는 대상이며, 텍스트로 표현되는 문자값이나 값을 반환하는 함수가 될 수 있다.
ex) project = baecoding AND issuetype = Epic AND assignee = currentUser()
키보드 단축키
이슈 만들기 : c
빠른 검색 : /
빠른 작업 : .
이 외에도 다양한 단축키가 있고, 운영체제마다 다른 부분이 조금씩 있으니 참고
필터
저장해 둔 jira 필터를 confluence와 연계할 수 있음
대시보드
이슈들 통계 시각화
가젯 기반으로 구성
유용한 링크
잘 봤습니다. 좋은 글 감사합니다.