brunch

You can make anything
by writing

C.S.Lewis

by 최종신 Apr 04. 2018

애자일 방법론 이야기

팀 내의 자발적인 룰을 만드는 것이 중요

소프트웨어를 산출물로 개발해내는 팀에서는 누구라도 개발 절차에 대한 고민을 하게 됩니다. 

단일팀에서 완성된 소프트웨어를 만드는 경우도 마찬가지고, 복수의 팀 간 협업을 통해 개발을 해야 하는 경우에는 더욱 정교한 개발 절차가 필요하게 됩니다.

자칫 혼돈으로 빠질 수 있는 복잡계의 개발과정을  단순화시키고 동일한 일정과 완성 수준을 목표로 유지하며 효율을 높이기 위해서는 모든 개발팀에 저마다의 독특한 개발 절차가 있기 마련입니다.

언젠가부터 이러한 개발 절차를 고민하면 애자일(Agile) 방법론이 우선 떠오르곤 합니다.마치 애자일(Agile)은 비평이 불가능한 절대 가치의 해법인  것처럼 여겨지기도 하죠.

애자일(Agile) 방법론은 소프트웨어 개발을 위해 수 없이 지속되어온 적절한 방법론들 사이에서 절충을 통해 탄생된 개념입니다. 하늘 아래 새로울 것이 없을 것 같은 긴 소프트웨어의 개발 역사 속에서 유독 애자일이 절대 지지를 받는 이유는 바로 위에 언급한  것처럼 기존에 익숙한 방법론들의 장점을 추려 제안하는 유연함 때문입니다.

하지만 반대로 이러한 절충과 유연함 때문에 애자일 방법론을 설명하거나 바라보는 관점은 굉장히 다양합니다. 명쾌한 하나의 정의로는 애자일 방법론을 잘 설명하기 어렵고, 또 그 방법론을 채택하는 개발팀의 실제 사례도 저마다 다른 해석이 가미되어 매우 다양한 것이 사실입니다.

하지만 핵심은 계획을 세워 예측 가능한 개발 프로세스를 만들자는 것에 있습니다.

애자일 방법론이 각광을 받기 전에는 소프트웨어 개발은 산업공학에서 다루는 관리 프로세스를 적용하는 수준에 머물러 있었습니다. 하지만 적정 예산을 책정하고 가용한 인력을 리소스로 보아 투입 대비 효과를 따지는 관리 체계로는 변화가 극심하고 유연한 대응이 절대적인 소프트웨어 개발을 제대로 컨트롤하기 어려웠습니다.

왜냐하면 초기 설정된 작업량을 채우더라도, 산출물은 저마다의 개발 궤적에 상호 영향을 받아 예측 밖의 경우가 많을 수밖에 없기 때문입니다. 따라서 산출물 그 자체를 객체로 보고 접근하려는 시도가 이후 생겨났고, 그 주체가 되는 사람들이 세부적인 예측 가능성을 높이는 자주적인 결정으로 개발 프로세스를 통제하려는 해법을 찾게 된 것입니다.

애자일 방법론은 불확실성을 줄이고 개발자들의 주체적인 결정을 통해 스스로 개발 프로세스를 통제하고 싶다는 욕구를 기본 바탕으로 깔고 있습니다.

같은 애자일 방법론의 카테고리 안에서도 개발팀은 각자의 개성과 역량에 맞게 다양한 세부 방법론을 채택할 수 있습니다.  스크럼, 익스트림 프로그래밍, 크리스털 패밀리, 익스트림 모델링 등이 그 사례입니다.

이처럼 애자일 방법론은 실천을 위한 세부적인 규약을  정했다기보다는 전반적으로 진행될 원칙 정도를 정의함으로써 다양한 적용 사례를 위한 방향성을 제시하는 데에 그 의미를 둔다고 볼 수 있습니다.

2001년 당시 몇몇 개발자 그룹을 통해 제정되었다고 하여 지금까지 전해 오는 애자일 선언문의 내용은 이러한 방향성에 대한 단서를 엿볼 수 있게 합니다.

"절차와 도구를 넘어선 개성과 화합  종합적인 문서화를 넘어선 동작하는 소프트웨어  계약과 협상을 넘어선 고객과의 협력  계획 준수를 넘어서 변화에의 대응에 더 큰 가치를 둔다."

하지만 개발 방법론을 채택해야만 한다는 강박은 오히려 팀의 효율을 떨어뜨릴 수가 있습니다.외부에서 참조하여 적용하는 그 어떤 개발 방법론도 실제 팀에 최적화가 되는 과정에는 진통이 따르기 마련입니다.또 특정 프로세스의 절차에 침착되어 수동적인 관리 규칙으로만 인식이 된다면, 오히려 팀의 사기에도 적지 않게 부작용을 미칠 수가 있습니다.

충분히 팀 내의 공감을 얻어내고, 스스로 절차의 개선을 위한 토론을 이끌어 낸 뒤 합의된 프로세스를 하나하나 정해서 더해나가는 것이 가장 효과적이라고 생각합니다.

또 방법론의 적용 과정에 사용되는 어휘나 툴 등은 꼭 기존의 것을 따르지 않아도 전혀 상관이 없습니다.

그런 형식보다는 충분한 합의에 의해 팀 내에서 공감하는 선을 정리하여 할 수 있는 작은 실천을 방법론으로 정리해 나가는 bottom-up 방식이  바람직합니다.

리더는 전반적인 애자일 방법론의 원칙을 고수하되, 팀원들에게 스스로 필요에 의해서 독창적인 방법론을 정착시키도록 가이드하는 역할이 요구됩니다.

애자일 방법론이라는 가치는 바로 이러한 팀 내의 자발적인 룰의 제정을 위해 방향을 제시하는 것 만으로도 그 효용은 충분하다고 생각합니다.



매거진의 이전글 [서평] 마스터 알고리즘
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari