+ All Categories
Home > Documents > Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme...

Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme...

Date post: 17-Mar-2021
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
14
1 2011. 12. 16 Agile 프로세스 소개
Transcript
Page 1: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

1

2011. 12. 16

Agile 프로세스 소개

Page 2: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

2

1. Agile 개요

목 차

2. Agile 배경

3. 기존 방법론과의 비교

4. Agile의 종류

5. XP(Extreme Programming)

6. SCRUM

7. Agile 적용 시 고려할 점

Page 3: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

3

1. Agile 개요

기존의 개발방법론과는 달리 정해진 프로세스가 없으며, 고객에게 즉각적인 피드백을 주고 비즈니스 변화에 빠르게 대응하는 것임

Agile의 특징

제한된 시간에 최대의 성과를 올림

예측 불가능한 상황에 대한 효과적 대응 및 신속한 의사결정

팀원의 단결력을 우선 시

개발 업무의 단순화

프로세스를 가볍게 하고 통제보다는 신뢰를 우선 시

요구사항 변경에 유연하게 대처하고, 지속적인 리뷰와 피드백

개발 초기에 세부적인 설계를 지양

데모 및 프로토타이핑을 실시하고 테스트를 강화

산출물을 가볍게 하고, Daily face to face 미팅 실시

Page 4: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

4

2. Agile 배경

전통적인 소프트웨어 개발 방식의 한계를 통합하여 인간중심, 결과중심의 개발 방식 원칙으로 만들어짐

객체지향 언어(C++, Java)

객체지향 분석, 설계

Design Pattern

OR 매핑 패턴 도메인 모델링

반복 프로세스

Unified Process

Agile

Mythical Man-Month

No Silver Bullet

폭포수 모델에 대한 보고

Page 5: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

5

3. 기존 방법론과의 비교

Agile 소프트웨어의 모든 부분은 기존의 전통적인 방법론과 견해를 달리함

주제 전통적인 개발원칙 Agile

프로세스 미리 정해진 엄격한 프로세스 탐험적 프로젝트

요구사항 분석 단계에서 요구사항 확정, 엄격한 변경관리

프로젝트 완료까지 지속적인 요구사항 개발 및 변경 수용

설계 상세한 사전 설계 적시(just in time) 설계

테스트 구현 후 테스트 프로젝트 시작부터 테스트

조직 명령과 복종 자발적인 팀웍 형성

문서화 상세한 문서화 강조 문서화 보다는 코드를 강조

역할 엄격할 역할 정의 전체 팀 워크를 중시

소프트웨어에 대한 견해 실 세계에 대한 모델 언어 게임, 세계3 이론

프로젝트 종료 기준 요구사항 구현 완전성 협상

Page 6: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

6

4. Agile의 종류

Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로 구분할 수 있음

종류 설명 특징

XP

비즈니스 요구가 시시각각 변동이 심한 경우에 적합하고, 비교적 적은 규모의 인원으로 개발하는 프로젝트에 적용이 유리한 SW 개발 방법이다.

테스팅 강조 4개의 가치와 12개의 실천항목으로 구성 1~3주 Iteration

SCRUM 특정 언어나 방법론에 의존적이지 않으며, 개발 언어는 물론이고 객체지향 언어와도 관련 없는 넓은 응용 범위의 개발 기법이다.

프로젝트를 스프린트(30일 단위)로 분리 프로젝트 팀은 매일 SCRUM 미팅(일반적으로 15분)을 통해 계획 수립

Page 7: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

7

5. XP(Extreme Programming)-1/3

요구사항 등의 변화가 많거나 개발자가 소규모의(10명 내외)인 경우 높은 효과를 볼 수 있는 SW 개발 방법

XP의 핵심 역할

의사소통 - 요구사항의 명확한 식별

- 프로젝트 진행 파악 및 정보 획득 용이

단순성

- 변경 요구를 줄임

피드백

- 신속한 개발 가능

용기

- 요구사항 및 기술변경에 과감

고객 - 사용자 스토리 작성

- 릴리즈 항목 결정 및 우선순위 결정

프로그래머

- 분석/설계/시험/프로그래밍 및 통합 수행

관리자

- 고객과 프로그래머의 협동 지원

- 프로젝트 관리 및 문제 해결

- 팀원에 대한 보상활동 수행

Page 8: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

8

5. XP(Extreme Programming)-2/3

Extreme Programming Project

User Stories : 일종의 요구사항으로 유즈케이스와 같은 목적으로 작성되지만 형식은 없고

고객의 의해 작성, 개발 일정 추정 및 인수테스트의 기준이 됨

Spike Solution : 기술적 또는 설계상 어려운 문제 해결을 위해 작성하는 간단한 프로그램

