애자일과 워터볼 방식 비교하기
PM 구인공고를 보면 많은 회사들이 워터폴(Waterfall)과 애자일(Agile) 방식의 차이를 알고 있는지 여부에 대해서 질문한다. 나를 비롯한 많은 사람들이 워터폴 방식, 글자 그대로 폭포처럼 위에서 아래로 떨어지는 업무 진행 방식에 대해서는 대략적으로 이해도를 가지고 있을 것이라 판단한다. 그렇다면 애자일 방식이란 무엇을 말하는 걸까?
먼저, 우리 워터폴 방식을 제대로 알고 있는지 여부부터 검증해 보도록 하자.
워터폴(Waterfall)을 사전에서 찾아보니 매우 심플하게 '폭포'라고 두 글자만 나와있다. 폭포, 절벽에서 곧장 쏟아져 내리는 물줄기라고 한다. 업무 방식에 적용했을 때 그 형태를 이해하기를 그리 어렵지 않은 일이다.
전에는 이해관계자가 요구하는 대로 제품을 만들고 제때 납품하면 되는 업무수행 방식이 주를 이루었다. 단계적으로 업무가 진행되고 위에서 떨어진다는 수직적인 의사소통의 의미도 담아 이러한 개발 방식을 워터폴이라고 부른다. 워터폴 방식은 모든 것이 사전에 계회되어 납기에 맞추어 결과물을 내는 것이 최고의 목표이다. ['프로덕트 매니저는 무슨 일을 하고 있을까' 중에서]
책에서는 이렇게 표현하고 있다. 앞으로 다뤄볼 PMF(Product Market Fit)와 상관없이 이해관계자들이 원하는 제품을 원하는 방식으로 만드는 방식이다. 이러한 워터폴은 인력과 시간 등 필요한 리소스를 사전에 통제할 수 있기 때문에 변경 사항을 최소화시켜 안정적인 프로젝트 진행을 할 수 있다는 장점이 있다. 반면, 순차적으로 진행되기 때문에 각 단계가 다음 단계로의 진행을 방해하는 진입장벽이 되기도 하고, 가장 큰 문제는 최종 결과 단계에서 오류가 발생한 경우 이를 개선하기 위해서는 앞 단계까지 거슬러가야 한다는 것이다.
워터폴 방식은 위의 그림과 같이 총 6단계로 구성되어 있다.
'요구사항 수집 > 디자인 > 개발 > 테스트 > 배포 > 유지보수'의 단계로 그림에서 볼 수 있듯이 거꾸로 검토하는 과정은 없다. 모든 단계의 결과물이 다음 단계의 결과에 영향을 미칠 수 있다. 가볍게 생각하면 세상이 필요로 하는 완벽한 제품을 만들 수 있다는 가정하에 워터폴 방식은 효율적이고 빠른 방식이 될 수 있다. 하지만 전제 자체가 불가능하기 때문에 개인적으로 워터폴 방식은 오히려 리소스를 낭비하는 결과를 초래할 수 있다고도 생각된다.
구글에 애자일을 검색하면 가장 많이 나오는 이미지 유형이다. 같은 과정의 반복을 통해서 우측에 있는 결과물(Outcome)이 조금씩 성장하고 있는 것을 확인할 수 있다. 매 프로젝트마다 누적되는 결과물은 MVP(Minimum Viable Product), 즉 최소 기능 제품이라고 불리는데, 사용자가 필요로 하는 기능을 가진 제품을 피드백과 목적성에 맞춰서 개발한다. 이전 단계의 제품을 기반으로 다음 단계 제품이 만들어지고, 이 과정을 반복하며 비로소 시장에서 사용자들이 꼭 필요로 하는 제품, PMF(Product Market Fit)이 맞는 제품을 개발할 수 있다.
PMF, MVP를 구글에 검색하면 역시 유명한 그림이 하나 있다.
가운데 선을 중심으로 위쪽의 그림은 워터폴 방식으로 이해관계자들이 자동차를 만들기로 결정하고 제품개발을 시작했지만, 아래쪽의 방식은 고객들이 이동수단을 원한다는 가설을 중심으로 제품을 개발하고, 발전시켜 나갔다. 그 결과 같은 자동차라도 고객들이 더 선호하는 제품이 시장에 출시될 수 있었다.
리스크 관리 측면에서 볼 때 워터폴 방식보다 애자일 방식이 유리하다. 하나의 대단한 제품을 만드는 워터폴 방식은 완성 즉시, 제품이 마켓핏에 맞지 않다면 모든 것이 리스크가 될 수 있지만, 애자일 방식은 단계마다 상대적으로 가벼운 리스크들이 분산되어 있기 때문에 리스크를 매니징 하는 것에도 유리할 수 있다.
Agile = Iterative + Incremental
Iterative : Don't try to get it all right from the beginning
Incremental: Don't build it all at once
'시작부터 다 맞추려고 하지 말고 한 번에 만들려고 하지 말아라' 애자일을 한 마디로 표현한 문장이 아닐까 싶다.
실제로 Standish Gruop이 발표한 자료에 따르면 워터폴 방식과 애자일 방식의 주요 수치를 비교한 결과 성공은 애자일 방식이 42%로 26%에 그친 워터폴 방식과 비교해서 약 2배 가까이 높은 수치를 보였고, 실패의 확률은 워터폴은 21%로 애자일 방식의 8%에 비해 3배 가까이 부정적인 결과가 나왔다.
조사하고 공부한 바에 따르면 애자일 방식이 워터폴 방식에 비해 성공확률이 높고, 실패확률이 낮은 이른바 개선된 방식이라고 볼 수 있을 것 같다. 하지만 세상에는 너무나 다양한 제품, 상황, 회사 등이 있기 때문에 애자일 방식이 워터폴 방식에 비해서 무조건 적으로 선진 방식이라고 대답하기에는 무리가 있을지도 모르겠다. 아직 경험해보지 못했으니. 경험한 이후에 이 글을 다시 정리했을 때 '역시 애자일이 맞는구나'라고 말할지도.
현직에 있는 서비스 기획자, PM들에게 물어보면 애자일 방식으로 업무를 진행하는 곳이 생각보다 많지는 않은 것 같다. 아마도 워터폴 방식으로 일을 해도던 우리나라 업무 방식과 정서에 갑작스러운 변화를 가져오기에는 무리가 있었을지도 모르겠다. 또, 애자일의 탈을 쓴 워터폴 방식이라는 답변을 들어본 것으로 미루어볼 때 애자일 방식이 더 좋은 방식인 것은 알고 있고, 적용하고 싶지만 어떻게 적용할 수 있는지 모르는 상태일 수도 있겠다. 혹은 내가 물어본 사람들이 극히 일부의 워터폴 방식을 사용하는 회사일수도.
어쨌거나 결론, 이론은 이론이고 내가 현직 PM으로 업무 할 때 이론을 기반으로 업무에 적용할 수 있는지 없는지 여부가 중요하겠다. 역시나 경험이 중요하다. PM으로 애자일을 경험하고 있을 내가 기다려진다.