2017.12.06

“애자일 개발의 지휘자“ 스크럼 마스터의 이해

Isaac Sacolick | InfoWorld

스크럼 마스터는 애자일 개발을 정의하는 행동 패턴을 만들어 유지하는 데 핵심 역할을 하는 사람을 말한다.

소프트웨어 개발에 애자일 프로세스를 도입해 적용하는 것은 시작에 불과하다. 비즈니스와 IT에 반드시 필요한 협력을 수행하고, 여러 팀에서 애자일 기법을 활용하고, 진짜 애자일 문화를 달성하기 위해서는 장시간에 걸쳐 코칭, 학습, 도입해야 하는 새로운 애자일 '사고방식'이 필요하다.

스크럼 마스터(Scrum Master)는 애자일 개발을 정의하는 행동 패턴을 만들어 유지하는 데 아주 중요한 역할을 한다. 또한 가용 자원과 기한에 부합해 개발이 진행되도록 만든다.

Image Credit : GettyImagesBank

스크럼 프로세스의 기본 원리
애자일은 2001년 17명의 기술 전문가들이 애자일 선언서(Agile Manifesto)를 완성하면서 시작됐다. 이들은 더 나은 소프트웨어를 개발하기 위한 4대 원칙을 공포했다.

- 프로세스나 도구보다 개인과 상호작용
- 포괄적인 문서화보다 제대로 동작하는 소프트웨어
- 계약 협상보다 고객과의 협업
- 계획 준수 및 이행보다 변화에 대한 대응

스크럼은 가장 많이 사용되는 애자일 프레임워크이다. 이는 조직의 애자일 개발 프로세스 도입에 도움을 준다. 최근 한 조사에 따르면, 스크럼 프레임워크를 사용하고 있다고 대답한 비율이 89%에 달한다. 스크럼 프로세스와 관련된 교육 활동을 견인하고 있는 유수 단체 중 하나인 Scrum.org는 최근 이른바 '스크럼 가치' 리스트를 발표했다. 스크럼 프로세스를 작동하게 만드는 가치들은 '용기(Courage)', '초점(Focus)', '전념(Commitment)', '존중(Respect)', '개방성(Openness)'이다.

기본적인 스크럼 프로세스는 꽤 직관적이다. 제품 소유주(Owner, 오너)가 고객과 가치, 제품이나 서비스를 전달하는 방법에 대한 비전을 규정하는 책임을 진다. 제품 소유주는 팀과 협력, 비전을 달성하는 데 목적을 두고 사용자 스토리의 백로그를 정의한다. 각 사용자 스토리에서 목표와 대상(사람), 중요한 이유, 솔루션이 고려해야 할 제약 요소를 정의한다.

스크럼의 중심에는 통상 1~4주 기간의 ‘케이던스(Cadence, 또는 스프린트)’가 있다.

스프린트가 시작될 때, 제품 소유주는 고객 피드백과 비즈니스 가치, 기타 요소를 토대로 스토리 백로그의 우선순위를 정한다. 팀은 우선순위를 평가하고, 스프린트 기간에 완료할 수 있는 하나에 전념한다. 팀원들은 매일 ‘스탠드업’ 미팅을 실시, 진행 상황을 보고하고, 스토리 완성을 방해하는 문제를 확대하고 이를 공동으로 수행한다. 모든 사람이 정보를 얻어 도움을 제공할 수 있도록 만들기 위해서이다. 스프린트가 끝나면, 완성한 사용자 스토리를 보여주는 데모를 실시한다. 그런 후, 개인적으로 과정을 되짚어(반성) 프로세스 개선 방향을 논의한다. 이후 계속되는 각 스프린트에서 이런 프로세스를 반복한다.

하지만 이는 원칙에 불과하다. 이런 기본 프로세스를 고객의 필요에 부합하는 기술을 전달하는 효과적인 프로세스로 발전시키기 위해서는 한층 더 상세하게 정의된 프랙티스가 필요하다. 스크럼을 실천하는 팀이 여러 개인 경우를 중심으로, 일부는 거버넌스의 영역에 해당된다. 스프린트의 기간, 제품 소유주의 공식적인 책임, 스크럼 프로세스 관리에 사용할 도구들, 기타 조직적인 프랙티스를 거버넌스로 규정하는 것이 일반적이다.

