티스토리 뷰

릴리즈 및 반복 계획: 애자일 환경에서의 핵심 계획 활동

소프트웨어 개발에서 계획은 지속적인 활동이며, 이는 애자일 생명 주기에서도 동일하게 적용된다. 애자일에서는 두 가지 주요 계획이 이루어진다: 릴리즈 계획과 반복(iteration) 계획이다. 이번 칼럼에서는 이 두 가지 계획의 목적, 과정, 그리고 테스트 관점에서의 중요한 요소들을 다룬다.

릴리즈 계획

릴리즈 계획은 제품 릴리즈를 위한 전체적인 로드맵을 설정하는 과정이다. 보통 프로젝트 시작 몇 개월 전에 이루어지며, 제품 백로그를 정의하고 재정의하는 것을 포함한다. 여기에는 큰 사용자 스토리를 더 작은 스토리로 세분화하는 작업도 포함된다. 릴리즈 계획은 테스트 접근 방식과 전체 반복을 아우르는 테스트 계획의 기반을 제공하며, 주로 고수준 계획에 초점을 맞춘다.

릴리즈 계획에서는 비즈니스 담당자가 팀과 협력하여 사용자 스토리를 설정하고 우선순위를 매긴다. 이를 기반으로 프로젝트와 품질 위험을 분석하고, 고수준의 노력 추정을 수행한다. 이 과정에서 테스터는 다음과 같은 활동에 기여한다:

  • 테스트 가능한 사용자 스토리 정의 및 수락 기준 설정
  • 프로젝트 및 품질 위험 분석 참여
  • 사용자 스토리와 관련된 테스트 노력 추정
  • 필요한 테스트 수준 정의
  • 릴리즈를 위한 테스트 계획 수립

반복 계획

릴리즈 계획이 완료된 후 첫 번째 반복에 대한 계획이 시작된다. 반복 계획은 단일 반복의 종료 시점을 목표로 하며, 반복 백로그를 중심으로 진행된다.

반복 계획에서는 팀이 우선순위가 높은 릴리즈 백로그에서 사용자 스토리를 선택하여 상세히 설명하고, 위험 분석을 수행하며, 각 사용자 스토리에 필요한 작업을 추정한다. 만약 사용자 스토리가 불명확하고 명확히 할 수 없는 경우, 팀은 이를 거부하고 다음 우선순위 스토리를 선택할 수 있다. 비즈니스 담당자는 팀이 각 스토리를 이해하고 구현 및 테스트 방법을 결정할 수 있도록 질문에 답해야 한다.

선택된 사용자 스토리의 수는 팀의 속도와 각 스토리의 크기 추정에 따라 결정된다. 반복의 내용이 확정된 후, 사용자 스토리는 작업 단위로 나뉘어 팀원들이 이를 수행하게 된다. 테스터는 반복 계획에서 다음과 같은 활동에 기여한다:

  • 사용자 스토리의 상세 위험 분석 참여
  • 사용자 스토리의 테스트 가능성 평가
  • 사용자 스토리를 위한 수락 테스트 생성
  • 사용자 스토리를 작업 단위(특히 테스트 작업)로 분해
  • 모든 테스트 작업의 테스트 노력 추정
  • 시스템의 기능적 및 비기능적 측면 식별
  • 다양한 테스트 수준에서 테스트 자동화 지원 및 참여

계획 변경과 테스터의 역할

프로젝트가 진행됨에 따라 릴리즈 계획은 변경될 수 있으며, 이는 개별 사용자 스토리의 백로그 수정으로 이어질 수 있다. 이러한 변경은 내부 및 외부 요인에 의해 발생한다. 내부 요인으로는 전달 능력, 속도, 기술적 문제가 포함되며, 외부 요인으로는 새로운 시장 및 기회 발견, 경쟁사 등장, 비즈니스 위협 등이 있다. 반복 계획 또한 변경될 수 있는데, 이는 단순하다고 여겨졌던 사용자 스토리가 예상을 벗어나 복잡해질 때 주로 발생한다.

테스터는 릴리즈와 반복 계획의 변경으로 인한 도전에 직면할 수 있다. 릴리즈의 전반적인 그림을 이해하고 테스트 계획을 수립해야 하며, 반복마다 충분한 테스트 기반과 테스트 오라클을 제공받아야 한다. 이 과정에서 테스터는 애자일 원칙에 따라 변화에 적응하면서도 테스트 전략과 문서화를 신중하게 결정해야 한다.

 

릴리즈 및 반복 계획: 애자일 환경에서의 핵심 계획 활동

테스트 계획에 포함해야 할 주요 사항

릴리즈 및 반복 계획은 개발 활동뿐만 아니라 테스트 계획도 다뤄야 한다. 특히 다음과 같은 테스트 관련 문제를 고려해야 한다:

  • 테스트 범위, 테스트 목표, 그리고 이러한 결정의 이유
  • 테스트 활동을 수행할 팀 구성원
  • 필요한 테스트 환경 및 데이터, 필요 시점, 환경 및 데이터 변경 사항
  • 기능적/비기능적 테스트 활동의 타이밍, 순서, 의존성
  • 프로젝트 및 품질 위험 (예: 회귀 테스트 빈도, 기능 간 의존성)

테스트 활동 완료에 필요한 시간과 노력을 포함한 팀의 추정 작업도 중요하다. 릴리즈 및 반복 계획은 테스트와 개발 간의 협력을 통해 애자일 환경에서 성공적인 제품 릴리즈를 보장하는 데 핵심적인 역할을 한다.

개인적인 의견과 전망

애자일 환경에서 릴리즈 및 반복 계획은 단순한 일정 관리가 아닌 팀 협업과 품질 보장을 위한 중요한 전략적 도구로 작용한다. 앞으로는 AI 기반 예측 모델과 고도화된 도구를 활용하여 계획의 정확성과 효율성을 더욱 높일 수 있을 것으로 기대된다. 계획과 테스트가 긴밀히 연결된 조직만이 빠르게 변화하는 시장에서 성공적으로 경쟁할 수 있을 것이다.