애자일 방법론

애자일 방법론에 대한 이해를 높이고 장단점을 파악해 이 방법론을 팀에 적용하는 전략을 세워보세요.

애자일 방법론이란?

애자일 방법론은 2000년대 초반부터 많은 기술 기업에서 프로젝트 관리 방식으로 중용되어 왔습니다. 오늘날 대부분의 소프트웨어 개발팀이 애자일 방법론을 어떠한 형태로든 사용하고 있고, 다른 많은 업무 환경에서도 애자일 방법론의 요소를 활용하고 있습니다. 애자일이라는 용어는 비즈니스의 세계에서 많은 리더들이 '민첩함'을 강조하면서 더 널리 알려지게 되었습니다. 그렇다면 과연 비즈니스에 애자일 프로젝트 관리 방식을 적용한다는 것은 어떤 의미일까요?

애자일 방법론은 프로젝트를 작은 단위의 작업과 단계로 나누는 프로젝트 관리 공정입니다. 업무를 세부적으로 나눠 진행하기 때문에 팀이 공정의 각 단계에서 이해관계자의 피드백을 적용하고, 작업을 재평가하고, 신속하게 반복 작업을 실행할 수 있죠. 애자일 방법론에서 가장 일반적으로 사용되는 방식은 짧은 개발 주기인 '스프린트'를 통해 업무를 점진적으로 진행하는 것입니다. 이를 통해 팀은 업무를 신속하게 진행하고, 스프린트 계획 단계와 매일 진행되는 스크럼을 통해 관리자, 이해관계자들과 정기적으로 업무를 재평가할 수 있죠. 프로젝트팀과 이해관계자들은 검토를 거쳐 업무를 현재의 방식대로 계속 진행할 것인지, 아니면 앞으로의 스프린트에서는 계획을 변경해 적용할 것인지 결정할 수 있습니다. 전통적인 프로젝트 관리 방식과 비교하면 애자일 방법론은 속도, 유연성, 팀워크, 이해관계자의 요구 사항을 가장 우선순위로 둔다는 점에서 차이가 있습니다.

애자일의 유래

애자일이라는 개념은 2000년대 초 소프트웨어 개발자들이 모여 4가지 원칙이 담긴 선언문을 발표한 데서 유래했습니다. 그 원칙은 다음과 같습니다.

  • 공정과 도구보다 개인과 상호 작용 중시
  • 포괄적인 문서보다 작동하는 소프트웨어 중시
  • 계약 협상보다 고객과의 협력 중시
  • 계획을 고수하기보다는 변화에 대응

2001년에 발표된 애자일 선언문에 명시된 이 4가지 가치는 애자일 프로젝트 관리 방식의 바탕이 되었고, 소프트웨어 개발업계에 전면적인 변화를 가져왔습니다.

이전까지는 소프트웨어 개발 프로젝트에 폭포수 모델이 가장 선호되는 방식으로 여겨졌습니다. 폭포수 모델은 처음 등장한 1970년대에는 굉장히 획기적이었지만, 2000년대에는 부담스러운 방식으로 전락했죠. 프로젝트를 시작하기도 전에 많은 양의 문서를 작성하고 확고한 계획을 세워야 한다는 점이 가장 결정적인 문제였습니다. 업무가 실제로 시작되면 각 팀이, 때로는 서로 고립된 상태에서, 계획을 철저하게 따라야 해 문제가 발생하거나 계획을 변경해야 할 때 이에 적절하게 대응하기가 힘들었죠. 이에 비해 애자일 방법론을 사용하는 팀은 프로젝트를 더 신속하게 시작하고, 문제가 발생하면 이에 적절하게 대응할 수 있으며, 고객 및 이해관계자와 함께 계획을 세울 수 있습니다.

애자일 방법론이 대세인 이유

2000년대에 들어 기술 기업들은 폭포수 모델에서는 얻을 수 없는 애자일 방법론만의 분명한 이점을 보게 되었습니다. 애자일 소프트웨어 개발 방식의 이점은 프로그래밍의 세계를 뛰어넘어 다양한 분야의 워크플로에 적용될 수 있다는 점입니다. 그렇다면 프로젝트 관리자와 비즈니스 리더들의 관심을 사로잡은 애자일 방법론의 매력은 과연 무엇일까요?

적응성

애자일 방법론의 핵심은 목표, 환경, 공정상 문제의 변화에 대응할 수 있다는 것입니다. 애자일 프레임워크는 현재까지의 작업, 타임라인, 프로젝트 요구 사항을 평가할 수 있는 역량을 제공합니다. 이해관계자가 프로젝트의 범위나 방향을 변경하고자 할 경우, 스크럼과 스프린트 계획을 통해 이를 변경할 수 있죠. 팀원 중 한 명이 현재 작업이나 프로젝트 일부에서 문제를 발견하면 일정을 조정해 문제를 신속하게 처리할 수 있습니다. 고객의 요구 사항을 충족할 수 없는 결과물을 계속해서 생산하는 대신 신속하게 과정을 변경할 수 있는 것이죠.

