개발자들이 자주 사용하는 용어 중 하나인 ‘스크럼’과 ‘스프린트’에 대해 깊이 있는 조사를 해보았습니다. ‘스크럼’은 애자일 소프트웨어 개발 방법론 중 하나로, 다음과 같은 특징이 있습니다. 위키백과에서 제공하는 정보를 기반으로 정리한 내용은 아래와 같습니다.
소프트웨어 개발 과정에서는 약 30일 간격으로 일정한 주기를 정해 작업을 계획하고, 각 주기마다 실제로 작동 가능한 결과물을 제공해야 합니다. 이 주기를 ‘스프린트’라고 하며, 개발 팀은 매일 아침 15분 가량의 ‘스탠드업 미팅’을 진행하여 작업 진행 상황을 공유합니다. 이러한 방식은 애자일 소프트웨어 개발 방법론 중 하나인 스크럼 방법론에서 사용되는 일반적인 방식입니다. 위와 같은 내용을 다르게 표현하면 다음과 같습니다.
다음은 스크럼 프로세스에서 중요하게 여기는 가치에 대한 내용입니다. 가장 중요하게 여겨지는 가치는 ‘정직성’으로, 스크럼에서는 불리한 사실이라도 숨기지 않는 것이 권장됩니다. 이는 매우 중요한 가치입니다. 또한 ‘용기’라는 가치도 매우 중요합니다. 올바른 결과를 얻기 위해 팀원들과의 갈등과 도전을 겪어야 한다는 것이 강조되는데, 이것은 쉽게 실행에 옮기기 어려운 것이며 인간의 본성으로 인해 동료들과 충돌을 피하는 경향이 있습니다. 이러한 행동에 대한 경고가 있습니다. 이러한 가치들이 전파되면서 개발자들은 더욱 까다로워지는 경향이 있습니다.
스크럼은 주기를 가진 개발 방식으로, 일반적으로 30일이 주기이지만 1주에서 4주 사이로 다양하게 설정할 수 있습니다. 대개 회사의 개발팀은 2주마다 스프린트를 진행하며, 백로그라 불리는 요구사항 목록을 사용하여 개발 작업을 수행합니다. 스프린트 계획 회의에서는 이번 스프린트에 완료할 작업 목록이 결정되고, 회사 개발팀에서는 이 회의를 통해 개발 리소스가 배정됩니다. 일일 스크럼 미팅에서는 전날 수행한 작업, 오늘 수행할 작업, 그리고 발생한 문제점 등을 논의하며, 스프린트가 끝날 때까지 실행 가능한 제품이 나와야 합니다. 스크럼에서는 항상 정직한 자세와 용기를 중시하며, 팀원들과의 충돌과 도전을 겪어 올바른 결과를 이끌어내는 것을 추구합니다. 이러한 가치들은 스크럼에서 매우 중요하게 여겨집니다.
스크럼에서는 기존에 존재하는 제품의 백로그(주로 Jira 형식으로 등록됨)를 기반으로 개발 작업을 배정합니다. 매일 정해진 시간에 일일 스크럼 미팅을 진행하여 작업 진행 상황과 문제점을 공유하며, 스프린트 기간이 종료되면 스프린트 리뷰 회의를 개최하여 프로젝트를 평가합니다. 이를 통해 프로젝트 평가를 짧은 주기로 수행함으로써 스트레스를 줄이고 건강한 팀 문화를 구축할 수 있습니다. 스프린트가 진행되는 동안 일부 팀원들은 다음 스프린트를 준비하기 위해 모여 시간을 갖기도 합니다. 이러한 방식은 스크럼에서 일반적으로 사용되는 방식 중 일부입니다.
스크럼 방법론의 특징 중 하나는 제품 책임자와 개발팀이 동등한 권한으로 작업을 추진한다는 것입니다. 개발자들은 서로 협력하여 작업을 자유롭게 배정하고 논의하며 진행합니다. 이로 인해 프로세스가 지속적으로 움직이는 컨베이어 벨트와 같은 느낌을 주지만, 그 과정에서 개발자들은 자신의 역할과 할 일을 결정하면서 자율성과 책임감을 느낍니다. 이를 통해 생산성이 향상되며, 프로세스가 정교하게 구성되어 여러 회의 문화가 요구되기 때문에 개발 리더에게 효율적인 방식으로 보일 수 있습니다. 스프린트는 크고 모호한 목표를 작은, 구체적인 목표로 변환하여 분할 정복 전략을 적용하는 프로세스로 볼 수 있습니다. 이러한 방식은 스크럼에서 일반적으로 사용되는 방식 중 하나입니다.