애자일 실패를 초래하는 7가지 실수

CIO

“성공에는 아버지가 많다. 그러나 실패에는 부모가 없다”라는 말이 있다. 진부한 격언이지만 실패한 애자일(agile) 이니셔티브에 대해서도 적용되는 격언이다. 다음과 같이 바꿔서 적용할 수도 있겠다. “성공은 팀 노력이지만 실패는 단순히 모든 사람의 잘못이다.”

어떠한 신규 애자일 프로그램도 실패를 목표로 삼지는 않는다. 그러나 준비와 정보가 부족한 팀이 비현실적인 목표에 집착하면서 계획을 제대로 하지 못하면 프로젝트는 처음부터 실패할 운명에 처하기 마련이다.

애자일 계획이 희망과 꿈을 짓밟은 채 실패로 돌아가기 원한다면 다음 7가지 방법을 따라 하기만 하면 된다.



1. 애자일을 ‘대충’과 혼동하기
애자일을 둘러 싼 가장 큰 오해 가운데 하나는 계획과 체계가 중요하지 않다는 것이다. 그러나 그것은 전혀 사실이 아니다. 프로젝트 관리 및 애자일 서비스를 제공하는 회사인 프로젝트 매니지먼트 에센셜즈(Project Management Essentials)의 창업주 알란 주커는 “애자일이 혼란이나 관리 부재에 대한 변명이 될 수 없다”라고 단언했다.

미디어 제작, 캐스팅, 이벤트 디자인 서비스를 제공하는 애자일 이용 업체 크리에이티브 카오스(Creative Chaos)의 최고 혁신 및 기술 책임자 우메르 아지즈는 “계획은 실행 전략이나 마찬가지”라고 전제하고 “전략이 애매모호하고 엔지니어들이 실행하기에는 지나치게 수준이 높은 경우가 너무 많다. 그러나 체크리스트로 작성 가능한 프레임워크를 사용하면 이러한 간극을 극복할 수 있으며 지속적인 알림을 통해 프로젝트를 제 궤도에 유지시킬 수 있다”라고 말했다.

애자일 릴리스 트레인(ART: agile release train)은 공통 업무 및 기술 미션을 개별 팀에 합치시키는 기본 계획 도구이다. 기술 컨설팅 회사 PSC그룹의 선임 컨설턴트 겸 프로젝트 관리자 로드 코르테스는 이 도구를 이용하는 과정에 대해 다음과 같이 설명했다.

“일단 고위 경영진이 회사에 비용 대비 최고의 이익을 가져다 줄 프로젝트를 선택한다. 그 후 애자일 팀이 이들 기능을 추정하고 스프린트(sprint)에 맞춰 계획을 수립한다. (스프린트란 특정 업무를 완수하여 검토 준비 단계로 만들어야 하는 기간을 말한다). 애자일 개발 방식을 효율적으로 활용하는 회사들은 3개월 내지 12개월 사이의 기간에 맞춰 기능과 프로젝트를 계획할 수 있다.”

2. 팀 구성의 중요성을 간과
팀 시너지는 성공적인 애자일 프로그램의 핵심이다. 아지즈는 “함께 일한 적이 있고 서로를 이해하는 팀이 유리하다. 새로운 팀이 구성되고 있는 중이라면 팀의 업무에 분명한 관심과 열정이 있는 사람을 데려와야 한다”라고 강조했다.

애자일 관리 플랫폼 업체 애자일크래프트(AgileCraft)의 CEO 스티브 엘리엇은 HR 및 팀 간 상호 의존성이 궁극적으로 애자일을 죽이는 것이라고 지적했다. “업무 분장을 통해 의존성을 줄일 수 있는 방법은 수십 가지가 있다. 팀 간 의존성을 최소화하려는 노력은 확실히 가치가 있다”면서 “전략적 응용 생애주기 관리(ALM) 도구를 통해 팀 간 의존성을 파악하고 이를 최적화할 수 있는 방법을 검토할 만하다”라고 설명했다.

주커 또한 모든 애자일 팀은 자립할 수 있어야 한다고 믿고 있다. 그는 “즉, 그들의 업무를 완수하기 위해 다른 전문 팀에 의존할 필요가 없다는 뜻”이라고 설명했다.

