13.1 Scrum이란 무엇인가?
개발과 관련된 모든 것이 표준화되어 있다는 걸 이미 알겠지. 그런데 내가 너한테 말한다면 모든 게 표준화되어 있다고 하면 놀랄 거야? 사실 변수와 함수의 이름에 대한 부분도 그렇게 되어있긴 해 🤦
'Agile'이라고 불리는 개발 방법론이 있어, 그 중 인기 있는 구현 방법이 바로 Scrum이야. Scrum은 팀 프레임워크로도 불리는데, 이는 팀의 모든 프로세스를 정의하지. 회의는 언제 해야 하고, 누가 참석해야 하며, 무슨 내용을 논의해야 하며, 회의의 결과는 무엇이어야 하고 어떻게 기록해야 하는지 등을 말이야.
그런데 왜 이렇게 많은 표준화가 필요한 걸까? 첫째, 너는 하이테크 섹터에서 일하고 있어. 둘째, 이렇게 하면 모든 사람이 함께 일하기 더 쉬워. 그리고 셋째, 너의 직업명인 Frontend Fullstack Software Engineer의 마지막 단어 — Engineer를 보면 그 이유를 알 수 있을 거야.
13.2 Scrum에서의 작업 모습
Scrum은 소프트웨어 개발에서 자주 사용되는 유연한 프로젝트 관리 방법론이야. 이는 반복적이고 점진적인 프로세스를 기반으로 해.
Scrum은 보통 1주에서 4주 동안 지속되는 개발 주기를 스프린트라고 불러. 각 스프린트는 수행해야 할 작업을 계획하는 것으로 시작하고, 팀이 결과를 시연하는 발표로 마무리해.
Scrum의 주요 요소에는 역할, 이벤트, 아티팩트가 포함돼.
주요 역할에는 제품 요구 사항을 정의하는 Product Owner, Scrum 규칙에 따라 프로세스를 지원하는 Scrum Master, 그리고 작업을 수행하는 개발팀이 있어.
주요 이벤트로는 매일의 회의(데일리 미팅), 스프린트 계획, 회고 및 작업 결과 시연이 있어. 아티팩트에는 제품 백로그, 스프린트 백로그 및 제품 증분이 포함돼.
모든 것을 규제하는 것이 조금 무섭게 보일 수 있지만 걱정하지 마. Scrum으로 작업하는 것은 쉽고 재밌어. Scrum은 개발자와 고객/제품 소유자 간의 주요 갈등을 해결했어.
개발자는 항상 조용히 일하고 싶다고 요청해왔어. 그러나 제품 소유자는 새로운 기능을 신속하게 추가하거나 무엇인가를 실험하고 싶어 했지.
Scrum은 개발을 안정적인 기간, 즉 스프린트(보통 2주)로 나누었어. 이 기간 동안 개발자들은 현재 스프린트에 계획된 작업만 수행해. 고객이 뭔가를 급하게 해야 할 경우, 다음 스프린트에 이 기능을 추가해.
13.3 Sprint & Scrum Board
Sprint는 Scrum에서 주로 1주에서 4주 동안 지속되는 개발의 기본 주기야, 이 기간에 팀은 제품 백로그에서 특정 작업 세트를 수행해.
각 스프린트의 시작에는 계획이 진행되며, 이때 팀은 제품 백로그에서 작업을 선택하고 이를 수행하겠다고 약속해. 스프린트는 수행한 작업의 시연과 회고로 끝나는데, 이때 팀은 스프린트를 진행하는 동안의 작업 프로세스를 분석하고 다음 스프린트를 개선할 방법을 찾아. 이 접근 방식은 요구 사항 및 우선순위의 변화에 빠르게 대응하면서 제품을 주기적으로 업데이트 할 수 있게 해.
현재 스프린트 동안 개발자와 제품 소유자는 미팅을 함께 하여 다음 스프린트의 작업을 논의해야 해. 작업 리스트는 백로그라고 불려.
Backlog, 또는 백로그는 수행해야 할 모든 작업의 리스트야. Scrum에서는 제품 요구 사항(기능)을 포함하는 제품 백로그와 현재 스프린트에 구현하기 위해 선택된 작업으로 구성된 스프린트 백로그를 구분해. 백로그는 정기적으로 업데이트되고 검토되어 현재 비즈니스 목표와 시장 상황에 맞게 유지되는 살아있는 문서야.
현재 스프린트의 백로그는 Scrum Board라는 형태로 표현되는 것을 좋아해 — 일종의 작업과 상태가 포함된 게시판이지. 게시판은 보통 "할 일", "진행 중", "검토 중", "완료"와 같은 작업 수행 단계로 나뉘어. 이는 팀 전체가 진행 상황을 파악하고 작업 프로세스의 모든 어려움을 쉽게 식별할 수 있게 해.
GO TO FULL VERSION