반면 사용자 스토리에 기록해야 할 내용, 팀이 제때 사용자 스토리를 완성하는 과정과 방법, ‘스탠드업’ 이후 장애물 극복 방법, 데모 및 ‘반성’ 방법은 통상 팀이 관리한다. 프로젝트 요구사항, 팀 구조, 팀원들의 경험, 기술 성숙도가 팀의 프로세스 실행 방법에 영향을 주는 경우가 많기 때문에 자기 관리가 필요하다.

스크럼 마스터의 역할
애자일 개발 팀이 프로세스를 관리할 때의 질문은 “팀이 스크럼 실무 지식을 실제 실천하는 방법”이다. 경험이 있는 팀, 없는 팀 모두에 촉매 역할을 하는 촉진제 역할이 필요한 경우가 많은데, 이 역할을 수행하는 사람이 바로 스크럼 마스터이다.

스크럼 마스터는 다음과 같은 사항에 대한 관리와 구현에 도움을 준다.

- 팀이 시간이 경과하면서 프랙티스를 진화시켜 각 스프린트에서 전달하는 결과물의 품질과 전달 속도를 향상시키는 방법
- 충돌(Conflict)을 관리 및 확대하는 방법
- 팀이 새로운 기능을 요구하거나, ‘기술적 부채’ 우선순위 책정을 주저하는 제품 소유주와 협력하는 방법
- 팀이 적합한 사람에게 적합한 업무를 가장 효과적으로 전달하는 방법
- 스토리 완성에 어려움을 겪는 팀원들을 돕기 위해 해야 할 일

스크럼 마스터의 역할은 개발팀의 스크럼 실천, 프로세스 진화, 협력 향상을 지원하는 역할로 진화했다. 스크럼 마스터는 팀을 성공시키는 가치를 보여주면서 팀을 돕는 중요한 책임을 수행해야 한다. 팀 토론에 참여, 질문을 던지고 모두 의견을 제시하도록 만들고, 팀이 편안하게 적정 수준의 위험을 감수하도록 돕고, 팀원들에게 스크럼 프랙티스를 교육한다. 또한 팀이 확대한 장애물을 관리하고, 효율적인 데모 미팅을 기획하고, ‘반성’ 회의의 토론을 촉진하는 역할도 한다.


2017.12.06

“애자일 개발의 지휘자“ 스크럼 마스터의 이해

Isaac Sacolick | InfoWorld

스크럼 마스터는 애자일 개발을 정의하는 행동 패턴을 만들어 유지하는 데 핵심 역할을 하는 사람을 말한다.

소프트웨어 개발에 애자일 프로세스를 도입해 적용하는 것은 시작에 불과하다. 비즈니스와 IT에 반드시 필요한 협력을 수행하고, 여러 팀에서 애자일 기법을 활용하고, 진짜 애자일 문화를 달성하기 위해서는 장시간에 걸쳐 코칭, 학습, 도입해야 하는 새로운 애자일 '사고방식'이 필요하다.

스크럼 마스터(Scrum Master)는 애자일 개발을 정의하는 행동 패턴을 만들어 유지하는 데 아주 중요한 역할을 한다. 또한 가용 자원과 기한에 부합해 개발이 진행되도록 만든다.

Image Credit : GettyImagesBank

스크럼 프로세스의 기본 원리
애자일은 2001년 17명의 기술 전문가들이 애자일 선언서(Agile Manifesto)를 완성하면서 시작됐다. 이들은 더 나은 소프트웨어를 개발하기 위한 4대 원칙을 공포했다.

- 프로세스나 도구보다 개인과 상호작용
- 포괄적인 문서화보다 제대로 동작하는 소프트웨어
- 계약 협상보다 고객과의 협업
- 계획 준수 및 이행보다 변화에 대한 대응

스크럼은 가장 많이 사용되는 애자일 프레임워크이다. 이는 조직의 애자일 개발 프로세스 도입에 도움을 준다. 최근 한 조사에 따르면, 스크럼 프레임워크를 사용하고 있다고 대답한 비율이 89%에 달한다. 스크럼 프로세스와 관련된 교육 활동을 견인하고 있는 유수 단체 중 하나인 Scrum.org는 최근 이른바 '스크럼 가치' 리스트를 발표했다. 스크럼 프로세스를 작동하게 만드는 가치들은 '용기(Courage)', '초점(Focus)', '전념(Commitment)', '존중(Respect)', '개방성(Openness)'이다.

