2012.10.16

애자일 개발의 성공 조건 ··· 경영진 의지와 적절한 교육

Derek du Preez | Computerworld
애자일(Agile) 개발은 힘들다. 특히 개발팀이 원격지로 분리된 경우 끔찍하게 힘들다. 그러나 유명 웹사이트인 호텔닷컴(hotels.com)에 애자일 개발을 적용한 스튜어트 실버그 기술담당 부사장은 성공적인 애자일 개발의 조건으로 경영진의 강력한 의지와 적절한 직원 교육을 꼽는다.
 
실버그에 따르면 기업 환경에서 애자일 개발방법을 도입하는 것은 어쩌면 모래 위에 집을 집는 것이거나 혹은 적합하지 않은 것을 억지로 맞추려고 노력하는 것과 비슷할 수 있다. 그러나 그는 호텔닷컴에서 일하는 2년동안 IT 부서의 개발 프로세서를 애자일로 성공적으로 변화시켰다. 그리고 내년까지 릴리즈 주기를 일주일에 2회까지 늘리는 야심찬 계획을 세웠다.
 
실버그는 애자일이 모든 IT 프로젝트에 적합한 것은 아니며 특히 대기업의 경우 도입전 충분히 검토해야 한다고 지적한다. 그는 "일단 경고의 말부터 한다면 애자일은 만능이 아니다"라며 "우리는 한때 일부 백엔드 시스템과의 대규모 통합 프로젝트를 진행한 적이 있었는데 결국 중간에 애자일 방식을 포기했다"라고 말했다. 너무나 많은 것들이 유동적이어서 마치 모래 위에 집을 짓는 것 같았다는 것이다.
 
실버그는 당시 실패의 이유로 팀 운영을 꼽았다. 당시 회사에는 시스템을 수정하는 팀과 통합을 위해 인터페이스를 수정하는 일을 반복적으로 수행하는 팀 등 두개가 있었다. 그는 "백엔드 팀이 시작하는 개발 부분이 그들이 일을 끝내는 부분이 아니었다"며 "우리는 서로 연계해 백엔드 팀이 수정한 부분을 가능한 한 유지하려고 애썼지만 결국은 재작업을 해야 했다"라고 말했다. 이어 "일부 개발 부문의 경우 애자일이 적합하지 않아 결국은 억지로 하는 느낌이었다"라고 회고했다.
 
따라서 실버그는 기업이 애자일을 도입할 때 애자일이 효과적인 분야에 이를 적용하는 IT 팀을 보유할 지, 아니면 기존의 폭포수 프로세스(waterfall model)가 더 적합한 팀으로 유지할 지에 대해 신중하게 판단해야 한다고 말했다. 그는 "물론 두가지 형태의 팀을 함께 운영하지 못할 이유도 전혀 없다"라고 덧붙였다.
 
실버그가 호텔닷컴에 합류했을 당시만 해도 업체는 애자일 방식의 개발에 대해 불만을 갖고 있었다. 릴리즈는 12주에 한번씩 이뤄졌고 그 이후에 각 개발 사이클마다 테스트를 진행하는데 도 몇주가 흘러갔다.

그는 "당시 모든 사람들이 잘 하지 못했기 때문에 나도 처음에는 가장 극심한 애자일 비관론자였다"며 "더구나 당시 호텔닷컴은 폭포수 모델을 빨리 운영하기만 했고 가장 많은 논란이 있었던 것도 바로 이 지점이었다"라고 말했다. 이어 그는 "그러나 공정하게 말하면 애자일은 개발방법론의 전환이 아니라 혁명"이라며 "애자일은 달성되는 것이 아니라 당장 내일 스크럼(scrum)을 실행하도록 준비하고 것이고 개발 프로세스를 수정하는 것"이라고 말했다.
 
현재 호텔닷컴은 2주마다 릴리즈하고 있다. 내년에는 이를 일주일에 두번으로 더 당길 예정이다. 그는 "릴리즈 일정을 당기면 고쳐야 할 애플리케이션 버그가 있어도 개발 중간에 별도의 패치를 낼 필요가 없어진다"라고 말했다.
 
호텔닷컴은 대략 200명 가량의 애자일 개발자들을 확보하고 있다. 실버그가 이 인원으로 릴리즈 기간을 놀랄 만큼 줄일 수 있었던 것은 애플리케이션 아키텍처를 철저하게 검증했기 때문이다.
 
호텔닷컴은 과거에 300만줄 가량의 일체식 코드로 된 애플리케이션을 운영했다. 수정사항이 생기면 모든 것을 테스트한 후 다시 릴리즈해야 했다. 실버그는 이를  검색, 쿠폰, 예약 등 각각 독립적으로 운영되는 여러 개의 애플리케이션으로 쪼갰다. 그는 "각 애플리케이션이 독립적이기 때문에 수정사항이 있어도 테스트할 부분이 크게 줄어들었다"며 "수정에 대한 업무 부담이 줄어 들면서 결국 릴리즈를 매우 빠르게 할 수 있게 됐다"라고 말했다.
 
