스크럼이란 무엇인가요?
스크럼은 팀이 자체적으로 조직하고 일반적인 목표를 달성하도록 협업하기 위한 관리 프레임워크입니다. 이를 통해 효율적인 프로젝트 전달을 위한 일련의 회의, 도구, 역할이 설명됩니다. 대형 시합을 위해 준비하는 스포츠 팀처럼 스크럼 연습을 통해 팀은 스스로 관리하고, 경험으로부터 배우며, 변화에 맞게 조정하게 됩니다. 소프트웨어 팀은 스크럼을 사용해 복잡한 문제를 비용 효율적이며 지속적으로 해결할 수 있습니다.
스크럼 방법론이란 무엇인가요?
스크럼 방법론의 특징은 다음과 같습니다.
프로젝트 성공을 위한 스크럼 원칙
투명성
팀으로 일하는 환경에서는 다른 팀원이 겪을 수 있는 문제를 인지할 수 있습니다. 다분야 팀원과 프로젝트 담당자 간의 정기적인 대면 대화를 통해 의사 소통 오류와 정보 병목 현상을 방지합니다.
반성
팀 구성원이 진행 상황을 검토할 수 있도록, 자주 반성하게 되는 점이 프레임워크에 포함됩니다. 프로젝트 관리자는 이러한 리뷰 미팅의 인사이트를 활용하여 추정과 향후 계획을 수립합니다. 결과적으로, 프로젝트를 예산 범위 내에서 일정에 따라 보다 효율적으로 실행할 수 있습니다.
적응
팀원은 변화하는 고객 요구 사항에 따라 작업의 우선 순위를 조정할 수 있습니다. 먼저 완료해야 할 작업과 나중에 보류해 두어야 할 작업을 결정합니다.
프로젝트 팀의 스크럼의 가치
스크럼 팀은 5가지 핵심 가치를 따릅니다.
헌신
스크럼 팀원은 시간이 정해진 작업과 목표에 전념하고 최상의 솔루션을 찾기 위해 지속적인 개선에 전념합니다.
용기
스크럼 팀은 개방적이고 도전적인 질문을 함으로써 용기를 보여줍니다. 솔직하고 투명한 토론을 통해 최상의 솔루션을 찾습니다.
집중
팀원은 주어진 기간 동안 작업의 제품 백로그를 바탕으로 작업을 수행합니다. 그리고 한정된 시간 내에 결과물을 제공하기 위해 선택한 작업에 집중합니다.
열린 자세
스크럼 팀원은 개별 학습과 전반적인 프로젝트 품질을 뒷받침하는 새로운 아이디어와 기회를 열린 자세로 수용합니다.
존중
팀원은 프로젝트 관리자, 다른 팀원, 스크럼 프로세스를 존중합니다. 이러한 존중의 문화는 팀 내에서 상호 협력과 협업의 정신을 만들어냅니다.
스크럼은 어떻게 적용되나요?
스크럼은 배우기는 쉽지만 전문가가 되기는 어려운 프레임워크입니다. 스크럼을 함께 고안한 Jeff Sutherland와 Ken Schwaber는 스크럼 가이드에서 기본 개념을 설명했습니다. 이 가이드에는 스크럼 프로세스의 자세한 개요와 프로세스를 효과적으로 구현하는 방법이 나와 있습니다.
스크럼의 본질은 스프린트라는 정해진 기간 내에 고객 가치를 제공하는 자체 조직화 팀입니다. 스크럼은 각 스프린트와 관련한 아티팩트, 역할 및 이벤트를 정의합니다. 아래에서 각각에 대해 자세히 살펴보겠습니다.
스크럼 아티팩트란 무엇인가요?
스크럼 팀은 스크럼 아티팩트라는 도구를 사용하여 문제를 해결하고 프로젝트를 관리합니다. 스크럼 아티팩트는 중요한 계획 및 작업 정보를 팀원과 이해 관계자에게 제공합니다. 세 가지 주요 아티팩트가 있습니다.
제품 백로그
제품 백로그는 프로젝트가 성공하기 위해 완수해야 하는 기능, 요구 사항, 개선 사항 및 수정 사항의 동적 목록입니다. 본질적으로, 시장의 변화에 적응하기 위해 지속적으로 재검토되고 우선 순위가 조정되는, 팀의 할 일 목록입니다. 제품 담당자는 관련 없는 항목을 제거하거나 고객의 새 요청을 추가하여 목록을 유지 관리하고 업데이트합니다.
스프린트 백로그
스프린트 백로그는 개발 팀이 현재 스프린트 주기에서 완료해야 하는 항목의 목록입니다. 각 스프린트 전에 팀은 제품 백로그에서 작업할 항목을 선택합니다. 스프린트 백로그는 유연하며, 스프린트 도중 변경될 수 있습니다.
증가분
증가분은 목표 또는 비전의 실현에 한 발짝 다가가는 것입니다. 즉, 스프린트에서 얻어지는 유용한 최종 결과물입니다. 각 팀은 다양한 방법을 채택하여 스프린트 목표를 정의하고 보여줄 수 있습니다. 이 같은 유연성에도 불구하고, 팀이 현재 스프린트에서 달성하고자 하는 기본적인 스프린트 목표는 조정할 수 없습니다.
예를 들어 일부 팀은 스프린트가 끝날 때 고객에게 무언가를 공개하는 방식을 선택하며, 이 경우 소프트웨어 변경 사항이 공개되면 스프린트 목표가 완료됩니다. 여러 팀이 릴리스될 기능 집합을 완성하기 위해 함께 작업할 수 있습니다. 이 경우 기능이 성공적으로 테스트되면 스프린트 목표가 완료됩니다.
스크럼 역할이란 무엇인가요?
스크럼 팀에는 제품 담당자, 스크럼 리더, 개발 팀이라는 세 가지 특정한 역할이 필요합니다.
제품 담당자
제품 담당자는 개발 팀이 비즈니스에 최고의 가치를 제공하도록 하는 데 중점을 둡니다. 이들은 최종 사용자와 고객의 변화하는 요구 사항을 파악하고 우선 순위를 정합니다. 유능한 제품 담당자는 다음과 같이 합니다.
- 팀에게 다음에 어떤 기능을 제공해야 하는지에 대해 명확한 지침을 제시합니다.
- 기업이 원하는 것과 팀이 이해하는 것 사이의 격차를 해소합니다.
- 릴리스 시기와 빈도를 결정합니다.
스크럼 리더
- 각 스프린트에 필요한 리소스를 스케줄링합니다.
- 다른 스프린트 이벤트 및 팀 회의를 진행합니다.
- 팀 내에서 디지털 트랜스포메이션을 주도합니다.
- 새로운 기술을 채택할 때 팀 교육을 진행합니다.
- 외부 그룹과 소통하여 팀 전체가 직면할 수 있는 모든 문제를 해결합니다.
스크럼 개발 팀
스크럼 팀은 테스터, 디자이너, UX 전문가, Ops 엔지니어 및 개발자로 구성됩니다. 팀원은 서로 다른 스킬 세트를 가지고 있으며, 서로 교차 교육하므로 누구도 작업 수행에 걸림돌이 되지 않습니다.
Amazon의 창업자인 Jeff Bezos는 팀 규모를 결정할 때의 기준으로 피자 두 판 규칙을 추천합니다. 한 팀은 피자 두 판을 충분히 나눠 먹을 수 있을 만큼 작아야 합니다.
스크럼 개발 팀은 다음을 수행합니다.
- 성공적인 스프린트 완수를 위해 협력합니다.
- 지속 가능한 개발 관행을 지지합니다.
- 어떤 경우든 함께 한다는 태도로 프로젝트를 자체 조직하고 접근합니다.
- 각 스프린트마다 얼마나 많은 작업을 완료할 수 있는지 계획하고 추정하는 과정을 주도합니다.
스크럼 이벤트란 무엇인가요?
스크럼 이벤트 또는 스크럼 세리모니는 스크럼 팀이 정기적으로 수행하는 일련의 순차적 미팅입니다. 일부 스크럼 이벤트에는 다음이 포함됩니다.
스프린트 계획
이 이벤트에서 팀은 다음 스프린트에서 완료되는 작업을 예측합니다. 팀원들은 구체적이고 측정 가능하며 달성할 수 있는 스프린트 목표를 정의합니다. 계획 회의가 끝나면 모든 스크럼 팀원이 스프린트에서 각 증가분을 어떻게 실현해야 할지를 알게 됩니다.
스프린트
스프린트는 스크럼 팀이 함께 협력하여 증가분을 완성하는 실제 기간입니다. 스프린트의 길이는 2주가 일반적이지만, 프로젝트와 팀의 필요에 따라 달라질 수 있습니다. 작업이 복잡하고 관련 지식이 부족할수록 스프린트는 더 짧아야 합니다.
일일 스크럼 또는 스탠드업
일일 스크럼은 팀원이 체크인하고 하루 업무를 계획하는 짧은 미팅입니다. 완료된 작업에 대해 보고하고 스프린트 목표를 달성하는 데 있어 과제도 자유롭게 제기합니다. 모두가 서서 담소를 나누는 것처럼, 회의를 실용적으로 짧게 유지하는 것을 목표로 하기 때문에 스탠드업이라고 불립니다.
스프린트 리뷰
스프린트가 끝나면 팀은 비공식 세션을 위해 한자리에 모여 완료된 작업을 검토하고 이해 관계자에게 보여줍니다. 또한 제품 담당자는 현재 스프린트를 기준으로 제품 백로그를 재작업할 수도 있습니다.
스프린트 회고
팀이 함께 모여 스프린트를 진행하는 동안 어떤 부분이 잘 되었고 어떤 부분이 잘 안 되었는지를 문서화하여 토론합니다. 만들어진 아이디어는 향후 스프린트를 개선하는 데 사용됩니다.
소프트웨어 개발에서 스크럼이 중요한 이유는 무엇인가요?
HR, 마케팅, 설계 등 모든 유형의 팀에서 스크럼은 효과적으로 사용됩니다. 하지만 스크럼은 소프트웨어 개발 및 엔지니어링 팀에서 보다 널리 사용되고 있습니다. 스크럼은 팀이 비용과 예산을 적정 수준으로 유지하면서도 변화하는 요구 사항에 보다 신속하게 대응할 수 있습니다. 스크럼은 다음과 같은 이유로 중요합니다.
어려운 상황에서 품질을 유지하는 능력
품질 보증 점검이 스크럼 프레임워크에 내장되어 있습니다. 팀이 각 스프린트가 시작될 때 요구 사항을 정의합니다. 또한 팀이 완수에 대한 팀 비전을 수립하면서 소프트웨어 또는 제품 수명 주기를 종합적으로 평가합니다. 즉, 요구 사항은 연관성이 있고 단기간 내에 달성 가능한 것으로 유지됩니다. 정기적인 제품 담당자 피드백과 스프린트 리뷰를 통해 프로젝트 전반에 걸쳐 지속적인 팀 개선 효과를 얻을 수 있습니다.
투자 수익률 증대
스크럼 팀은 고객 가치 및 리스크 분석 결과를 기준으로 요구 사항의 우선 순위를 정합니다. 여기서 초점은, 초기 고객 피드백을 수집하기 위해 시장에 출시할 수 있는 주요 작업 제품을 개발하는 데 있습니다. 스크럼 개발은 비용이 적게 드는 결함, 팀 효율성, 장기적으로 비용을 절감하는 빠른 접근 방식을 특징으로 합니다.
더 행복하고 생산적인 팀
추정을 개선하는 관련 지표
스크럼 팀은 프로젝트 성과를 측정하기 위해 자체 측정 기준을 선택합니다. 경험과 역량을 바탕으로 일정, 예산 및 품질 지표를 추정합니다. 추정은 상대적이기 때문에 제품 담당자가 관리 권한을 가집니다. 팀은 프로젝트를 시작할 때 더 많은 지원을 받고 시간이 지남에 따라 자연스럽게 속도를 높입니다. 프로젝트 이해 관계자는 작업 제품을 검토하고 정기적인 피드백을 제공하여 프로젝트가 정상 궤도에 오르게 합니다.
스크럼 개발 방식과 애자일 개발 방식의 차이점은 무엇인가요?
애자일은 소프트웨어 개발에서 사고 방식이나 사고 과정을 말합니다. 이는 모든 팀원이 고객에게 지속적인 개선과 가치를 제공하는 데 집중할 수 있도록, 조직 차원에서 채택된 철학입니다. 스크럼은 애자일 프로세스 내에서 작업을 완수하기 위한 프레임워크입니다. 스크럼은 애자일의 모든 핵심 원칙을 사용하여 프로젝트를 진행하는 방법을 정의합니다. 하지만 민첩성이 항상 스크럼을 의미하는 것은 아니라는 점에 유의해야 합니다. 프로젝트 관리에 애자일 접근 방식을 채택하는 방법론은 다양합니다
스크럼 개발 팀이 DevOps를 채택하려면 어떻게 해야 하나요?
- 모든 기능 개발을 위해 소프트웨어 테스트를 자동화하고 새로운 테스트를 작성합니다.
- 지속적인 배포를 지원하는 기술 스택 및 도구를 사용합니다.
- 각 스프린트 프로덕션에서 생산 변경 사항을 릴리스합니다.