기본적인 스크럼 프로세스는 꽤 직관적이다. 제품 소유주(Owner, 오너)가 고객과 가치, 제품이나 서비스를 전달하는 방법에 대한 비전을 규정하는 책임을 진다. 제품 소유주는 팀과 협력, 비전을 달성하는 데 목적을 두고 사용자 스토리의 백로그를 정의한다. 각 사용자 스토리에서 목표와 대상(사람), 중요한 이유, 솔루션이 고려해야 할 제약 요소를 정의한다.

스크럼의 중심에는 통상 1~4주 기간의 ‘케이던스(Cadence, 또는 스프린트)’가 있다.

스프린트가 시작될 때, 제품 소유주는 고객 피드백과 비즈니스 가치, 기타 요소를 토대로 스토리 백로그의 우선순위를 정한다. 팀은 우선순위를 평가하고, 스프린트 기간에 완료할 수 있는 하나에 전념한다. 팀원들은 매일 ‘스탠드업’ 미팅을 실시, 진행 상황을 보고하고, 스토리 완성을 방해하는 문제를 확대하고 이를 공동으로 수행한다. 모든 사람이 정보를 얻어 도움을 제공할 수 있도록 만들기 위해서이다. 스프린트가 끝나면, 완성한 사용자 스토리를 보여주는 데모를 실시한다. 그런 후, 개인적으로 과정을 되짚어(반성) 프로세스 개선 방향을 논의한다. 이후 계속되는 각 스프린트에서 이런 프로세스를 반복한다.

하지만 이는 원칙에 불과하다. 이런 기본 프로세스를 고객의 필요에 부합하는 기술을 전달하는 효과적인 프로세스로 발전시키기 위해서는 한층 더 상세하게 정의된 프랙티스가 필요하다. 스크럼을 실천하는 팀이 여러 개인 경우를 중심으로, 일부는 거버넌스의 영역에 해당된다. 스프린트의 기간, 제품 소유주의 공식적인 책임, 스크럼 프로세스 관리에 사용할 도구들, 기타 조직적인 프랙티스를 거버넌스로 규정하는 것이 일반적이다.

반면 사용자 스토리에 기록해야 할 내용, 팀이 제때 사용자 스토리를 완성하는 과정과 방법, ‘스탠드업’ 이후 장애물 극복 방법, 데모 및 ‘반성’ 방법은 통상 팀이 관리한다. 프로젝트 요구사항, 팀 구조, 팀원들의 경험, 기술 성숙도가 팀의 프로세스 실행 방법에 영향을 주는 경우가 많기 때문에 자기 관리가 필요하다.

스크럼 마스터의 역할
애자일 개발 팀이 프로세스를 관리할 때의 질문은 “팀이 스크럼 실무 지식을 실제 실천하는 방법”이다. 경험이 있는 팀, 없는 팀 모두에 촉매 역할을 하는 촉진제 역할이 필요한 경우가 많은데, 이 역할을 수행하는 사람이 바로 스크럼 마스터이다.

스크럼 마스터는 다음과 같은 사항에 대한 관리와 구현에 도움을 준다.

- 팀이 시간이 경과하면서 프랙티스를 진화시켜 각 스프린트에서 전달하는 결과물의 품질과 전달 속도를 향상시키는 방법
- 충돌(Conflict)을 관리 및 확대하는 방법
- 팀이 새로운 기능을 요구하거나, ‘기술적 부채’ 우선순위 책정을 주저하는 제품 소유주와 협력하는 방법
- 팀이 적합한 사람에게 적합한 업무를 가장 효과적으로 전달하는 방법
- 스토리 완성에 어려움을 겪는 팀원들을 돕기 위해 해야 할 일

스크럼 마스터의 역할은 개발팀의 스크럼 실천, 프로세스 진화, 협력 향상을 지원하는 역할로 진화했다. 스크럼 마스터는 팀을 성공시키는 가치를 보여주면서 팀을 돕는 중요한 책임을 수행해야 한다. 팀 토론에 참여, 질문을 던지고 모두 의견을 제시하도록 만들고, 팀이 편안하게 적정 수준의 위험을 감수하도록 돕고, 팀원들에게 스크럼 프랙티스를 교육한다. 또한 팀이 확대한 장애물을 관리하고, 효율적인 데모 미팅을 기획하고, ‘반성’ 회의의 토론을 촉진하는 역할도 한다.


X