애자일을 성공적으로 적용했지만 여전히 어려운 점도 있다. 바로 멀리 멀리 떨어진 두 지역에 IT인력이 분산된 상태에서 개발을 하는 원거리 협업이다. 실버그는 "애자일은 어렵지만 애자일 원격지 개발은 끔찍하게 어렵다"라고 말했다.
 
그래서 그가 찾은 해법은 협업해야 할 팀은 지역적으로 쪼개지 않고 관리하는 것이다. 예를 들어 한 팀이 쇼핑 애플리케이션을 개발하고 다른 팀이 예약 애플리케이션을 개발한다면 한 팀은 회사내에서, 다른 팀은 원격지에서 근무하도록 하는 것이다. 그는 "우리는 절대 한 팀을 지역적으로 떨어진 곳으로 나누지 않는다"며 "각 팀은 독립적으로 작업할 수 있기 때문에 이렇게 하면 차질을 최소화할 수 있다"라고 말했다.
 
애자일은 IT 업계에서 효과적이고 효율적인 개발의 대명사가 되고 있다. 그러나 많은 조직들은 이를 효과적으로 적용하는데 상당히 애를 먹고 있다. 특히 공공부문의 경우 애자일이 가능한 부분부터 적용하려는 노력이 계속됐지만 제대로 이뤄지지 않고 있다는 비난에 직면해 있다.
 
실버그는 IT 부서에 애자일을 올바르게 적용하려면 기업 전체를 먼저 애자일(민첩)하게 만들어야 한다며 최고 경영진이 강력한 의지를 갖고 추진하는 탑다운(Top-Down) 방식으로 애자일을 도입하라고 충고했다. 그는 "IT 팀에게 연중 목표로 애자일 도입을 지시하지 말고 분기별로 체크해 변화를 요구해야 한다"며 "특히 회계팀이 연간 예산을 집행하도록 하지 말고 분기별로 집행하도록 하면 민첩한 기업으로 변모시킬 수 있을 것"이라고 말했다. 그는 "개발부서에서만 애자일을 시작하고 제대로 따라오는 사람이 아무도 없다면 절대적으로 실패한다"라고 덧붙였다.
 
마지막으로 실버그는 적절한 교육의 중요성도 강조했다. 그는 "직원 모두가 같은 시간에 같은 교육과정을 들으면 전원이 같은 페이지를 보게 된다"며 "직원들 모두가 아무런 혼란 없이 자신이 해야 할 역할을 명확히 이해한 바로 이 시점이 바로 우리 회사가 애자일로 성공적으로 전환할 수 있었던 터닝포인트였다"라고 말했다. editor@idg.co.kr



2012.10.16

애자일 개발의 성공 조건 ··· 경영진 의지와 적절한 교육

Derek du Preez | Computerworld
애자일(Agile) 개발은 힘들다. 특히 개발팀이 원격지로 분리된 경우 끔찍하게 힘들다. 그러나 유명 웹사이트인 호텔닷컴(hotels.com)에 애자일 개발을 적용한 스튜어트 실버그 기술담당 부사장은 성공적인 애자일 개발의 조건으로 경영진의 강력한 의지와 적절한 직원 교육을 꼽는다.
 
실버그에 따르면 기업 환경에서 애자일 개발방법을 도입하는 것은 어쩌면 모래 위에 집을 집는 것이거나 혹은 적합하지 않은 것을 억지로 맞추려고 노력하는 것과 비슷할 수 있다. 그러나 그는 호텔닷컴에서 일하는 2년동안 IT 부서의 개발 프로세서를 애자일로 성공적으로 변화시켰다. 그리고 내년까지 릴리즈 주기를 일주일에 2회까지 늘리는 야심찬 계획을 세웠다.
 
실버그는 애자일이 모든 IT 프로젝트에 적합한 것은 아니며 특히 대기업의 경우 도입전 충분히 검토해야 한다고 지적한다. 그는 "일단 경고의 말부터 한다면 애자일은 만능이 아니다"라며 "우리는 한때 일부 백엔드 시스템과의 대규모 통합 프로젝트를 진행한 적이 있었는데 결국 중간에 애자일 방식을 포기했다"라고 말했다. 너무나 많은 것들이 유동적이어서 마치 모래 위에 집을 짓는 것 같았다는 것이다.
 
실버그는 당시 실패의 이유로 팀 운영을 꼽았다. 당시 회사에는 시스템을 수정하는 팀과 통합을 위해 인터페이스를 수정하는 일을 반복적으로 수행하는 팀 등 두개가 있었다. 그는 "백엔드 팀이 시작하는 개발 부분이 그들이 일을 끝내는 부분이 아니었다"며 "우리는 서로 연계해 백엔드 팀이 수정한 부분을 가능한 한 유지하려고 애썼지만 결국은 재작업을 해야 했다"라고 말했다. 이어 "일부 개발 부문의 경우 애자일이 적합하지 않아 결국은 억지로 하는 느낌이었다"라고 회고했다.
 
