20240119 Azure Board - Kanban 그리고 Scrum 개요
https://www.youtube.com/playlist?list=PLEzRFBCPYeykK--XlWANwKcvhf23DyS3G
스크렴(Scrum, 1995)
XP(Extreme programming, 1996)
린(Lean SW Development, 2003)
칸반(SW Kanban, 2006)
린 스타트업(Lean startup, 2011)
Inherited objects versus custom objects - Basic, Scrum, Agile
Azure DevOps Work Item Types
스크럼의 개발팀
스크럼 마스터와 프로덕트 오너를 제외한 모든 사람. 기획자, 마케터, 개발자 등
실질적인 일을 수행하는 사람
T자형 인재가 되기 위해 스스로 노력하는 사람
이러한 인재들이 교차기능적으로 협업하며 일을 수행
스크럼 프로세스
https://medium.com/@realjoselara/agile-scrum-process-in-a-nutshell-6ec32a59efb
Product Owner
팀의 성장을 위해 일하는 사람
스크럼 마스터와 함께 팀이 나가야 할 방향을 제시
제품이나 서비스와 관련된 모든 이해 관계자인 경영진, 팀원 및 고객과 커뮤니케이션하며 끊임없이 요구사항 파악하고 이해 관계자 사이에서 조율.
Mini-CEO라고 칭함. 이해 관계자와의 커뮤니케이션을 토대로 중요사항이나 우선순위 등에 대한 의사 결정권을 갖음.
프로덕트 백로그 관리
팀이 무슨 일을 해야 할 지 결정
일이 완료 상태로 이루기 위해 어떠한 조건들이 충족되어야 하는 지 등을 결정
제품이나 서비스에 대한 향상 및 품질 개선을 위해 지속적으로 학습하고 연구
→ 애자일과 스크럼에 대한 지식을 토대로 팅원들에게 지속적으로 그 가치를 상기시켜주는 일을 수행.
보다 더 효율적이고 효과적으로 일하는 방법을 고민하는 사람.
→ 스스로 문제를 해결할 수 있도록 가이드
Scrum Master (Agile Coach)
팀을 보호하는 사람
스크럼 마스터는 애자일과 스크럼의 가치를 잊지 않도록 도와주는 사람.Agile Coach라고도 불림.
→ 애자일과 스크럼에 대한 지식을 토대로 팅원들에게 지속적으로 그 가치를 상기시켜주는 일을 수행.
보다 더 효율적이고 효과적으로 일하는 방법을 고민하는 사람.
→ 스스로 문제를 해결할 수 있도록 가이드
Scrum Master & Product Owner (스커럼 마스터와 프로덕트 오너)
→ 한 사람이 두 가지 역할을 수행할 수 없음.
Vision : 3~5년 짜리 목표
Road Map : 1년 짜리 목표
Product Backlog : 로드맵의 분기별 수행할 업무 목록
Release Planing(출시 계획) : 프로덕트 백로그 실해에 대한 일정 논의
Sprint Planning : 스프린트 첫째 날 모든 팀원들이 모여서 스프린트 기간 동안 무엇을 할지 이야기 하는 시간
Sprint Backlog : 스프린트 플래닝을 통해 도출된 수행 업무 목록 (Product Owner가 도출하고 실제 어떻게 일을 수행할지는 개발팀이 결정 )
Sprint 시행
Daily Scrum(= Daily Stand up) : 하루 일과를 시작하기 전에 모든 팀원들이 모여 일의 진척과 이슈를 공유
Sprint Review : 팀원 뿐만 아니라, 고객, 실 사용자 혹은 회사 의사 결정권자 등 모든 이해 관계자들이 모여 Scrum Increment (결과물)을 토대로 리뷰 및 다음 스프린트에 대해 논의
Retrospective : 팀원들만의 시간. 이번 스프린트 동안 어떻게 일했고, 어떻게 하면 앞으로 더 일을 잘 할 수 있을지 솔직하게 이야기
KPT(Keep, Problem, Try) 활용
Keep : 계속 유지하고 싶은 것들
Problem : 그만 하고 싶은 것들
Try : 새롭게 시도하고 싶은 것들
User Story
네이밍 시 사용자 입장에서 생각하기
As a <role or personal>, I can <goal or need>, so that <why>
As a <user class>, I want to <perform or do something>, so that <I get some value or benefit>
사용자 스토리는 간단하고 짧은 설명이며 팀 구성원이 스프린트에서 수행해야만 하는 태스크에 대한 개요를 제공합니다. 사용자 스토리는 팀 또는 제품 소유자가 만듭니다.
이상적인 사용자 스토리는 INVEST 모델을 따라야 합니다.
“I” ndependent — 다른 사용자 스토리와 독립적
“N” egotiable — 고객과 개발팀 간의 대화가 있어야 하며, 폐쇄된 계약이 아닌 유연성이 있어야 합니다.
“V” aluable — 각 사용자 스토리는 (사용자와 고객에) 제품에 가치를 추가해야 합니다.
“E” stimable — (20210206 업데이트) 크기를 추정 할 수 있어야 합니다. https://en.wikipedia.org/wiki/INVEST_(mnemonic)
→ 덩어리가 큰 요구사항은 추정이 어려울 수 있으므로 좀 더 분할해야 한다. 개발팀원의 경험이 부족하여 추정하기가 어렵다면 경험이 많은 다른 팀이나 외부 인력을 추청에 참여시키는 것이 좋습니다.)
“S” mall — 이상적으로 각 사용자 스토리는 한 번의 반복 (스프린트)에 맞아야 합니다. 그렇지 않은 경우 이를 여러 부분으로 나누는 것이 좋습니다.
“T” estable — 각 사용자 기록을 확인할 수 있어야 합니다. (스토리를 너무 개념적으로 기술하면 테스트 케이스를 작성할 수 없으므로 테스트가 가능한 수준으로 기술해야 합니다.)
Azure Board 각 필드 상세 설
DoD(Definition Of Done)
제품 백로그 항목 또는 증분을 "Done"로 설명할 때는 'Done'가 무엇을 의미하는지 이해해야 합니다. 이는 모든 Scrum 팀에 따라 크게 달라질 수 있지만, 구성원은 작업이 완료되고 투명성이 보장되는 것이 무엇을 의미하는지 공유해야 합니다. 이것은 Scrum Team에 대한 'Done'의 정의이며, 제품에 대한 작업이 완료되는 시점을 평가하는 데 사용됩니다.
DoD는 Product Increment를 릴리스 가능하게 만드는 데 필요한 사항에 대해 스크럼 팀 내에서 공유된 이해입니다.
"Done" = Releasable
https://www.scrum.org/resources/blog/done-understanding-definition-done
제품 백로그 (Product backlog) : PO 주도하에 개발팀과 협의하여 주기적으로 우선순위를 갱신한다.
요구 기능과 비기능 요구사항
기술적 · 관리적 업무(아키텍처 수립, 하드웨어 선정과 발주, 교육훈련, 통합 테스트 등)
문제 해결(모듈 안정화, 사용성 개선 등)
수정해야 할 버그
개발자가 아닌 사용자가 알아볼 수 있어야 함
추후 얼마든지 더 넣거나 뺄 수 있음
스프린트 회의 (Sprint meeting)
제품 백로그에서 우선 순위가 높은 기능을 선정
기능을 구현하는데 필요한 작업으로 나누어 봄
작업마다 완료하는데 얼마나 걸릴지 예측해 봄
스프린트 백로그 도출
개발팀은 스토리를 구현하는 상세 작업들을 도출한다. 스토리를 구현하는 모델링, UI 디자인, 코딩, 단위 테스트 같은 항목들이다.
백로그에는 스토리를 구현하는 작업뿐만 아니라 개발팀에서 수행하는 모든 작업을 도출해야 한다.
예를 들어 코드 리뷰나 특정 업무 회의, 교육과 세미나 등이 모두 포함된다. 스프린트 백로그에는 팀에서 하는 일이 모두 나타나야 한다.
스프린트 백로그를 포스트잇에 옮겨 적음
모든 포스트잇은 Todo영역에 붙여 둚
스프린트 동안 모두를 Done 영역으로 옮김 (실패 부담 갖지 않기. 작업시간은 예상 시간일 뿐 정확 할 순 없음)
Burn-down chart
스프린트가 어떻게 흘러가는지 한 눈에 보여줌
그래프가 급락하면? 팀은 일을 더 할 능력이 있음
그래프가 떨어질 줄 모르면? 일을 좀 줄임
스프린트 리뷰 (Sprint review)
실행시켜 볼 수 있는 애플리케이션을 만듦
어떤 기능이 추가되었고 어떤 기능이 누락되었는지 돌아봄
직원 모두가 실행해 보면서 피드백을 전달함
회고 (Retrospective)
지난 스프린트를 다시 한번 돌아봄
이번 스프린트에 좋았던 점
다음 스프린트에서 개선할 점
20201110 이마트 CICD 파이프라인 사용 메뉴얼 (초안)
https://docs.zerobig.kr/pages/viewpage.action?pageId=357701