이해관계자의 의견 수용

애자일 방법론은 이렇듯 뛰어난 유연성을 제공하기 때문에 끊임없이 변하는 클라이언트와 고객의 요구 사항에 맞춰 프로젝트를 진행할 수 있습니다. 어떤 프로젝트든 팀과 이해관계자가 처음에 정한 목표와 범위가 프로젝트 끝까지 그대로 유지되는 일은 거의 없습니다. 클라이언트가 예상하지 못했던 추가 작업을 요청할 수도 있고, 시간이 흐르며 최종 소비자의 요구 사항이 바뀔 수도 있죠. 이해관계자가 어떤 이유로 계획을 변경하든, 애자일 방법론을 사용하면 이러한 계획 변경에 대응해 백로그를 최소화하고 신속하게 프로젝트를 완료할 수 있습니다. 그리고 클라이언트의 기대치가 프로젝트 초반과 얼마나 달라지든 그 기대를 충족하는 최종 결과물을 만들어낼 수 있죠.

속도

민첩성이 없다면 이 방법론의 이름이 애자일일 필요도 없겠죠. 팀 작업을 작은 단위로 나누고 짧지만 목표가 분명한 작업 주기에 따라 진행함으로써 팀의 집중력을 향상하고 작업 속도를 높일 수 있습니다. 즉, 제품이 시장이나 클라이언트에 도달하는 시간이 단축되죠. 애자일 방법론의 속도는 탁월한 적응성과 함께 모든 유형의 비즈니스에 큰 매력으로 작용합니다. 문제가 발생하면 방향을 신속하게 전환해 문제를 처리할 수 있죠. 원래 계획이나 문서로 돌아가 모든 것을 검토할 필요도 없습니다. 스크럼에서 문제를 제기하고, 일정을 다시 세워, 문제를 해결하면 되니까요. 이렇듯, 애자일 방법론은 팀이 개별 작업에 대한 집중도를 유지하면서 제시간에 작업을 완료하는 데 효과적인 방식입니다.

애자일 방법론의 문제

하지만 애자일 방법론이 완벽한 것은 아닙니다. 여느 프로젝트 관리 도구와 마찬가지로 다른 방법론보다 나은 부분도 있고 주의해야 할 부분도 있죠. 폭포수 모델과 마찬가지로 애자일 방법론도 제대로 관리하지 않을 경우 문제가 발생할 수 있습니다.

관리 범위

문제와 공정상의 변화에 빠르게 대응할 수 있는 이점을 살려 전체적인 프로젝트와 그 범위를 세심하게 감시하도록 하세요. 애자일 방법론을 사용하면 계획을 변경해 빠르게 작업을 진행할 수 있지만, 작업을 빠르게 진행하다 보면 전체적인 진행 상황을 놓칠 수 있습니다. 팀이 효율적으로 작업을 진행한다고 해도 스프린트 계획을 통해 세운 작업 목록이 제대로 관리되지 않는다면 예산이나 시간을 초과하게 될 수도 있죠. 애자일 방법론을 사용하는 팀과 프로젝트 관리자는 프로젝트의 범위와 로드맵을 면밀하게 관찰하며 작업 진행량이 통제를 벗어나 폭증하는 일이 없도록 해야 합니다.

일정

팀이 애자일 방법론을 사용할 때 놓치기 쉬운 것은 범위뿐만이 아닙니다. 스프린트 계획 시에는 당시의 상황에 따라 일정과 우선순위를 유연하게 설정할 수 있는데, 팀원들이 새로운 작업을 처리하거나 문제 해결을 위한 지원에 나서기 시작하면 일정도 여기에 맞춰 유연해져야 하죠. 일정을 엄격하게 지키고 있다면 스프린트 계획을 해당 일정에 맞게 세워야 합니다.

또한, 자율적으로 일하는 팀의 경우 상황에 따라 여러 가지 작업을 왔다 갔다 할 수 있지만 결국에는 애초에 할당된 작업으로 돌아가야 합니다. 이때 팀의 작업이 얼마나 진행됐는지 확인하는 것은 애자일 프로젝트 관리자의 몫으로, 일정에 뒤처진 작업은 없는지 반드시 확인해야 합니다. 그렇지 않으면 다양한 스프린트를 빠르게 진행하는 과정 속에서 이미 완료된 것으로 생각했던 작업이 실제로는 완료되지 않았을 수 있죠.

커뮤니케이션

