클라우드와 빅데이터 기술이 확산되면서 변화에 유연하게 대응할 수 있는 소프트웨어 개발 방법론인 '애자일'에 주목해야 한다는 목소리도 커졌다.
애자일은 최선을 다 하더라도 IT 프로젝트는 실패할 수 있기 때문에 SW개발 과정을 변화에 민감하게 반응하도록 만들어 실패로 인한 비용을 최소화하자는 방법론이다. 소프트웨어 생명주기 모형 중 반복적(Interative and Incremental)개발 모델과 관련이 깊다. 개발 기간이 길고 경영진의 사전 계획에 의해 움직이는 '워터폴' 방식와는 반대다.
전문가들에 따르면 애자일은 개발속도를 높이고 제품 안정성을 강화하는 데 기여할 수 있다. 모든 개발을 다 마친 후 한꺼번에 론칭하는 워터폴 방식보다 고객의 필수 요구사항을 반영한 기능부터 우선 구현하고 추가적인 기능은 점차적으로 만들면서 반복적으로 개발하는 방법이 제품개발 속도는 물론 안전성도 끌어올릴 수 있다는 것이다.
애자일은 소규모 기술 회사에서 주로 적용되기 시작해 최근들어 적용 범위가 확산되고 있다. 특히 기술 변화와 채택 속도가 빨라졌기 때문에 SW개발에 있어서 애자일은 더 중요해졌다는 의견도 있다.
대표적인 NoSQL DB 업체인 몽고DB의 메트 어세이(Matt Asay) 부사장은 최근 리드라이트에 쓴 칼럼에서 더 이상 애자일을 대안적 소프트웨어 개발 방법으로만 여겨서는 안된다고 주장했다. 클라우드와 빅데이터 시대에 비즈니스를 유지하기 위해선 애자일을 필수적으로 도입해야 한다는 것이었다.
메트 어세이에 따르면 서버를 유연하게 적용할 수 있는 서비스로서 인프라(IaaS)와 네트워크를 통해 개발 플랫폼을 제공하는 서비스로서 플랫폼(Paas)이 도입되면서 기술 변화 속도가 더 가속화 됐다.
그는 시너지 리서치 그룹의 조사 결과를 인용해 “클라우드 제공업체들의 Iaas/Pass 매출 비중은 지난해와 비교해 올해 크게 성장했다.”며 “아마존이 지배적이긴 하지만 모든 메이저 클라우드 업체들이 볼륨을 키웠다는 점을 주목해야한다. 공급자가 어디든, 클라우드 기반 인프라가 개발을 촉진하는 역할을 하게 될 것이다”고 설명했다.
국내 애자일 권위자로 손꼽히는 김창준 애자일 컨설팅 대표도 페이스북은 서비스 중에도 하루에도 수십번씩 코드를 바꾼다는 예를 들며 개발하고 테스트 해서 서비스하기까지의 속도가 빨라진 상황에서 애자일은 더 중요하다고 강조했다.
김 대표는 고쳐야할 필요가 생기면 바로 바로 고치고 또 설계도 간단하게 해서 실제로 바로 적용할 수 있게 하는 것이 바로 애자일이고 클라우드 환경이 이런 과정을 더 신속하게 하도록 도움을 줄 수 있다고 말했다.
애자일은 특히 빅데이터 같이 새롭게 시도되는 영역에서 강조된다. 많은 기업들이 유행처럼 빅데이터 프로젝트에 열중하고 있지만 사실 프로젝트를 풀어 나갈 확실한 실마리를 가지고 있는 경우는 많지 않다. 따라서 시행착오 없이 원하는 데이터를 확보하고 활용 방안까지 모색한다는 것은 어려운 일이다.
김창준 대표는 빅데이터 프로젝트는 답을 모르는 문제를 푸는 것과 마찬가지고 답을 아는 사람도 없을 뿐더러 다루는 데이터양도 많아 불확실성이 높다.며 워터폴은 계획을 명확히 세울 수 있을 경우 효율적인 방법이지만 빅데이터 프로젝트처럼 완벽한 게획을 세울 수 없을 땐 애자일이 좋다고 말했다.
애자일은 하나의 큰 프로젝트를 작은 프로젝트로 나눠 진행하기 때문에 불확실성에 때른 위험도 분산할 수 있다는 얘기다.
관련기사
- SW개발, 맥가이버식 전문가가 위험한 이유2013.12.11
- 회의 많았던 SW 개발 회사의 비극2013.12.11
- 서열문화가 SW산업 망친다2013.12.11
- SW개발과 빨리빨리 문화의 저주2013.12.11
몽고DB 어세이 부사장도 대부분의 기업이 빅데이터나 다른 프로젝트를 아직도 워터폴방식으로 접근하고 있는데 이는 단지 더 좋은 방법을 모르기 때문이라며 애자일을 도입해 실패에 유연하게 대처할 수 있도록 대비하는 것이 시행착오로 인해 발생할 시간적 금전적 비용을 줄여줄 것이라고 조언했다.
그는 애자일이 모든 개발 문제를 해결해 줄 수 있는 '성배'는 아니다고 선을 그었다. 그러나 기술 채택의 흐름에 맞춰 개발 속도를 유지하고 빅데이터 프로젝트 같이 큰 규모의 개발 프로젝트 다루는 데는 분명 적합한 방법이 될 것이라고 덧붙였다.