그는 전문가보다는 다방면에 지식과 능력을 갖춘 후보자를 물색할 것을 추천했다. 그는 “‘T자’ 또는 ‘E자’ 자원이라는 용어가 업계에 새로 등장했다”라며 “T 자원은 하나의 전문 분야(또는 깊이)가 있지만 다른 기술 분야에도 활용할 수 있는 역량을 가진 이들이다. E 자원은 여러 가지 전문 분야를 가진 이들이다”라고 설명했다.

3. 의사 소통은 알아듣기 어렵게 하거나 자제하기
의사소통이 제대로 되지 않는 애자일 팀은 대개 성공하지 못한다. 주커는 “애자일에 맞는 특징은 의사 소통과 정보의 흐름이 연속적인, 같은 장소에 있는 팀이다”라며 “애자일이란 제품 소유자와의 의사 소통, 팀 내부에서의 의사 소통이 정기적으로 이뤄지는 것을 요구한다”라고 덧붙였다.

스탠드-업(strand-up)과 스프린트 회고(sprint retrospective)와 같은 일상적 절차는 궤도를 수정하는데 그야말로 딱이다. 아지즈는 “반복적인 궤도 수정이 없으면 팀은 절대 나아지지 않는다. 장애물은 반드시 파악한 후 소리 높여 해결해야 하며 얻은 교훈은 꼭 전사적으로 공유해야 한다”라고 강조했다.

팀원 전원, 그리고 사내 애자일 팀이 서로 같은 용어로 의사 소통이 이루어지게 하는 것도 중요하다. 엘리엇은 “다수의 그룹이 합쳐지다 보면 용어 사용이 중구난방인 경우가 흔하다”고 지적했다.

애자일 프로젝트가 성공하려면 전사적으로 용어를 통일시켜야 한다. “애자일 분야는 줄임말이 흔하고 애초에 애자일 교육을 많이 받지 않은 사람들에게는 혼란스럽다”고 전제한 엘리엇은 “만일 그룹들이 통일된 용어를 사용하지 않는다면 이 문제는 한층 더 두드러진다”고 덧붙였다.
 


4. 프로젝트의 범위나 핵심을 온전히 이해하지 않는다
대부분의 전통적인 프로젝트들과는 달리 애자일 계획의 범위는 절대 변경 불가능한 것이 아니다. 주커는 “애자일 프로젝트의 경우 제품 소유자가 비전과 로드맵을 설정한다”라며 “비전과 로드맵이 개발 과정의 안내자 역할을 한다”고 덧붙였다.

주커의 설명에 따르면 로드맵은 각각 고객에게 가치를 제공하는 일련의 단계별 빌드로 나누어진다. 애자일 팀에 의해 개발될 항목들은 제품 백로그(product backlog)에서 관리된다. 제품 백로그란 우선 순위 순으로 정리한 산출물 목록을 말한다. 각 단계에서 팀은 목록 최상단의 항목을 가지고 와서 고객에게 제공한다.

애자일 프로젝트는 시작부터 기업의 전반적인 전략(미션, 비전, 가치관, 목표)을 실제 업무에 연계시켜야 한다. 엘리엇은 “이렇게 해야 산출 작업이 전략적 주제와 연계된다. 그렇지 않으면 신속하게 방향 전환을 할 수 있다”라며 “예측 가능성 분석과 빠른 속도를 활용하면 프로그램 관리자들이 프로그램 단계별 계획의 범위를 적절히 설정하는 데 도움이 된다”라고 말했다.

5. 테스트를 주먹구구 식으로
테스트는 절대적으로 중요하다고 소프트웨어 컨설턴트 톰 브루스헤이버가 강조했다. 그는 “단위 테스트가 있으면 개발자가 보다 편안하게 코드를 변경할 수 있다”면서 “기능 테스트 역시 개발자들에게 도움이 된다. 뭔가를 변경하면 영향이 있게 마련이라는 점을 인식할 수 있기 때문이다. 변경을 조정해야 할 수도 있고 아니면 테스트에 변화가 필요할 것”이라고 덧붙였다.

통합 역시 매우 중요하다. “소규모의 스프린트 길이의 단계가 있으면 출고될 제품이 제품 소유자/고객이 원하는 기능을 하게 될 것이라는 것을 모든 사람들이 믿고 안심할 수 있다”이라고 브루스헤이버는 말했다.

