donchanee

Agile, Scrum, Jira 본문

프로그래밍

Agile, Scrum, Jira

donchanee 2020. 11. 1. 10:09
728x90

Agile - 애자일한 개발방법론이란 무엇인가.

 

  • 공정과 도구보다 개인과 상호작용
  • 포괄적인 문서보다 작동하는 소프트웨어
  • 계약 협상보다 고객과의 협력
  • 계획을 따르기보다 변화에 대응하기

애자일 선언 이면의 원칙
우리는 다음 원칙을 따른다:

  • 우리의 최우선 순위는, 가치 있는 소프트웨어를
    일찍 그리고 지속적으로 전달해서 고객을 만족시키는 것이다.
  • 비록 개발의 후반부일지라도 요구사항 변경을 환영하라.
  • 애자일 프로세스들은 변화를 활용해 고객의 경쟁력에 도움이 되게 한다.
  • 작동하는 소프트웨어를 자주 전달하라. 두어 주에서 두어 개월의 간격으로 하되 더 짧은 기간을 선호하라.
  • 비즈니스 쪽의 사람들과 개발자들은 프로젝트 전체에 걸쳐 날마다 함께 일해야 한다.
  • 동기가 부여된 개인들 중심으로 프로젝트를 구성하라.
  • 그들이 필요로 하는 환경과 지원을 주고 그들이 일을 끝내리라고 신뢰하라.
  • 개발팀으로, 또 개발팀 내부에서 정보를 전하는 가장 효율적이고 효과적인 방법은 면대면 대화이다.
  • 작동하는 소프트웨어가 진척의 주된 척도이다.
  • 애자일 프로세스들은 지속 가능한 개발을 장려한다.
  • 스폰서, 개발자, 사용자는 일정한 속도를 계속 유지할 수 있어야 한다.
  • 기술적 탁월성과 좋은 설계에 대한 지속적 관심이 기민함을 높인다.
  • 단순성이 -- 안 하는 일의 양을 최대화하는 기술이 -- 필수적이다.
  • 최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 창발한다.
  • 팀은 정기적으로 어떻게 더 효과적이 될지 숙고하고, 이에 따라 팀의 행동을 조율하고 조정한다.

 

(참고) Agile Vs. Waterfall in Software Development

https://saigontechnology.com/blog/agile-vs-waterfall-in-software-development

 

Agile Vs Waterfall in Software Development

Agile Vs Waterfall in Software Development

saigontechnology.com

 

<애자일 방법론의 종류>

  • Scrum

  • Kanban

  • Lean

  • Extreme Programming (XP)

  • Feature Driven Development (FDD)

  • Dynamic Software Development Method (DSDM)


Scrum

스크럼(Scrum)은 프로젝트관리를 위한 상호,점진적 개발방법론이며, 애자일 소프트웨어 공학 중의 하나입니다. 스크럼(Scrum)은 소프트웨어 개발 프로젝트를 위하여 고안되었지만, 소프트웨어 유지보수 팀이나 일반적인 프로젝트/프로그램 관리에서도 적용될 수 있습니다.

 

[ 스크럼 ⊂ 애자일 ]

(참고) SCRUM Process 

https://brainhub.eu/blog/differences-lean-agile-scrum/

 

Lean, Agile And Scrum: A Simple Guide [2020] | Brainhub

A simple guide to Lean, Agile and Scrum: the differences, definitions and benefits of each. Learn how to distinguish Lean vs Agile vs Scrum.

brainhub.eu

Scrum Process

 

<스크럼에서 사용하는 용어>

  • 스프린트 (Sprint): 반복적인 개발 주기. 계획 회의부터 제품 리뷰가 진행되는 날짜까지의 기간이 1 스프린트.
    예) 회사에서 정하는 이터레이션이 개발 주기가 될 수도 있음.

  • 이슈(Issue): 이슈(Issue) 타입은 지라(JIRA) 기반으로 소개합니다.

    • 에픽 (Epic): 에픽은 많은 사용자 스토리, 많은 작은 단위 업무로 나눌 수 있는 업무의 큰 틀. 하나의 Sprint에 걸쳐서 끝나지 않고, 여러 Sprint에 걸쳐서 종료되며, 여러 Story들의 집합. 주로 Major Feature들을 중심으로 정의합니다.

    • 스토리 (Story): 서비스 고객에게 가치를 줄 수 있는 기능을 서술한 것입니다. 각 스토리는 기술적 전문 용어가 아닌 비즈니스 언어로 작성하는 것이 좋습니다.
      예) [(역할을 가진) 사용자]는 [행위 / 목표]를 수행하여 [이유]를 한다.

    • 태스크 (Task): 에픽 or (사용자) 스토리의 하위 작업으로 에픽 / (사용자) 스토리를 완료하기 위해서 개발자가 실제로 작업해야 하는 각각의 단위 작업
      예) 유사 기능 조사, 테스트 시나리오 작성 등

    • 서브태스크 (Sub-Task): (사용자) 스토리의 하위 작업으로 에픽 / (사용자) 스토리를 완료하기 위해서 개발자가 실제로 작업해야 하는 각각의 단위 작업