따라서 실버그는 기업이 애자일을 도입할 때 애자일이 효과적인 분야에 이를 적용하는 IT 팀을 보유할 지, 아니면 기존의 폭포수 프로세스(waterfall model)가 더 적합한 팀으로 유지할 지에 대해 신중하게 판단해야 한다고 말했다. 그는 "물론 두가지 형태의 팀을 함께 운영하지 못할 이유도 전혀 없다"라고 덧붙였다.
 
실버그가 호텔닷컴에 합류했을 당시만 해도 업체는 애자일 방식의 개발에 대해 불만을 갖고 있었다. 릴리즈는 12주에 한번씩 이뤄졌고 그 이후에 각 개발 사이클마다 테스트를 진행하는데 도 몇주가 흘러갔다.

그는 "당시 모든 사람들이 잘 하지 못했기 때문에 나도 처음에는 가장 극심한 애자일 비관론자였다"며 "더구나 당시 호텔닷컴은 폭포수 모델을 빨리 운영하기만 했고 가장 많은 논란이 있었던 것도 바로 이 지점이었다"라고 말했다. 이어 그는 "그러나 공정하게 말하면 애자일은 개발방법론의 전환이 아니라 혁명"이라며 "애자일은 달성되는 것이 아니라 당장 내일 스크럼(scrum)을 실행하도록 준비하고 것이고 개발 프로세스를 수정하는 것"이라고 말했다.
 
현재 호텔닷컴은 2주마다 릴리즈하고 있다. 내년에는 이를 일주일에 두번으로 더 당길 예정이다. 그는 "릴리즈 일정을 당기면 고쳐야 할 애플리케이션 버그가 있어도 개발 중간에 별도의 패치를 낼 필요가 없어진다"라고 말했다.
 
호텔닷컴은 대략 200명 가량의 애자일 개발자들을 확보하고 있다. 실버그가 이 인원으로 릴리즈 기간을 놀랄 만큼 줄일 수 있었던 것은 애플리케이션 아키텍처를 철저하게 검증했기 때문이다.
 
호텔닷컴은 과거에 300만줄 가량의 일체식 코드로 된 애플리케이션을 운영했다. 수정사항이 생기면 모든 것을 테스트한 후 다시 릴리즈해야 했다. 실버그는 이를  검색, 쿠폰, 예약 등 각각 독립적으로 운영되는 여러 개의 애플리케이션으로 쪼갰다. 그는 "각 애플리케이션이 독립적이기 때문에 수정사항이 있어도 테스트할 부분이 크게 줄어들었다"며 "수정에 대한 업무 부담이 줄어 들면서 결국 릴리즈를 매우 빠르게 할 수 있게 됐다"라고 말했다.
 
애자일을 성공적으로 적용했지만 여전히 어려운 점도 있다. 바로 멀리 멀리 떨어진 두 지역에 IT인력이 분산된 상태에서 개발을 하는 원거리 협업이다. 실버그는 "애자일은 어렵지만 애자일 원격지 개발은 끔찍하게 어렵다"라고 말했다.
 
그래서 그가 찾은 해법은 협업해야 할 팀은 지역적으로 쪼개지 않고 관리하는 것이다. 예를 들어 한 팀이 쇼핑 애플리케이션을 개발하고 다른 팀이 예약 애플리케이션을 개발한다면 한 팀은 회사내에서, 다른 팀은 원격지에서 근무하도록 하는 것이다. 그는 "우리는 절대 한 팀을 지역적으로 떨어진 곳으로 나누지 않는다"며 "각 팀은 독립적으로 작업할 수 있기 때문에 이렇게 하면 차질을 최소화할 수 있다"라고 말했다.
 
애자일은 IT 업계에서 효과적이고 효율적인 개발의 대명사가 되고 있다. 그러나 많은 조직들은 이를 효과적으로 적용하는데 상당히 애를 먹고 있다. 특히 공공부문의 경우 애자일이 가능한 부분부터 적용하려는 노력이 계속됐지만 제대로 이뤄지지 않고 있다는 비난에 직면해 있다.
 
실버그는 IT 부서에 애자일을 올바르게 적용하려면 기업 전체를 먼저 애자일(민첩)하게 만들어야 한다며 최고 경영진이 강력한 의지를 갖고 추진하는 탑다운(Top-Down) 방식으로 애자일을 도입하라고 충고했다. 그는 "IT 팀에게 연중 목표로 애자일 도입을 지시하지 말고 분기별로 체크해 변화를 요구해야 한다"며 "특히 회계팀이 연간 예산을 집행하도록 하지 말고 분기별로 집행하도록 하면 민첩한 기업으로 변모시킬 수 있을 것"이라고 말했다. 그는 "개발부서에서만 애자일을 시작하고 제대로 따라오는 사람이 아무도 없다면 절대적으로 실패한다"라고 덧붙였다.
 
마지막으로 실버그는 적절한 교육의 중요성도 강조했다. 그는 "직원 모두가 같은 시간에 같은 교육과정을 들으면 전원이 같은 페이지를 보게 된다"며 "직원들 모두가 아무런 혼란 없이 자신이 해야 할 역할을 명확히 이해한 바로 이 시점이 바로 우리 회사가 애자일로 성공적으로 전환할 수 있었던 터닝포인트였다"라고 말했다. editor@idg.co.kr

X