일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- intelij spring config
- 오블완
- JPA
- 무한정 대기
- allocationSize
- 파이썬
- 알고리즘
- API
- m:n
- 쿠키
- compgen
- @SubscribeMapping
- 티스토리챌린지
- @Autowired
- 편향된 지수
- 컴파일 타임 상수
- BindingResult
- 기본키 전략
- 쉘 스크립트
- DTO
- application layer
- 런타임 상수
- 백준
- JDBC
- Git
- 은행원알고리즘
- 커밋 되돌리기
- spring
- 프로그래머스
- 리눅스
- Today
- Total
둘셋 개발!
애자일 방법론 종류 (XP, SCRUM) 본문
애자일 방법론의 종류 중 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
추가
- Daily Scrum meeting
: 매일 15분씩 회의를 진행
: 서서 진행
- 비전
: 프로젝트를 통해 달성하고자 하는 것을 정함
: 잠재고객 파악, 고객의 Needs 파악, 제품의 가치, 유사 제품보다 우월한 점을 세움
'소프트웨어공학' 카테고리의 다른 글
요구사항 분석 (중요성, 분류,요구사항 개발 단계, Use Case Diagram) (0) | 2022.06.02 |
---|---|
SW 개발 생명주기 (폭포수모형, 프로토타입, 애자일) (0) | 2022.04.07 |
Best Practice의 개념과 쓰임 (0) | 2022.03.31 |