[TIL]
오늘은 애자일의 12가지 원칙
을 공부했다.
제1원칙: 초기부터 지속해서 고객 만족
최우선 순위는 가치(value) 있는 소프트웨어를 초기부터 지속해서 제공(배포)함으로써 고객을 만족시키는 것
제2원칙: 요구사항 변경 수용
개발 후반부에 변화하는 요구 사항의 수용을 환영합니다. 고객/시장을 맞추기 위해서는 변화에 대응할 수 있어야 한다.
제3원칙: 짧은 배포 간격
소프트웨어를 짧은 주기로 동작하는 소프트웨어를 배포하되 더 짧은 주기를 선호
제4원칙: 함께 일하기
비즈니스 담당자와 개발자는 프로젝트 전체 기간 매일 함께 일해야 한다.
제5원칙: 동기 부여된 팀원들로 프로젝트팀 만들기
동기가 부여된 개인들 중심으로 프로젝트를 구축
구성된 팀의 목표나 동기가 서로 다르다면 성공적인 결과를 내기 어렵다.
제6원칙: 얼굴 보고 대화하기
개발팀에 정보를 전달하는 가장 효율적이고 효과적인 방법은 대면 대화
얼굴 보고 대화하는 것이 가장 효과적이고 효율적인 Communication
제7원칙: 동작하는 소프트웨어로 진도 측정
작동하는 소프트웨어가 진척의 주요 척도
제8원칙: 지속 가능한 개발 속도 유지
Agile 프로세스는 지속 가능한 개발을 장려
제9원칙: 좋은 기술, 설계에 관심
우수한 기술과 우수한 디자인에 대한 지속적인 관심은 민첩성(agility)을 향상
제10원칙: 단순성
단순할수록, 불량을 줄일수록, 미사용 기능을 구현 안 할수록 효과적
제11원칙: 자기 조직화 팀
최고의 아키텍처, 요구 사항 및 디자인은 자기 조직화 팀(Self-Organization Team)에서 나온다. 의사결정권자가 팀의 밖에 있다면 팀원들은 효과적으로 빠른 의사결정 할 수 없다.
제12원칙: 정기적으로 효율성 재고
팀은 정기적으로보다 효과적인 방법을 적용해보고, 그에 따라 행동을 조율하고 조정
Scrum에서는 Sprint가 끝나는 날마다 회고(Retrospective)를 수행
이 원칙을 염두해두고, Jira를 사용해보자!
지라(JIRA)는 아틀라시안이 개발한 사유 이슈 추적 툴이다. 버그 추적, 이슈 추적, 프로젝트 관리 기능을 제공하는 소프트웨어이다.
아틀라시안 페이지에서 무료 계정을 생성해 시작할 수 있다.
Atlassian Jira software page
지라는 프로젝트, 특히 애자일 프로세스에 적합한 기능을 제공하지만, 처음 시작 단계가 쉽지는 않다. 템플릿을 고르는 것 부터, 이슈 메이킹까지 지라의 방식을 터득해야 사용이 가능하다.
그래서 지라는 사용자에게 튜토리얼을 제공하고 있다.
나는 그 중 Jira Software guides and tutorials와 Atlassian University를 통해 지라의 전반적인 프로세스를 공부했다.
Jira 툴을 실습해 보기 위해 '지라를 인문하는 것'을 목표로 세웠다.
그래서 아래와 같은 에픽 이슈를 생성한 것을 볼 수있다.
로드맵에서 지라의 이슈를 제작하고, 날짜를 구성해보니 시각적인 부분에서 긍정적인 서비스라는 생각이 들었다.
우리가 처리해야하는 이슈는 무엇이고, 그에 따른 하위이슈는 뭔지 심플하게 열람이 가능했기 때문이다. 또한, 타임라인을 통하여 이슈의 주기가 어떻게 설정되어있는지 판단하기도 쉽다고 생각했다.
결국에 로드맵과 같이 시각적인 일정 관리 화면은 애자일 프로세스의 짧은 주기의 스프린트를 관리하고, 지속 가능한 개발 속도를 유지하기 위한 발판이 되어줄 것이라고 생각했다.
로드맵에서 팀에게 필요한 이슈를 제작하면, 백로그에서 task 항목을 모아볼 수 있다. 스프린트를 시작하기 전까지는 백로그에 저장되어있기 때문에, 이번 스프린트 기간에 수행할 이슈를 선택하여 스프린트를 시작할 수 있다.
스프린트 시작 시에는 기간과 간단한 목표를 설정 가능하다.
아래는 스프린트를 시작했을 때 볼 수 있는 화면이다.
스프린트를 시작하더라도 언제든지 스토리 등의 하위 이슈를 유동적으로 추가가 가능하다. 요구사항을 빠르게 처리하는 애자일 프로세스에 적합하게 제작된 기능이 아닐까 생각한다.
또 우리 팀이 처리해야할 백로그는 무엇인지 모아보고, 그 백로그가 어떤 에픽에 속해있는지 한눈에 알 수 있었다. 이를 통해서 고객의 어떤 요구사항을 처리하고 있는지, 소프트웨어가 얼마나 진척되고 있는지 판단이 쉬웠다.
백로그 페이지에서 스프린트를 시작하면, 보드에 칸반보드가 생성된다. 지금 스프린트에서 수행하고자 하는 이슈의 상태를 설정할 수 있다. 칸반 보드는 작업을 시각화하고, 진행 중인 작업을 제한하며 효율성(또는 흐름)를 최대화하는 애자일 프로젝트 관리 도구인 만큼, 애자일의 다수의 원칙을 적용하고 있는 프레임워크라고 볼 수 있다.
스프린트를 시작하면 내가 스프린트에 설정한 이슈가 할 일(TODO)에 나오게 된다.
이를 진행 상태에 따라 진행 중, 완료로 이동할 수 있다.
지라에서는 칸반보드 말고도 스프린트 보드도 지원하고 있으며, 필요에 따라 워크플로우를 디테일하게 수정할 수 있다. 이는 각 애자일 팀에 맞는 효과적인 프레임워크를 적용할 수 있도록 자율성을 높인 지라의 기능이라고 생각된다. 따라서 지라를 사용해 애자일 프로세스를 진행하면, 팀에 맞는 효과적인 방식으로 룰을 변경할 수 있다는 장점이 있다.
지라는 위처럼 애자일 프로세스를 보조하는 기능이 주요 기능이다. 하지만 더불어 지라는 연동성이 높은 툴이다. 개발자와 같은 경우는 깃을 연결하여 플리퀘를 관리할 수 있다.
디자이너와 기획자 같은 경우는 Confluence에서 업무를 보조하는 문서를 사용할 수 있다. 아래는 각각 디자인 페이지, 제품 요구사항, 회고록 페이지 화면이다.
지라는 Confluence 연동을 통해 탬플릿을 제공해, 애자일 팀 내부의 정보전달은 물론이고, 애자일 프로세스에서 빠질 수 없는 회고 또한 기록할 수 있는 기능을 지원하고 있다는 것을 볼 수 있었다.