애자일(Agile)
1. 애자일은 무엇인가?
애자일: 신속한 반복 작업을 통해 실제로 실행 가능한 소프트웨어를 개발하고 지속적으로 제공하기 위한 소프트웨어 개발 방식
소프트웨어 개발에 필요한 작업을 알리는 일련의 규정이 아니라 협업과 워크플로를 바라보는 하나의 관점
우리가 무엇을 하는지에 대한 선택을 안내하는 가치 시스템입니다.
2. 애자일의 개념과 가치
애자일 소프트웨어 개발에 관한 선언에 관한 문의 네 가지 주요 특성
- 개인과 개인 간의 상호작용이 프로세스와 도구보다 우선
- 작동하는 소프트웨어포괄적 인 문서보다 우선
- 고객과의 협업이 계약 협상보다 우선
- 변화에 대응하는 것이 계획을 따르는 것보다 우선합니다.
애자일 선언은 일련의 실천을 규정하지 않고, 소프트웨어 개발의 새로운 관점을 제시하는 어시스턴트에 가깝다.
3. 애자일은 왜 필요한가?
시대가 빨리 변화하면서 기존 경영 방식과 조직의 방법으로는 팀을 유지하고 성과를 내기에는 큰 어려움이 생겼다.
이러한 불확실한 환경에서 변화를 촉진하는 데 필요한 경영 방법론 중 하나가 바로 민첩하다.
애자일의 가장 큰 특징인 ‘단주기 반복 실행에 의한 변화에 적극적으로 대응할 것‘을 통해 위기에서 벗어날 수 있는 것이다.
특히 코로나 팬 데믹이 지금까지 지속되어 기업의 모든 계획을 알게 됐다.
이러한 불확실한 환경에서 기업은 애자일을 적용하여 살아남은 것을 볼 수 있다.
4. 어떻게 하면 애자일 조직이 될 수 있을까?
그럼, 어떻게 하면 애자일 조직이 되는 것일까?
애자일 조직이 되기 위해서는 5개의 조건이 필요하다고 한다.
- Strategy 비주얼 플랜 사용: 업무상황을 도식화하고 모든 팀원들과 공유하여 누구나 현재 상황을 즉시 확인할 수 있도록 해야 한다.
- Stucture 권한을 위임받은 네트워크 팀 구조: 조직문화를 받아들여 조직원 개개인의 오너십을 가져야 한다.
- 프로세스 신속한 의사 결정 및 학습 사이클: 명확한 마감과 반복 주기를 통해 위험 요소를 잡아 신속하게 새로운 것으로 변화하는 태도를 가진다.
- People 역동적 인 사람 중심 모델: 조직의 모든 사람을 참여시키는 것은 사람 중심의 역동적인 구조를 설계합니다.
- Technology 차세대 기술 활용: 민첩성을 기반으로 애자일은 모든 기술을 데이터를 디지털화합니다.
이 5가지 조건을 충족할 수 있다면 애자일 조직이 될 수 있다고 한다.
어떤 방법을 사용하여 할 수 있는지, 실제 기업은 어떻게 이 조건을 충족하고 있는지 한 번 조사해 보자.
민첩한 방법
1) 칸방(Kanban)
- 해야 할 일, 작업 중인 작업, 완료한 내용을 각 열에 표시합니다.
- 사업팀이 해야 할 일(To-Do)을 결정하고 개발팀이 작업이 시작된 후 진행을 맡는다.
- 동시에 진행 가능한 아이템(Work-In-Progress)의 수를 제한하는 것이 중요
- 심플하고 탄력적이고 심적인 부담이 적다.
- 일의 진행을 한눈에 파악할 수 있다.
- 빠른 진행에는 별도의 장치가 필요합니다.
2) XP(Extreme Programming)
- 비즈니스 요구의 변동이 심한 경우에 적합한 개발 방법
- 멤버 각자의 커뮤니케이션, 단순성, 피드백, 용기를 중시
- 방법론적으로는 테스트를 매우 중시하고(Test Driven Development), 개발자를 2명씩에 대해 코드를 짜는 페어 프로그래밍(Pair Programming)이 특징
3) 스포티파이 모델
- 조직 구성 방법에 가까운 애자일 방법론
- Squad: 스포티파이 모델의 기본 단위인 Product Owner와 함께 하나의 프로젝트를 진행할 수 있습니다.
- Tribe: 물리적으로 같은 공간에서 일하는 Squad의 집합체, Tribe Lead가 할당되어 보조한다.
- Chapter: 한 Tribe 내에 존재하는 직군별 모임, Chapter Lead가 할당되어 보조한다.
- Guild: 공통의 직업적 관심 분야, 또는 직군을 가진 사람들의 커뮤니티
- What: Squad와 Tribe 결정
- How : Chapter와 Guild 결정
- 조직간 커뮤니케이션 활성화/목적 조직과 기능조직을 동시에 배치함으로써 멤버의 발전에 대한 욕구와 제품의 신속한 개발을 동시에 추구할 수 있다.
4) 스크럼(Scrum)
- 가장 일반적으로 사용되는 애자일 방법론
- 범용적으로 활용할 수 있어 개발 속도 유지에 효과적
- Sprint: 한 번 배포하는 데 걸리는 개발 기간(2~4주)
- Product Owner : ‘무엇’을 ‘왜’할지 결정하고 우선 순위를 지정합니다.
- Dev Team: 이번 스프린트에서 얼마나 할 일을 PO와 협의하여 결정하고 제품을 개발한다.
- 스크럼 마스터: 팀이 잘 유지할 수 있도록 팀원을 코칭하고 문제 상황을 해결할 수 있는 마찰을 중재합니다.
실제 기업 사례
라이오트 게임즈
- 기획 단계부터 PO, 스크럼 마스터, 개발자가 개발 계획과 내용을 구체화
- 개발자가 직접 계획에 참여함으로써보다 구체적인 계획이 가능
- 개발 프로세스를 스크럼 마스터가 관리
- 이때 마스터 역할을 잘 수행할 수 있도록 100%의 시간을 확보하십시오.
- 스크럼 마스터가 프로젝트 매니저를 맡지만 구체적인 역할이 다르다.
스크럼 마스터는 직원의 고민을 듣고 해결하고 서로 문제를 조정하는 데 도움이됩니다.
Spotify
- 기능간 팀: Spotify는 팀을 기능간 단위로 구성하고 각 팀은 전체 개발을 담당.
- 업무 단위: 스쿼드(Squad) <트라이브(Tribe)
- 스쿼드(엔지니어, 디자이너, 프로그래머 등으로 구성)는 하나의 스타트업처럼 프로젝트의 종류와 진행방법을 자유롭게 결정한다.
- 트라이브 내의 같은 직군의 직원끼리, 기술 교류회인 챕터(Chapter)의 형성→스쿼드에서 신제품 프로젝트를 운영하는 방법
- 프로젝트가 진행됨에 따라 회원들이 빠르게 모여 흩어져있는 민첩한 조직 구조를 통해 회원들이 창의력을 최대한 발휘할 수 있도록
- Scrum at Scale: 소프트웨어 개발뿐만 아니라 전반적인 기업 문화에도 적용
- 2주간 스프린트: Spotify는 2주간 스프린트를 채용.실행 가능한 제품(MVP)은 사용자로부터 신속하게 피드백을 받고 반복적으로 개선할 수 있습니다.
- 매일 스탠드업 컨퍼런스: Spotify 팀은 매일 스탠드업 컨퍼런스를 개최하여 모든 사람에게 진행 상황과 작업에 대한 정보를 제공합니다.
- 지속적인 배포: Spotify는 팀이 새로운 기능과 개선을 신속하고 안정적으로 사용자에게 제공할 수 있도록 지속적인 배포 파이프라인을 구현합니다.
배달 민족
- 프로그램 개발에 관한 고객의 버그 보고에 대한 피드백
- 예측 불허의 고객과 상황에 민첩한 전략으로 대응
- 일반적으로 점심 시간과 저녁 시간이 최대 값을 가지고 있지만 트래픽의 최대 값이 몇 시간 지속될 수있는 상황 등에 대비.이벤트 등을 시작하는 순간, 접속자수가 모여 트래픽이 하루 종일 최대치를 얻게 되는 경우도 고려
- 서비스 개선, 우선 순위 조정, 팀 리듬 파악을 통해 ‘민첩’에 대응.애자일(Agile)의 법칙이 있어도 무작위로 따르지 않는다.
5. 애자일에 대한 내 생각
위의 경우만 보면 애자일은 정말 훌륭합니다.
그러나 애자일을 무조건 신용하면 기업이 100% 성공하는 것은 아니다.
따라서 애자일을 비즈니스 방법론으로 보는 것이 아니라 하나의 문화로 보는 것이 더 적합합니다.
그래서 애자일의 네 가지 주요 특징이 무엇을 말하는지 이해하고, 애자일 조직이 되기 위한 5가지 조건을 충족하기 위해 끊임없이 개발하고 팀 간 문화를 만드는 것이 중요하다고 생각합니다.
합니다.
게다가 민첩한 것 외에도 다양한 협업의 관점과 방법이 있습니다.
지금은 애자일이 트렌드라고 알려져 있지만, 미래에 변화하는 기술과 환경 속에서 새로운 시점과 방법이 나올 것이다.
이 중에서 우리는 어느 것이 우리 팀에 맞는지를 결정하고 적용하는 것이 중요하다고 생각합니다.
참고문헌
http://www.casenews.co.kr/news/articleView.html?idxno=3116
https://dbr.donga.com/article/view/1101/article_no/7777/ac/special#