둘셋 개발!

애자일 방법론 종류 (XP, SCRUM) 본문

소프트웨어공학

애자일 방법론 종류 (XP, SCRUM)

23 2022. 6. 2. 16:27

애자일 방법론의 종류 중 2가지만 소개하려고 한다.

1. XP

2. SCRUM

 

 


eXtreme Programming (XP)

변화하는 고객 요구사항에 대한 응답성을 개선하기 위한

소프트웨어 개발 방법론으로써

가장 큰 특징은 Best Practice를 극대화 한 것이다

 

-   XP 의 철학

1. Communication을 개선 (의사소통)

2. Simplicty 해야함 (단순성)

3. Feedback을 받아야 함 (피드백)

4. Courage를 키워야 함 (용기)

 

-   XP 12 규칙

1. The whole team including On-site Customer

의사소통 향상을 위해 고객을 프로젝트에 항상 상주하게 함

 

2. Planning game

고객과 story를 통해 계획/기획함

 

3. Small releases

작은 시스템을 먼저 만들고 짧은 단위로 업데이트 

 

4. Testing

모듈을 짜기 전에 Test를 미리 만들어 놓음

 

5. Metaphor

은유법을 사용 (고객과의 원활한 소통을 위함)

 

6. Simple Design

현재의 비지니스적 가치를 중요하게 생각하고, 설계는 간단하게 함

 

7. Pair Programming

리뷰를 극대화 하여 2명이서 짝을 이뤄 코딩

 

8. Design Improvement - Refactoring

프로그램 기능은 바꾸지 않으면서 중복제거, 단순화, 유연성 강화 등을 위해 시스템을 재구성

 

9. Collective Code Ownership

코드를 공동소유로 하기 때문에 니코드, 내코드 구분없이 코드를 짜고

리뷰 시에도 사람보다는 코드에만 집중

 

10. Continuous Integraion

매번 여러번 씩 소프트웨어를 통합하고 빌드

 

11. Sustainalbe Pace-40 Hour Work Week

일주일에 40시간까지만 일 함

 

12. Coding Standards

코딩표준을 정함

ex) 변수명은 이렇게 하자, 리뷰하기 힘든 구조는 쓰지 말자, ...

 

 

xp를 공부하면서, 9번 규칙이 다같이 협업을 할 때 좋을 것 같다고 생각했다.

개개인이 얼마나 코드를 잘짜고 못짜고를 따지기 보다

어떻게 하면 좋은 프로그램을 만들까,  어떻게 하면 코드를 확장성있게 할 수 있을까를 고민한다면 

협업의 시너지가 커지고 훨씬 좋은 소프트웨어를 만들어 낼 수 있을 것 같다.

 


SCRUM

반복적이고 점진적인 개발 방법으로

팀 안에서 모두 해결하는 다기능 협업팁 기반 프로젝트 수행을 함

 

 

- 스크럼방식에 있는 3가지 역할

 

1. Product Owner (제품 책임자)

- 고객과 같은 역할로, 만들어야 할 제품을 모두 알고 있어야함

- 해야 할 일들의 목록을 작성

- 스프린트(Sprint)라고 정의되는 개발 주기를 나눔

- 제품에 대한 최종 결정권을 가짐

 

2. Development Team (다기능 협력팀)

- sprint에 할당된 작업을 수행하고 결과물을 완성함

- 높은 수준의 자율권과 책임감을 가짐 (Self managed)

- 10명 이하

 

3. Scrum Master

- Scrum방식을 잘 따르도록 지원

- 명령자가 아니라 지원자!

 

 

-   SCRUM Life Cycle

출처 : 워킹어스 유튜브 https://www.youtube.com/watch?v=2ukuT00ubuk

추가

- Daily Scrum meeting

: 매일 15분씩 회의를 진행

: 서서 진행

 

- 비전

: 프로젝트를 통해 달성하고자 하는 것을 정함

: 잠재고객 파악, 고객의 Needs 파악, 제품의 가치, 유사 제품보다 우월한 점을 세움