많은 애자일 팀은 테스트 위주의 개발 방식을 활용한다. 코드보다 테스트 사례를 먼저 작성하는 것이다. 주커는 “코드에 실행 가능한 테스트 개수를 극대화하기 위해 자동화된 도구도 활용하라. 애자일은 또 제품 소유자와의 긴밀한 협력을 기대한다. 기대되는 것을 팀이 정확히 산출할 수 있게 해 주는 것이다”라고 말했다.

6. 경영진과 임원의 무관심
애자일의 장점은 분명하지만, 당사자 전원, 특히 기업 리더들이 애초부터 참여할 것이라고 여기는 것은 잘못이다. 엘리엇은 “변신에는 비용이 매우 많이 들기 때문에 즉각적인 성과에 대한 부담이 생긴다. 진정한 애자일 변신을 시작하기에 앞서 조직에서 가장 높은 사람의 지원을 확보하고 정치적인 싸움에서 승리하고 ‘왜’를 팀에게 반복적으로 주지시키는 것이 중요하다”라고 강조했다.

지원을 확보할 수 있는 가장 좋은 방법은 애자일이 성공적인 제품 납품 확률을 실제로 높여줄 것임을 입증하는 것이다. 금융 보안 컨설팅 회사 파인서브 엑스퍼츠(Finserv Experts)의 전무이사 애리얼 월라나우는 “특정 조건 하에서 사실임이 경험적으로 판명됐다. 그러나 절대 당연하게 받아들여서는 안 된다. 애자일에 대한 지원을 확보하려면 애자일의 중요한 성공 요인이 해당 프로그램에도 적용된다는 점을 이해 관계자를 대상으로 설득시켜야 한다”라고 말했다.

애자일이 자신의 경력에 부정적인 영향을 미칠 것을 두려워하는 임원과 관리자들의 우려를 불식시키는 것도 중요하다. “사람들이 애자일을 원하는 이유는 만일 그렇지 못하면 뒤쳐질 것이라는 것을 직감적으로 알고 있기 때문이다. 그러나 그들이 그런 방향으로 가려면 안전성이 담보되어야 한다”고 엘리엇은 지적했다.

주커 역시 생각이 같다. 그는 “직원들이 경영진이 그들을 ‘풀어 주고’ 자율 경영하게 해 줄 것임을 알아야 한다. 소소한 실패를 할 수 있으며 그로 인해 불이익을 당하지 않는다는 점도 알아야 한다”라고 말했다.

7. 고객 피드백을 경시
고객 피드백은 애자일 산출 과정에서 필수 불가결하다. “애자일 규율과 전통적인 산출 방식 간의 중요한 차이점 가운데 하나는 애자일 프로그램은 피드백이 단순히 필수 통제 게이트에서만에 아니라 프로젝트 전반적으로 제공될 것을 기대한다는 점”이라고 월라나우는 설명했다.

고객 피드백은 애자일 팀이 구축하고 있는 것이 쓸모 있을 것임을 보장하기 위해 절대적으로 중요하다. “고객 피드백이 없으면 집중할 분야의 우선 순위를 정하기가 지극히 어렵기 때문에 팀들은 모든 것을 중요한 것으로 취급하게 될지 모른다. 그것은 아무것도 중요하지 않게 취급하는 것이나 마찬가지”라고 아지즈는 지적했다.

엘리엇은 “애자일은 프로세스 내에 고객을 포함시킨다. 그것이 성공의 핵심 이유다. 계획과 개발의 모든 측면에 고객을 포함시키면 시장에서 승리할 확률이 기하급수적으로 올라간다”라고 말했다.

또 한 가지 기억해야 할 중요한 점은 애자일 팀은 반복의 마지막 부분에서 회고 단계로 들어갈 때 고객 피드백을 활용하고 의존할 것이라는 점이다. 주커는 “회고 단계에서 팀은 해당 빌드 단계에서 잘된 점은 무엇이고 개선할 점은 무엇인지 분석한다. 내부 프로세스의 변경 사항이 [그 후] 다음 빌드 주기에서 적용된다”라고 말했다. ciokr@idg.co.kr