일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- k8s
- springboot
- docker
- Typesript
- Redis
- ASG
- 아키텍처
- NoSQL
- codepresso
- TypeScript
- ci/cd
- 코드프레소
- Jenkins
- Elastic Load Balancing
- Auto Scaling Group
- AWS
- kubernetes
- ELB
- REPLICATION
- Today
- Total
Study Note
태스크 관리 도구 본문
도구를 사용하는 이유
- 멀리 떨어져 있어도 쉽게 공유가 가능하다.
- 검색 등을 이용하여 지난 이슈애 대한 내용 추적이 좋다.
- 업무 프로세스에 맞춰 플로 등을 커스터 마이징 할 수 있다.
다음과 같이 태스크 관리에 많은 효율성을 부여 하지만 중요한건 프로세스와 조직 문화 자체임을 인지해야 한다.
도구 선택시 고려 사항
워크플로 사용자 정의(Workflow Customization) [필수]
태스크는 처리과정에 따라 상태 값을 가진다. 상태 값의 변화는 일종의 흐름인 워크플로를 가진다.
워크플로는 개발 조직의 업무 프로세스에 맞추어서 다시 정의되기 때문에 워크플로를 커스터마이징해야 한다.
계층(Hierachy) [필수]
태스크의 종류별로 상하, 평행의 관계를 설정해야 한다. 일반적인 링크 기능은 연결성만 제공하지만 계층을 명시적으로 보장하는 시스템은 상하 연결성을 제공한다. 때문에 계층은 추적성을 보장한다.
대시보드 [권장]
프로젝트 진행 현황을 요약한 표이다. 진행 상황, 위험요소, 팀원들의 워크폴로들을 확인 할 수 있다.
- 위험 태스크 관리
우선순위, 위험도가 높은 태스크는 요약한 화면에 별도로 표시해 상위 매니저들이 관리 할 수 있다. - 번 다운 차트(Burn Down Chart)
진행 중인 스프린트의 [마감된 태스크수/전체 태스크수]를 그래프 형태로 나타내어 프로젝트 진행 상황과 개발 속도를 보여준다. - 스프린트별 징행 현황
스프린트의 완료율을 %로 출력 - 스프린트별 버그 발생 수
진행 완료/진행 중인 스프린트의 버그 수를 출력하여 품질 관리 지표로 사용한다. 보통 진행 될수록 버그의 출몰 빈도수는 줄어든다. - 개발자별 태스크 처리량
업무 부하를 판단하고 업무 재분배를 할수 있으며 개발자의 생산정을 확인할 수 있다.
경우에 따라 대시보드를 여러개 만들어서 사용한다. 예로 다음과 같이 대시보드를 재공한다
- 개발자 : 자신의 개발 내용, 할당된 태스크 수
- 프로젝트 리더 : 프로젝트 진행 현황
- 임원급 : 전체 프로젝트의 진행 현황과 위혐요인
외부 시스템 연동 [권장]
외부 시스템과 연동하여 시너지 효과를 만든다.
- 인증 체계 연동
이메일 주소 인증과 같은 전산적인 개정 시스템이 있을경우 신규 입사자나 퇴사자에 대한 계정 관리가 편하다. - 형상 관리 시스템 연동
구현으로 정의된 태스크의 내용이 어떻게 코드상에 반영되었는지 추적이 가능하다. - 위키 등의 외부 시스템 연동
공통 문서나 API문서, 설계문서 요구사항 분석서와 같이 태스크 처리에 기반이 되는 근거 자료들을 링크를 통해 태스크와 연결하여 태스크가 어떻게 구현되었고, 어떤 근거로 개발되었는지 알 수 있다.
리포팅 [권장]
여러 조건에 따라 질의한 결과를 엑셀과 같은 형태로 출력하는 기능이다. 다양한 메트릭스를 이용하여 프로젝트를 관리할 수 있고, 또한 회의와 같이 별도 문서가 필요한 경우 출력된 리포트를 사용하면 엽무 효율성을 증가 시킬 수 있다.
이슈 트래킹 도구
태스크 관리 시스탬(Task Management System) 또는 이슈 트래킹 시스탬(Issue Tracking System)을 태스크 기반의 소프트웨어 개발 프로세스 관리 도구라고 한다.
클라우드 서비스 형태인 trello나 JIRA On Demand 서비스등 이 있다.
설치형 오픈소스는 Trac, RedMine, JIRA, IBM Jazz/ RTC등이 있다.
Trac
태스크[이슈 관리], 소스 코드[형상관리(SCM : Source Code Management)], 문서 [Wiki]관리를 통합 지원한다.
형상 관리 도구인 Subversion과 연동되어 이슈에 대한 구현 내용, 결함에 대한 처리 내용이 소스코드에 어디에 반영되어 있는지 확인할 수 있다. 하지만 Trac의 경우 하나의 프로젝트만 관리할 수 잇다.
RedMine
Trac과 비슷하지만 Trac으 단점을 보안한 제품이다. 태스크/소스 코드/문서 관리를 통합하고 다수의 프로젝트를 하나의 RedMine으로 관리할 수 있다.
간트차트, 달력 연동, 형상관리 서버[SVN, CVS, Git, Bazaar]등을 지원한다.
JIRA
JIRA는 순수 이슈 트래킹을 위해서 개발 되었지만 버그 관리 용도로 사용 가능하다. 아틀라시안의 다른 제품과 연동하여 Trac, RedMine 이상의 기능을 제공한다.
다양한 유/무료 플러그인을 제공하고 있어 용도나 프로세스에 맞게 수정할 수 잇다.
IBM Jazz/ RTC (Rational Team concert)
IBM에서 인수한 레이셔널사에서 만든 도구이다. Jazz는 소프트웨어 개발의 전 과정[이슈관리, 요구사항 관리, 품질관리, 필드관리 등]을 자동화 할 수 있는 도구 이다.
RCT는 태스크 관리 모듈이다. 폭 넓은 기능을 제공하지만 무겁기 때문에 응답 속도가 느리다. 기능이 많고 복잡하다.
그 외
- VersionOne
스크럼 방법론 지원이 잘된다. - Raly Enterprise
SaaS형태로 제공되며 애자일 방법론이 잘 적용되어 있다. - Senera
소프트 웨어 개발 전체 프로세스를지원 한다. 고도화된 개발 프로세스를 시스템화할 수 있다. - MyLyn
IDE개발 환경인 이클립스에서 MyLyn 플러그인을 사용하면 이클립스에서 태크스 목록을 나타나게 할 수 있다.
이 글은 저: 조대협님의 "대용량 아키텍처와 성능 튜닝"을 읽고 공부한 내용입니다.
이 글은 코드프레소 DevOps Roasting 코스를 수강하면서 작성한 글입니다.
2020/02/18 - [아키텍처/소프트웨어 개발과 테스트] - 태스크
2020/02/18 - [아키텍처/소프트웨어 개발과 테스트] - 태스크와 요구사항
'아키텍처 > 소프트웨어 개발과 테스트' 카테고리의 다른 글
Technical Debt (0) | 2020.02.18 |
---|---|
태스크와 요구사항 (0) | 2020.02.18 |
태스크 (0) | 2020.02.18 |