카테고리 없음

애자일 프로세스란? 스크럼이란?

rnrwk0502 2024. 7. 10. 09:53

 90년대 이후, 인터넷 기술의 발달과 개인 PC보급의 증가로 고객의 요구 변화를 기존의 소프트웨어 개발 방식이 빠르게 대처하지 못해 생겨난 것이 애자일 프로세스이다.

애자일(Agile) 프로세스란?

 애자일(Agile)은 ‘기민한, 민첩한’이라는 뜻으로 일정한 주기를 가지고 빠르게 제품을 출시하여 고객의 요구사항, 변화된 환경에 맞게 요구를 더 하고 수정해나가는 탄력적인 개발방식이다.

 2001년, 경험 많은 소프트웨어 개발자들은 본인들이 기존의 워터폴 방법론이 아닌 새로운 프로세스로 개발하고 있다는 사실을 인식했고 아래와 같은 애자일 선언문 (Manifesto for Agile Software Development)을 발표했다. 이것이 애자일 방법론의 시작이라고 할 수 있다.

 

애자일 소프트웨어 개발 선언

우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다.

공정과 도구보다 개인과 상호작용을
포괄적인 문서보다 작동하는 소프트웨어를
계약 협상보다 고객과의 협력을
계획을 따르기보다 변화에 대응하기를

가치 있게 여긴다.
이 말은, 왼쪽에 있는 것들도 가치가 있지만,
우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

(출처 : 애자일 소프트웨어 개발 선언)

 

일반적으로 오늘날 많은 기업에서는 스크럼과 같은 애자일 프로세스를 주로 활용한다. 짧은 사이클로 제품을 개발하고 테스트하고 피드백을 받아 보완하는 방식으로, 변화에 수동적으로 대처하기보다 변화를 하나의 고정값으로 전제하여 1~4주 작은 스프린드 단위로 디자인 → 개발 → 테스트를 진행한다.

 

애자일 프로세스 장단점

가장 큰 장점은 빠른 속도와 유연함이다.

 고전적인 폭포수 방법론과 다르게 첫 단계에서 모든 요구사항을 계획하고 분석하지 않기 때문에 디자인, 개발, 배포까지 신속하게 완수할 수 있다. 계획에 의존하지 않고 일정한 주기마다 그때그때 요구사항을 반영하고 수정하여 시장과 고객의 변화에 대응하기 쉽다. 

 특히, 제품을 배포하고 고객의 피드백에 따라 빠르게 보완해 나가는 것이 필요한 스타트업에 적합한 방법론이다.

 등장한지 20년이 넘은 애자일 프로세스는 많은 기업에서 하나의 기본값이 되었으며 우리 조직과 제품에 적합한 애자일 방법론을 만들어가는 것에 집중하고 있다.

 

스크럼이란?

스크럼은 프로젝트 관리를 위한 상호/점진적 개발 방법론으로 프로덕트 백로그, 스프린트 플래닝, 스프린트 백로그, 데일리 스크럼, 스프린트 리뷰, 프로덕트 릴리즈, 스프린트 회고의 과정을 일정한 주기로 반복하는 것을 의미한다.

이미지 출처 정면 비교: 애자일 스크럼 vs 애자일 칸반 (boardmix.com)

스크럼 팀 구성

  • 제품 책임자(Product Owner) : 복잡한 문제에 대한 일감을 제품 요구 목록으로 정리하고 우선순위를 결정
  • 스크럼 마스터(Scrum Master) : 제품 책임자와 스크럼 팀이 애자일 가치와 원칙으로 성공적인 제품을 만들고, 조직 변화와 민첩한 작업 방식을 수립하고 유지할 수 있도록 촉진
  • 개발팀(Development Team) : 선택된 일감을 스프린트 기간 동안에 가치있는 증가분(Increment)으로 변환

스크럼의 5가지 가치

  • 합의(Commitment) : 약속한 것을 확실히 실현하는 것
  • 집중(Focus) : 합의한 것의 실현에 전념하는 것
  • 개방성(Openness) : 어떤 것이 자신에게 불리해도 숨기지 않는 것
  • 존중(Respect) : 자신과 다른 사람에게 경의를 표하는 것
  • 용기(Courage) : 자신이 옳은 일을 할 술 있도록 팀원 간 갈등과 도전을 통해 작업할 수 있는 용기

