com

애자일 노트 - 애자일을 이야기할때 가장 많이 나오는 용어들 정리 및 애자일 요약노트


by Kitle · 2020. 06. 23.



역사


1970 폭포수 모델의 시작

1990 Rapid App. Dev.

1995 Scrum 개념

2000 Agile Manifesto

2002 Lean SW Dev.


린 - 1980년대 도요타 시스템의 린 생산방식을 SW개발에 적용


Agile의 특징

베이스는 Iterative and Incremental 을 기본으로 함

효과적 (지원) 기법 - Self-organizing 과 Cross-functional teams)


도입이유

생산성 & 적시출시

비용감소

품질향상

팀의 사기와 업무 만족도 증가


=====================================

SCRUM

프로젝트 관리를 위한 애자일 방법론

추정 및 조정 기반의 경험적 관리 기법


SCRUM역할

Product Owner

: 제품 백로그(제품 기능목록에 해당)를 만들고 우선순위 조정


Scrum Master

:스크럼 팀이 개발을 진행할 수 있도록 지원, 업무 방해요소 제거

 - 스크럼 리뷰 시 회고를 진행 할 수 있음(잘된 점, 아쉬운 점, 개선사항)


Scrum Team

: 5~9명으로 구성, 하나의 스프린트 기간 동안 구현 할 기능을 사용자 스토리로 도출하고 구현

스프린트 동안 구현해야 하는 기능을 완료하기 위해 노력하며 이를 위한 권한을 가짐


스크럼 프로세스의 구성(3가지 유형의 미팅과 산출물)

스프린트 Sprint

: 달력기준 1~4주 단위의 반복개발기간을 가리킵니다.

3가지 미팅

: 일일 스크럼, 스프린트 계획, 스프린트 리뷰


스프린트 계획

각 스프린트에 대한 목표를 세우고 제품 백로그로부터 스프린트에서 진행할 항목을 선택

각 항목에 대한 담당자 할당과 Task단위의 계획을 수립


스프린트 리뷰

스프린트 목표 달성여부 확인을 위한 작업 진행과 결과물 확인

작업 결과를 참석자들에게 데모하고 피드백을 받음

모든 작업에 대한 데모를 진행하고 고객 참여하는 것이 좋음



3가지 산출물

: 제품 백로그, 스프린트 백로그, 소멸 차트


제품 백로그

 : 기능 우선순위 목록, 제품 책임자가 주로 결정

제품 백로그의 정의 기능을 사용자 스토리라 부름

사용자 업무량에 대한 추정은 스토리 포인트라 불리는 기준을 이용함

 스토리 포인트 : 사용자 스토리를 완료하는데 소요되는 공수를 스토리 포인트라는 단위로 나타냄


스프린트 백로그

: 하나의 스프린트 동안 개발할 목록으로 사용자 스토리와 이를 완료하기 위한

작업을 Task로 정의

각각 Task는 시간단위로 추정


번다운차트

개발 완료까지 남은 작업량을 보여주는 그래프


스크럼의 특징

투명성,타임박싱,커뮤니케이션,경험주의 모델


경험주의

:개개인의 경험에 기반하여 실제 업무는 팀마다 달라짐


==================================

eXtreme Programming

1990후반 Kent Beck을 중심으로 여러 엔지니어들이

프로젝트를 진행하며 얻었던 교훈을 기반으로 효과적이라 생각되는

개발 기법을 모아 방법론으로 정리


의사소통, 용기, 피드백, 단순함, 존중


실천방법 : 함께 앉기, 전체 팀(필요한 사람을 모두 팀으로 만들어라),정보 제공 작업공간,활기찬 작업(필요한 시간만), 짝 프로그래밍, 스토리(가치를 주는 최소한의 기능을 단위로), 일주일별 주기, 분기별 주기, 여유, 10분 빌드, 지속적인 통합, 테스트 주도 프로그래밍, 점진적인 설계(시스템 설계에 매일 투자할것),  

-----------------

Lean

도요타 생산방식(TPS)

JIT(Just In time) - 필요 시점에 필요한 만큼만 생산

Kanban - 일종의 작업 지시서, Pull 방식의 생산 시스템 구축에 중요 역할


개발 원칙(낭비제거, 품질 내재화, 지식 창출, 확정을 늦춰라, 전체를 최적화, 사람존중, 빨리 인도)

낭비제거 

파레토 법칙 - 개발에 정말 중요한 20%에 집중, 80% 낭비요소(가외기능, 혼란, 넘어가기) 제거

 가외기능 : 80%가치를 제공하는 20% 기능에 초점을 맞춰라. 나머지 80은 나중으로 미룬다.

 혼란 : 요구사항 혼란을 겪으면 스펙을 너무 일찍 결정한 것. 테스트하고 수정에 혼란을 겪으면 테스트를 너무 늦게 한 것

 경계 넘어가기 : 조직간의 경계는 통상 25% 이상의 비용증가, 이유는 버퍼를 만들고 응답시간을 늦추며 커뮤니케이션 방해


칸반 - 워크플로우의 가시화, task별 카드

To do , dev, Test, Release, Done

-----------------

On-site Customer

고객이 개발에 참여


User Story

기술 노하우 : "누가", "무엇을", "어떤이유로"

ex) As a Role, So What, I Want : 고객 분석담당자는 현재 가입된 고객의 남녀 성비와 사는 지역의 정보를 파악하기 위해 전체 고객 명단의 목록을 성별과 지역으로 정렬해서 볼 수 있다


하나의 스토리카드에 하나의 가능을 적을 것을 권장 - 많은 경우 애자일 관리 도구 사용 >> 우선순위를 정하고 분량과 일정에 따라 관리함


플래닝포커

사용자 스토리의 규모 추정, 한사람이 아닌 팀 전체가 지혜를 모아 업무량 추정