애자일 방법론이 팀워크와 신속한 대응을 가장 우선순위로 둔다는 것은 커뮤니케이션이 가장 중요하다는 것을 의미합니다. 문제가 발생했든, 도움이 필요한 상황이든, 팀원들끼리 그때그때의 진행 상황을 소통해야 하죠. 커뮤니케이션은 모든 팀원간에 정기적으로 이루어져야 하며, 그 내용을 계획에 직접적으로 반영해야 합니다. 계획을 변경하는 것은 이해관계자들이 무엇을 원하는지 알아야만 가능하기 때문에 이해관계자들과의 커뮤니케이션도 매우 중요합니다. 

애자일 방법론의 적용

팀에 애자일 방법론을 적용하고 싶다면 스프린트와 스크럼 등 이미 검증을 거친 다양한 전략과 사례를 살펴보세요. 적절한 프로젝트 관리 소프트웨어와 도구를 사용하는 것 또한 애자일 방법론의 성공적인 활용 여부를 좌우합니다. 아래에서 애자일 방법론을 적용하는 주요 프로세스와 방법을 살펴봅시다. 

작업 진행 상황 추적

다음 스프린트에서 어떤 작업을 완료해야 하는지 알려면 어떤 작업이 이미 완료되었는지를 알아야 하기 때문에 작업의 진행 상황을 면밀하게 추적해야 합니다. 애자일 방법론을 활용하는 팀은 일반적으로 백로그 상세화라는 기술을 사용합니다. 팀은 백로그 상세화를 통해 백로그 항목의 우선순위를 정하고 우선순위가 높은 항목을 처리할 수 있는 투명성을 얻을 수 있죠. 스크럼 팀은 보통 월 보드 또는 칸반 보드를 사용해 작업의 진행 상황을 추적하지만, 작업 관리 소프트웨어를 사용하는 팀도 많습니다. Dropbox에서는 Trello 등의 작업 관리 소프트웨어 통합 기능이 제공되어 팀이 모든 앱에서 실시간으로 진행 상황을 확인할 수 있습니다.

정기적이고 효율적인 커뮤니케이션

모든 애자일 방법론 프레임워크의 기본은 효율적인 커뮤니케이션입니다. 따라서 팀이 정기적으로 소통할 수 있는 수단과 기회를 제공하는 것이 매우 중요하죠. 스프린트는 보통 2~3주 간격으로 진행되지만, 대부분의 스크럼의 경우 매일 팀과의 '스탠드업' 회의를 통해 그날그날의 진행 상황을 확인합니다. 커뮤니케이션의 주기는 여러분과 여러분의 팀에 달려 있지만, 적절한 도구를 사용하면 팀원 간의 대화를 보다 용이하게 진행할 수 있습니다. Dropbox Spaces는 모든 콘텐츠를 하나의 체계적인 공간에 정리해 놓고 팀을 효율적으로 조직화할 수 있는 도구입니다. 할 일을 배정하거나 댓글을 남기며 동료들에게 작업의 진행 상황을 파악하는 데 필요한 전후상황과 방향을 제시할 수 있죠. SlackZoom 등의 실시간 메시지 앱, 영상 회의 앱을 통합해 작업 계획 세션과 팀 회의를 가질 수도 있습니다. Dropbox에서 바로 파일을 공유한 후 대화를 시작하면 탭과 문맥을 전환하는 데 드는 시간이 절약되죠. 이러한 방식은 특히 원격 팀이나 서로 멀리 떨어져 있는 팀원 간의 커뮤니케이션에 유용합니다.

잠시 멈춘 후 검토의 시간 갖기

애자일 방법론을 사용하면 한 작업이 끝난 후 다음 작업으로 바로 넘어가고 싶은 충동이 들 수도 있습니다. 하지만 과정 중간중간에 검토와 스프린트 평가 시간을 가지면 시야가 좁아지는 것을 방지할 수 있습니다. 각 스프린트가 끝나면 팀원들이 스스로의 작업을 다시 평가하고 우선순위를 정하는 검토의 시간을 갖도록 하세요.

스프린트 이후의 검토 시간은 계획이 수명 주기 동안 프로젝트에 어떤 영향을 미쳤는지 평가할 때도 유용합니다. 이를 위해서는 작업을 추적하고 그 과정을 꼼꼼히 기록하는 것이 중요하죠. Dropbox는 개발의 모든 단계에서 팀의 파일을 검토할 때 유용한 버전 관리 기능을 제공합니다. 이 기능은 스탠드업 회의에서 팀원 각각의 작업 진행 상황을 확인하거나 승인되지 않은 변경 사항을 되돌릴 때도 유용합니다.

애자일 방법론의 활용

애자일 방법론은 다양한 분야의 비즈니스와 관리자들의 일하는 방식을 변화시켰습니다. 2000년대부터 소프트웨어 개발의 구심점 역할을 해왔을 뿐만 아니라 모든 업무 분야에서 애자일 방법론의 요소가 활용되고 있죠. 내일 아침 팀과의 스크럼을 계획 중이든, 계속해서 이메일을 통한 소통을 고수하든, 애자일 방법론이 시대의 대세인 것만은 분명해 보입니다.