Scrum은 그 자체로 하나의 방법론이자, Agile의 실천 도구 중 하나이다.
이 말은, Agile로부터 Scrum이 등장한 것이 아니라는 이야기이다.
다른 실천 도구들(칸반, XP - extreme programming, 린SW개발)등은 Agile이라는 용어 정의 전에 이미 여러 형태로 존재하였다.
이후 Agile 선언문이 발표되며 이러한 방법들이 Agile 이라는 깃발 아래 모여들었고, 그 중 우리에게 익숙한 것이 Scrum이다.
결국 스크럼은
작은개발팀,짧은개발 주기 및 팀원들의생산성을 유지시켜 SW개발을 하는 대표적인 Agile 방법론이다.
다음 특징들로 Scrum을 정의할 수 있다.
역할, 정의에 중점15분의 Daily Meeting, 1~4주 정도의 개발주기요구사항(BackLog)관리, 업무 진행 가시화5~9명으로 팀 구성, 본인 task보다 급한 task를 우선시이러한 특성은
유연하게개발하기에 최적화 되어있는데, 특히 팀원의 수는 피자 한 판을 시켰을 때 나눠먹기 좋은 인원이라고 한다.

항상 이러한 가치를 볼 때 손과 발이 없어지는 경험을 하지만, 그래도 정의해 보도록 한다.
갈등과 도전을 통해 일을 할 수 있는 용기같은 목표를 향해 나아가는 것실행하는 것존중하는 것공개하고, 일의 효율성을 높이는 것일할 때 기본적으로 너무 당연한 자세 아닌가 싶지만, 실제로 스크럼을 해보면…
특히 한국인의 수직적인 정서상, 팀원 간의존중이 가장 어려운부분인것 같다.

Scrum 진행은 Broduct Backlog에서 한 Sprint에 수행할 작업들을 도출한 뒤,
매일 이루어지는 Daily scrum을 통해 팀원들의 업무 진척 상황을 공유하고 필요시 지원을 하는 방식으로 이루어진다.
해당 Sprint가 끝나면 Sprint 리뷰를 통해 다음 Sprint의 완급을 조절하며 이 과정을 반복한다.
각 단계별 구성요소는 다음과 같다.
전체 기간동안 개발해야하는 기능, 특성 및 기술에 대한 나열. 요구사항의 우선순위 나열 필수계획 수립Task 목록. Product Backlog에서 우선순위순으로 선택Scrum에서는 각 구성원이 주어진 역할을 잘 해내는것이 중요한데, 구성원들은 다음의 역할 중 하나를 따르게 된다.
목표 설정우선순위 조정업데이트 수행직접 하거나, 비지니스 요구사항을 정의할 수 있는 사람가이드하는 역할객관적인 시각에서 Scrum의 원칙이 잘 적용될 수 있도록 도움해결하는 역할상관없이 수행 가능Cross-functional한 롤을 가진 팀원들로 구성(개발자, 디자이너, 설계자 등)그 외 산출물로써는 Burn Down Chart가 존재하며, 각 Task별로 작업량을 측정한 뒤 작업량의 총 합에서 완료한 Task들의 작업량을 빼가며
그래프의 하강 기울기를 통해 다음 Sprint의 진행을 조절한다.
기존의
Top-Down방식과는 달리 Scrum에는 PM과 같은 직책이 존재하지 않는다.
그저 서로간의존중을 바탕으로 팀원간의 소통과 협업을 최대로 이끌어내며 일하는 것이 목표이며,
Scrum Master는 권력자나 리더가 아니라 그저조력자에 불과한 직책으로 늘 팀원들에게 귀기울이며 의견을 들어야 한다.
또한, 실제로 Scrum을 하다보면 Daily meeting이 서로 간의 감시와 업무 보고의 연장선이라고 느낄 수 있다.
하지만 Scrum Master가 팀원들을 강압적으로 압박하지 않고, Daily meeting의 목적이우선순위에 따라 Task를 수행하며 우선순위가 높은 Task에도움이 필요하다면, 자발적으로 팀원들이 본인의 Task를 제쳐두고 도움을 주는 것임을 팀원들이 숙지하도록도와주는것이 중요하다.