Release Planning : User Story를 기반으로 1~3주 정도의 Iteration 계획 수립

Iteration : Iteration 일정은 철저하게 지켜져야 함

Acceptance Tests : User Story를 기반으로 인수테스트(블랙박스 테스트) 수행

Page 9: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

9

5. XP(Extreme Programming)-3/3

XP의 실천항목

구분 설명

계획 수립 전체 및 Iteration 계획을 비즈니스 측면과 기술적인 측면을 고려하여 수립

짧은 릴리즈 우선순위를 기반으로 실행 가능한 모듈은 신속하게 릴리즈

메타포 팀원이 모두 이해할 수 있는 스토리를 작성하고 교육 수행

리 팩토링 코드의 단순화 및 의사소통 향상

Pair Programming 2명의 프로그래머가 공동 개발

고객 상주 최종 사용자가 항상 프로그래머와 같은 장소에 위치

주 40시간 근무 주 40시간 근무를 초과하지 않음

Page 10: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

10

6. SCRUM-1/4

프로그램의 우선순위를 기반으로 최상의 팀 문화를 구축하여 원활한 의사소통을 통해 고객에게 가치를 제공

확약 약속한 것을 확실하게 실현한다.

전념 확약한 것의 실현에 전념한다.

진실성 비록 불리하더라도 숨기지 않는다.

존중 자신과 다른 사람에게 경의를 표한다.

용기 위 사항을 언제든지 지킬 수 있는 용기를 갖는다.

5가지 중점가치

Page 11: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

11

6. SCRUM-2/4

1 2

3 4

제품 백로그 스프린트 목표

1

스프린트: 30일

1.1 1.2

1.3 1.N

스프린트 백로그

작업할당

일일스크럼 회의

1

실행가능한 제품 - 제품책임자 확인 ①

③ ④

반복(Iteration)

스크럼 리뷰미팅

SCRUM 개발

Page 12: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

12

6. SCRUM-3/4

SCRUM의 주요 용어 SCRUM 개발 설명

1. 제품에서 요구하는 기능과 우선순위를 통해 제품 백로그로 정한다.

2. 제품 백로그로부터 스프린트를 통해 구현되야 할 목표를 선택한다.

3. 스프린트 목표를 보다 상세한 작업으로 모듈화한 스프린트 백로그를 작성한 뒤 작업을 할당한다.

4. 스프린트를 진행하는 동안, 매일 정해진 장소와 시간에 모든 개발 팀원이 참여하는 일일 스크럼 회의를 가진다.

5. 매회의 스프린트가 종료할 때마다, 스크럼 리뷰 미팅을 가지고, 개발된 제품을 평가한다.

6. 이 후의 스프린트에 대비하여 제품 백로그의 내용과 우선순위를 재검토한다.

1) 제품 백로그(Product Backlog) : 개발할 제품에 대한 요구사항 목록

2) 스프린트(Sprint) : 30일의 반복적인 개발 주기

3) 스프린트 계획 회의(Sprint Planning Meeting) : 스프린트 목표와 스프린트 백로그를 계획하는 회의

4) 스프린트 백로그(Sprint Backlog) : 각각의 스프린트 목표에 도달하기 위해 필요한 작업 목록

5) 일일 스크럼 회의(Daily Scrum Meeting) : 날마다 진행되는 진척 상황 미팅

6) 실행 가능한 제품(Shippable Product) 개발: 스프린트 결과로써 나오는 실행 가능한 제품

Page 13: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

13

6. SCRUM-4/4

SCRUM 특징

솔루션에 포함 할 기능/개선점에 대해 우선 순위를 부여

개발 주기는 30일 정도로 조절하고, 개발 주기마다 실제 동작할 수 있는 결과를 제공

개발 주기마다 적용할 기능이나 개선에 대한 목록 제공

날마다 15분 정도의 회의 수행

항상 팀 단위로 생각

원활한 의사소통을 위한 구분 없는 열린 공간 유지

Page 14: Agile 프로세스 소개 · 2015. 7. 16. · Agile은 개발 특징에 따라 XP(Extreme Programming), SCRUM으로구분할 수 있음

14

7. Agile 적용 시 고려할 점

Agile은 사람 중심의 개발 방식으로 팀 문화가 선행되어야 함

진척 관리에 대한 기준을 명확하게 수립

Daily 미팅은 항상 같은 장소, 같은 시간에 습관처럼 이루어져야 함

고객과의 리뷰 시간은 짧게 하되 완료 기준은 명확하게 해야 함

반복주기(Iteration)은 2~4주 정도가 적당

의사결정은 신속하게 이루어져야 함

무엇보다도 팀원의 단결력이 가장 중요함

고려사항


Recommended