-
[애자일]Agile 이란 무엇인가?지식 2017. 1. 10. 14:43반응형
01. Agile
우선순위가 높은 기능부터 개발을 시작하고, 문서보다는 동작하는 소프트웨어를 중심으로 대화를 나눈다. 전체를 한 번에 만들려 하지 않고 짧은 시간에 일부라도 동작하는 부분을 완성시킨 후 그것을 고객과 사용자에게 조기에 보여준다. 그렇게 하여 얻은 피드백을 반영하여 소프트웨어를 성장시킨다.
스크럼은 무엇인가?
폭포수 방법이 계획 기반의 프로세스라면 스크럼은 경험 기반 프로세스다.
미래를 예견하는 것이 아니라, 반복적인 실제 측정에 기반하여 지식을 획득하며 나아간다. 이를 위해 투명성을 확보하고 동시에 검증과 적용을 반복해야만한다.
스크럼 프로세스
애자일에서는 1~4주 간격을 전체 개발 기간을 나누어 개발을 수행하고 그 과정을 반복해서 제품을 완성시킨다. 이짧은 기간을 애자일에서는 반복이라고 하며, 스크럼 용어에서는 스프린트라고 한다.
역할
스크럼에서 정의 된 역할은 프로덕트 오너(제품 소유자), 스크럼 마스터, 개발팀이 있다.
- 프로덕트 오너 : 무엇을 개발할지 결정하는 사람(우선순위 결정, 제품 백로그 추가, 삭제)
- 스크럼 마스터 : 전체를 지원하고 관리하는 사람(스크럼팀의 조율자, 지시자가 아니다)
- 개발팀 : 실제 개발 작업과 연관된 사람
산출물
- 제품 백로그
- 스프린트 백로그
- 인크리먼트
이벤트
- 스프린트 계획 : 제품 소유자의 우선순위에 따라 스프린트 백로그를 도출한 후, 스프린트 내에서 이를 구현할 것을 결정한다. 업무량을 산정하고 계획을 더 상세화하여 태스크 수준까지 분할한다.
- 스프린트 : 1~4주 간의 개발기간, 연장되지 않는다(기간이 지나면 종료된다)
- 일일 스크럼 : 팀원 한 사람씩 '어제 한 일', '오늘 할 일', '장애가 되고 있는 것'을 순서대로 말하면서 개발팀 전원이 활동 현황을 공유하는 15분의 짧은 시간 미팅이 진행된다.
- 스프린트 리뷰 : 관계자를 불러 모아 시연한다.
- 회고 : 리뷰 후에 수행하는 행위로, 점검과 개선의 활동이다.
Agile의 중요 요소 4가지
1. 빠른 반복 주기 ( iteration )
산출물을 만들어내는 하나의 Cycle.
왜 산출물을 만드는것인가? -> 보고 확인하기
왜 그렇게 해야 하는가? -> 보아야 알 수 있기 때문에
2. Re-factor
기존에 짜여진 컴퓨터 코드의 기능은 그대로 유지한 채 코드를 더 단순하게 재구조화 하는 작업
3. 짝 프로그래밍( Pair-Programming )
하나의 모니터를 사용하거나 복사된 두 개의 화면을 사용하는 방법으로 두 명의 프로그래머가 물리적으로 워크 스테이션을 공유하는 방식
4. 테스트 우선 개발( TDD )
Test-Driven Development.
평가 기준을 먼저 세우고 그 평가 기준에 따라 개발을 하여야 한다.( 테스트 코드가 평가 기준 )
반응형'지식' 카테고리의 다른 글
Web Server & Web Application Server 차이 (0) 2017.01.11 Java jdk 환경 변수 설정 (0) 2017.01.11 SOLID가 무엇인가? (0) 2016.12.05 객체지향의 특징과 특징별 설명 (0) 2016.11.29 STS 설정 방법 (0) 2016.09.20