2015년 10월 2일 금요일

반복적인 시스템 개발환경에서 적절한 시기에 요구사항 수집하기

전통적인 ALM (Application Lifecycle Management)은 프로젝트 시작부터 끝까지 지속적으로 소프트웨어를 관리할 것을 요구합니다. 요구사항, 아키텍처, 코딩, 테스팅, 릴리스, 결함 관리 등 그것은 소프트웨어 개발의 모든 측면을 포함하고 있습니다. 그러나 관건은 시작 방법, 요구사항 수집 방법, 수집해야 하는 분량 등 세부사항에 있습니다.
따라서 반복적인 시스템 개발 (iterative development)이 어떻게 소프트웨어 팀들이 적절한 시기에 적절한 요구사항을 얻도록 돕는지를 소개하고자 합니다. 전통적인 개발방법론 하에서 개발프로세스 상의 요구사항 수집은 개발 초에 시행되고 반복되지 않고 있습니다. 그러나 애자일 방법론에 있어서는 지속적으로 프로세스가 반복되고 요구사항이 주기적으로 수집됨에 따라 적절한 시기에 요구사항을 반영하는 것이 중요합니다.

요구되는 세부사항의 정도
  • 요구사항에 있어 애로점은 첨부할 수 있는 세부적인 사항들이 항상 있기 때문에 필요로 하지도 않는 많은 것들을 수집하기 쉽다는 것임.
  • 애자일방법론 관점에 비춰 볼 때 많은 요구사항들이 실제로 도움이 되지 않는다는 것을 말해 줌.
적절한 시기의 요구사항
  • 애자일 방식을 전통적인 ALM방법론들로부터 구분해야 할 필요가 있음. 
  • 요구사항은 단지 수집되는 것만이 아니라, 프로젝트를 위해서 충분히 질문하고, 질문들을 반복해서 클라이언트로부터 대답을 얻는 것임.
중간 수정을 가능하게 하는 반복
  • 반복의 개념은 여러 가지 애자일 방법론 중에 하나인 스크럼(Scrum) 방법론에서 볼 수 있음.
  • 많은 기존의 방법론은 정확한 요구사항을 발견해서 작업 계획을 세우고 계획에 따라 작업하기를 요구함.
타임박스(timebox)의 중요성
  • 애자일 방법론에서 살펴 볼 때 반복적인 시스템 개발 중에서도 단호하게 일정을 준수하는 타임박스가 중요함.
  • 스크럼방법론에서 2주간 반복으로 한정했을 때, 이것이 의미하는 바가 있음.

댓글 없음 :

댓글 쓰기