스크럼은 작은 개발 주기를 반복하는 이터레이션을 강조한다. 이 이터레이션은 스프린트라고도 불리며, 보통 1주에서 4주 사이의 기간으로 설정되며 각 스프린트는 다음과 같은 일련의 단계로 구성된다.

 

스프린트 절차

  1. 스프린트 계획 : 팀이 현재 스프린트동안 수행할 작업을 선택하고, 해당 작업을 완료하기 위한 목표를 설정한다. 
  2. 일일 스크럼 : 스프린트동안 매일 정해진 시간에 진행되는 짧은 회의이다. 팀원들은 각자 자신의 진행 상황, 완료한 작업, 앞으로의 계획 등을 공유한다.
  3. 작업 수행 : 각자에게 할당된 작업을 수행한다.
  4. 스프린트 리뷰 : 스프린트가 끝나면 팀은 완료된 작업을 검토하고 이해 관계자들에게 보여준다. 증가분이 적절하게 구현되었는지를 확인하며, 제품 담당자와 이해 관계자들은 피드백을 제공한다. 이를 통해 제품의 진행 상황을 확인하고 다음 스프린트에 대한 계획을 조정할 수 있다.
  5. 스프린트 회고 : 팀이 스프린트 동안의 작업방식과 프로세스를 검토하고 개선하기 위해 개최하는 회의로, 팀은 스프린트 동안 잘한 점과 개선이 필요한 점을 식별하고, 이를 바탕으로 향후 스프린트에 반영될 개선사항을 결정한다.

스크럼의 장점

  • 자율적인 팀 협업 : 팀의 자율성과 협업을 통해 효율적인 개발을 이룰 수 있다.
  • 빠른 결과물 제공 : 짧은 개발 주기와 스프린트를 통해 빠르게 실행 가능한 소프트웨어를 제공할 수 있다.
  • 고객의 참여와 피드백 : 고객과의 지속적인 피드백을 수용하여 요구사항을 정확히 파악하고, 고객 만족도를 높일 수 있다.

스크럼의 한계

  • 적용 범위의 제한 : 대규모 프로젝트나 복잡한 프로젝트에는 적합하지 않을 수 있다.
  • 자원 관리의 어려움 : 팀원의 역량과 업무 분배에 대한 효율적인 관리가 필요하다.

 

애자일 스크럼 방식은 작은 팀의 자율적인 협업과 스프린트를 통한 짧은 개발 주기로 소프트웨어를 개발하는 방식이다. 효율적인 팀 협업과 지속적인 피드백을 통해 고객의 요구사항을 반영하고 품질을 개선할 수 있다. 하지만 프로젝트의 특성과 요구사항을 고려하여 적합한 개발 모델을 선택하는 것이 중요하다.

 

 

출처

애자일과 워터폴 방법론 비교 | 정의, 차이, 장단점, 적합한 조직 - 코드스테이츠 공식 블로그 (codestates.com)

 

애자일과 워터폴 방법론 비교 | 정의, 차이, 장단점, 적합한 조직 - 코드스테이츠 공식 블로그

애자일 방법론의 출발은 소프트웨어 개발 방식이었지만 이제는 제품 개발을 넘어 하나의 일하는 방식, 워크플로우로 자리 잡았습니다. 대표적인 프로덕트 개발 방법론인 애자일 방법론을 소개

www.codestates.com

칸반(Kanban)과 스크럼(Scrum) : 네이버 블로그 (naver.com)

 

칸반(Kanban)과 스크럼(Scrum)

애자일에 관심이 있는 분들이라면, 한 번쯤은 '칸반(Kanban)'과 '스크럼(Scrum)'이...

blog.naver.com

스크럼(Scrum)이란? (tistory.com)

 

스크럼(Scrum)이란?

스크럼(Scrum)이란? 스크럼(Scrum)은 소프트웨어 개발을 위한 애자일(Agile) 프로젝트 관리 방법론 중 하나로, 팀이 협업하고 목표를 달성하기 위해 필요한 관리 프레임워크입니다. 스크럼은 애자일

tech1.tistory.com