하나의 완벽한 방법은 없고 스프린트를 진행하면서 "일이 되는 방향"으로 스크럼팀이 점진적으로 개선하는 것이 중요합니다.


Jira

Backlog and Sprint Planning

Jira Software는 Agile Scrum 방법론을 완벽하게 지원합니다.

스토리, 업무를 생성하고 스프린트를 계획하고 팀 멤버로를 할당합니다. 할당된 업무는 우선순위를 정하고 토론할 수 있습니다.

릴리즈 관리와 모니터링

Jira에서는 버전 정보를 통해 릴리즈 관리를 수행할 수 있습니다.

해당 릴리즈에 종속된 이슈를 확인하고 문제가 해결되었는지 추가적인 부분이 필요한지를 한눈에 파악할 수 있습니다.

Kanban vs. Scrum Board

현재 프로젝트에서 진행중인 스프린트를 스크럼 보드 혹은 칸반보드를 확인할 수 있습니다.

다양한 형태로 필터와 스윔레인을 추가하여 조직에서 원하는 형태로 꾸밀 수 있으면, 드래그 앤 드랍으로 진행상황을 변경할 수 있습니다.

심플한 워크플로우 관리

Jira는 프로젝트 별 이슈 타입에 대한 서로 다른 워크플로우를 설정할 수 있습니다.

조직의 팀마다 서로 다른 프로세스를 가질 수 있으며 팀을 위해 에디터 기반 손쉬운 워크플로우 관리를 제공합니다.

Powerful Agile Reporting

JIRA에서 제공하는 리포트 템플릿을 통해 원하는 보고서를 클릭 몇번만으로 생성할 수 있습니다.

번다운차트, 스프린트보고서, 벨로시티 차트, 누적다으어그램, 에픽 리포트 등 다양한 보고서 양식이 있습니다.

 


AWS 환경에서도 JIRA를 사용할 수 있습니다.

aws.amazon.com/ko/quickstart/architecture/jira/

 

JIRA on AWS - Quick Start

이 Quick Start 참조 배포를 실행하는 동안 사용되는 AWS 서비스 비용은 고객이 부담해야 합니다. Quick Start 사용에 따르는 추가 비용은 없습니다. 이 Quick Start에 대한 AWS CloudFormation 템플릿에는 사용

aws.amazon.com

JIRA는 ‘이슈’ 기반의 프로젝트 관리 도구 입니다.

 

작업 진행(Workflow)은 이슈’가 생성되고 완료될 때까지의 상태 변화를 의미하며 강력한 트래킹을 제공합니다. 다음과 같은 흐름으로 진행됩니다.

 

 

 

  1. Project Manager가 Epic 또는 Story를 만든 후 해당하는 Task들을 생성합니다.
  2. Task에 업무에 대한 내용을 상세하게 적습니다. 업무 담당자에게 배분합니다. 또는 보고자가 해당 내용의 담당자가 될 수 있습니다.
  3. 담당자가 해당 Task를 받은 후 ‘In Progress’로 상태로 바꿉니다. 담당자는 진행 내용이나 의사 소통이 필요한 정보를 Comments로 적거나 파일을 첨부합니다.
  4. 담당자는 업무가 끝나면 ‘In Review’ 상태로 Project Manager에게 다시 이슈를 전달합니다.
  5. Project Manager는 이슈가 제대로 반영 되었는지 확인한 후, ‘이슈’를 닫거나(Done) 다시 ‘In Progress’ 로 변경 후 담장자를 지정하고 다시 이슈를 다룹니다 .

 

JIRA의 목적은 ‘이슈’를 많이 만들고 적게 만드는 것이 중요한 것이 아니라, 제대로 협업하여 프로젝트의 결과를 만들어내는 것입니다. JIRA는 이를 돕는 부차적 도구입니다.

 

(출처: medium.com/bom-i/jira-b2a069ab3294)

'프로그래밍' 카테고리의 다른 글

CSS Flex 와 Grid  (0) 2020.11.18
Database Index - 인덱스란?  (0) 2020.11.18
Ruby on Rails  (0) 2020.11.03
Rest API, GraphQL  (0) 2020.11.01