🔖개요
최근 팀 프로젝트와 관련해 Github Issue를 알아보면서 Iteration과 Mileston 두 가지 기능에 어떤 차이점이 있는지 궁금증이 생겼다. 둘 다 일정을 관리하는 기능 같은데 정확히 어떤 차이점이 있을까? 지금부터 알아보도록 하자!
각 단어의 유래
- Iteration: 라틴어 'iteratio'에서 유래되었다. '반복', '되풀이'를 의미하는 동사 'iterare'에서 파생된 명사로, 초기의 원형 또는 버전을 반복적으로 개선하고 발전시키는 과정을 나타내는 개념으로 사용한다.
- Milestone: 길에서 현재 어느정도까지 와있는지 알려주는 돌을 Milestone이라고 한다. 프로젝트의 진행 상황을 나타내는 이정표 개념으로 사용하기 시작했다.
🏷️차이점 1. 개념
Iteration
- Agile 방법론과 관련이 있으며 프로젝트를 작은 단위로 분할하고 개발을 반복적으로 진행하는 것을 의미한다.
- 이러한 반복은 보통 '스프린트(Sprint)'라고 불리는 고정된 기간 동안 이루어진. 각각의 스프린트는 일반적으로 1주일에서 4주 사이의 짧은 시간 동안 진행된다.
Milestone
- 전통적인 워터폴(Waterfall) 방법론과 관련이 있으며 프로젝트의 주요 단계나 이벤트를 나타낸다.
- 각 마일스톤은 프로젝트의 진행 상황을 추적하고 평가하기 위해 설정된 특정한 시점을 나타낸다.
🏷️차이점 2. 목적
Iteration
- 반복(Iteration)은 프로젝트를 빠르게 진행하고 결과물을 지속적으로 제공하여 빠른 피드백과 개선을 가능하게 만든다.
- 반복적인 개발을 통해 프로젝트의 기능을 단계적으로 구축하고 사용자 요구 사항에 빠르게 대응할 수 있다.
Milestone
- 작업의 추적보다는 특정 목표 또는 이벤트 달성에 초점을 둔다.
- 작업의 진행 상황을 추적하기보다는 Milestone이 완료되었는지 여부를 확인하는 데 사용된다.
🏷️차이점 3. 사용 방법
Iteration
- 각각의 반복은 일련의 작업을 포함하며, 각 작업은 주로 작은 기능 또는 단위 작업으로 구성된다.
- 반복의 시작과 끝에는 피드백과 검토 과정이 포함되어야 한다.
- 각 반복에서는 우선순위가 높은 작업을 선택하여 구현하고, 스프린트 끝에는 작업한 결과물을 검토해 다음 반복에 반영(버그 수정, 추가 기능 등의 개선)할 수 있도록 한다.
Milestone
- 주로 프로젝트의 큰 목표나 중요한 이벤트를 기반으로 작업을 그룹화한다.
- 특정 기능의 배포, 프로젝트의 주요 단계 달성 등과 관련된 작업을 Milestone에 포함시킬 수 있다.
🏷️정리
- Iteration은 작은 규모의 작업을 반복적으로 수행하면서 프로젝트의 빠른 진행 및 피드백 수렴을 위해 사용한다.
- Milestone은 주요한 이벤트나 주요 단계의 완료를 나타내는데 사용되며, 프로젝트의 진행 상황을 추적하고 평가하는 데 도움이 된다.