본문 바로가기

정보/업무관련

#1_애자일 (Agile)이 뭐지? : 프로그래밍에 집중한 유연한 개발 방식

 

애자일 : Agile Software Development / 신속하고 변화에 유연하며 적응적인 소프트웨어 개발을 목표로 하는 다양한 경량 개발 방법론 전체를 말합니다.

 

애자일 (Agile)의 사전적 의미는 "날렵한", "민첩한" 입니다.

 

 

 

애자일 선언문 입니다.

 

우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 
이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다.

공정과 도구보다 개인과 상호작용을, 포괄적인 문서보다 작동하는 소프트웨어를, 계약 협상보다 고객과의 협력을, 계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다.

이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다.

 

https://agilemanifesto.org/iso/ko/manifesto.html

 

애자일 소프트웨어 개발 선언

애자일 소프트웨어 개발 선언 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게

agilemanifesto.org

 

 

 

제가 처음 애자일을 찾아봤을 때 드는 생각들은 "이게 무슨 말이야? 다 추상적인 말밖에 없잖아? 누가 이렇게 하기 싫은가? 이렇게 하고 싶은데 못하잖아? 어쩌라는거지? 이게 뭐야?"

온갖 물음표.. 물음표.. 

그런데 계속 찾아보고 생각하고 고민할수록 "그런데 왜 지금까지 이렇게 하지 못했을까?"라는 생각으로 좁혀졌죠.

 

보통 기획자, 개발자, 디자이너, 결정권자 등등 다양한 업무 담당자들과 함께 프로젝트를 진행하면서 왜 우리는 애자일 하지 못했을까? 왜 이렇게 힘들게 스트레스를 받으면서 일을 해왔지?

 

그래서 우리는 애자일을 알아보고, 그 방법이 뭔지, 우리는 앞으로 어떻게 해야 하는지, 지금 우리에게 필요한 건 무엇인지 알아볼 필요가 있다는 거죠.

 

이미 이 페이지에 오셔서 애자일을 알아보고 있는 것 부터가 시작하고 있는 분들이니 제가 알아본 내용을 공유하고 함께 알아보셨으면 좋겠습니다. (조금이나마 도움이 되시길 바라면서...)

 

여기에 제가 정리한 내용들은 제 생각을 정리한 것이고 정답은 아닙니다. 참고만 하시길...


 

애자일이 뭐야?

애자일을 찾고 있는 분들이라면 진작 회사 업무 방식에 문제를 느끼셨을거라 생각이 듭니다.

 

애자일은 단순한 개발 방법론이라고 생각하시면 안됩니다. 애자일은 업무 프로세스의 모든 일들에 걸쳐있는 가치와 철학을 말합니다.

조직 운영의 구체적인 방법론보단 운영 철학이나 조직 문화에 가깝다는 게 업계 대부분의 해석이라고 하네요.

 

필요하다면 다양한 기술과 프로세스를 연결하여 사용해도 되고, 정해져있는 틀이 있는것도 아니며, 참여자들 역시 자유로울 수 있습니다. 프로젝트의 규모도 중요하지 않으며, 기존에 진행중인 프로젝트에도 반영이 가능하죠.

그리고 애자일을 적용하면 장점만 있다? 그것도 아닙니다. 프로젝트를 진행하는 팀 전원이 애자일의 가치와 원칙을 공유하고 이해하며 서로를 배려해야 애자일의 장점을 뽑아낼 수 있죠.

 

간단하게 보면 애자일 = 마인드리스 개발, 업무라 생각합니다.

예전에 해왔던 대로, 남들이 하는 대로, 이걸 왜 이렇게 해야 하는지 의문을 갖지 않고 업무 하는 것

그리고 애자일은 지금 하고 있는 개발 프로세스 또는 업무 방법이 적절치 못하다고 말하는 것이죠.

그 예로는 아래와 같이 다양합니다.

  • 불확실성
  • 문제를 제출한 사람의 마음이 바뀌거나
  • 본인도 어떤 문제인지 모르거나
  • 작업자들이 문제를 해결할 능력이 없거나
  • 여러명(팀)으로 작업 하는 경우 인터그레이션(integration:통합)이 되지 않거나
  • 현재 시장 상황 등
  • (top-down approach) (추상에서 구체화)가 불안한 경우

애자일의 본질은 고객지향적입니다. 계약과 협상보다 고객과의 협력을 중요하게 생각하고,  계획된 업무를 지키기 보다 변화에 민첩한 대응에 더 큰 가치를 둡니다. 작업에서는 프로세스 자체보다 팀원 간 상호작용을 우선으로 하고, 문서로 된 것보다 소프트웨어 자체에 집중합니다.

프로젝트의 완료가 중요하지 않고 ‘고객에게 가치를 전달하는 것’을 중요하게 생각합니다. 따라서 작업을 관리하는 것이 아니라 능동적으로 변화에 대응하는 것이 핵심입니다.

 

 

애자일이 왜 필요할까?

‘세상에 확실한 것은 아무것도 없다’, 그리고 ‘고객도 자신이 원하는 바를 정확히 모른다’는 게 애자일의 전제입니다.

최근의 환경적 변화는 극심해졌습니다. 미래를 예측하기 어렵고, 고객의 요구사항도 그에 따라 변화가 심하며, 프로젝트가 진행될수록 까다로워집니다. 

기업의 경영전략, 목표 수정도 빈번해지고 조직 구성도 그에 따라 자주 바뀌죠. 따라서 모든 프로젝트의 개발 초기에 모든 문제점이나 요구사항들을 정확하게 맞춰서 시작하는것은 사실상 불가능에 가깝습니다. 워터폴(waterfall)방식의 개발방법론을 적용하는게 힘들어질 수 밖에 없습니다.

개발된 소프트웨어, 각종 시스템들의 수명도 짧아졌습니다. 소비자들은 빠른 시대와 환경적 변화에 맞게 대응하길 원합니다. 시대에 뒤쳐지는 모든 것들은 소비자로부터 소외되고 뒤쳐질 수 밖에 없는게 현실입니다.

이런 상황에 구시대적인 업무 협업 방식은 속된 말로 "고인물" 소리 듣기 딱 좋겠죠.

협력과 실행, 개방, 효율성, 스피드, 민첩성 등 애자일이 추구하는 특징들이 현대의 업무 프로세스에 중요할 수 있습니다.

그리고 개발에 국한된 것이 아니라 기업 경영 전반에 영향을 미칠 수 있죠. 따라서 기업 경영자들로부터 관심을 받는 것입니다.

 

애자일을 적용시킨 기업

해외 기업으로는 다니엘 에크가 2008년 스웨덴에서 창업한 ‘스포티파이(Spotify)’가 있죠.

음원 스트리밍 사업을 하는 이 기업은 업무 담당자들이 어떤 프로젝트를 어떻게 할 것인지를 토론을 통해 결정합니다. 이 과정을 거쳐 업무 내용에 따라 약 100명 정도의 인원이 모이고, 그 안에서 기술 교류 모임을 진행하고 프로젝트를 운영하는 방식입니다. 프로젝트당 대-중-소로 나뉜 직원들이 업무 스케일에 맞게 선택과 집중을 할 수 있는 여건이 조성되는 것이죠.

국내에서는 SK이노베이션이 프로젝트 팀 단위로 근무하는 애자일 조직 문화를 도입한 결과 ’SKinnoMan’ 시리즈와 같은 성공적인 유튜브 콘텐츠를 생산했습니다.


KB국민카드는 전사적 혁신과제를 수행할 상설 조직인 ‘애자일’을 신설하겠다고 발표한 바 있습니다. 이 외에도 신한금융투자, HDC산업개발 등 사업분야를 불문하고 애자일 방식이 적극적으로 도입되고 있음이 확인됩니다.

 

그밖에 삼성SDS, LG CNS, SK C&C 등 대형 IT서비스 3사 에서도 애자일 개발 방식을 적용한 사례가 있습니다.

 

애자일이 그렇게 좋은데 왜 안해?

"이렇게 좋은 애자일. 그럼 너도 나도 다 쓰면 될텐데 왜 안해?" 

이런 의문이 들죠? 이유는 여러가지가 있겠지만 대표적으로 우리나라의 조직 문화를 들 수 있습니다. 피라미드형 조직구조에 애자일이란 수평적 프로젝트팀을 구성한다? 내부적 문제가 발생하지 않을 수 없습니다. 경직된 의사 결정 구조, 불필요한 관리자 계층과 비효율적 업무 방식 등의 조직 문화와 리더십 스타일 때문이라고도 하죠.

 

대한상공회의소가 맥키지와 지난 2018년 국내 130여개 기업의 5만여 명의 대상으로 실시한 한국 기업문화 조직 건강도 진단에 참여 기업의 77%가 여전히 상습적인 야근, 비효율적인 회의와 보고, 낮은 양성평등 문화 등 문제점을 드러냈고 여전히 기업문화 변화가 없거나 더 악화됐다고 답했다고 하네요.

 

"까라면 까!" 의 마인드가 만연한 기업 문화에서 새로운 문화인 애자일을 적용하기란 쉽지 않다는 거죠.

 

스크럼(Scrum)?, 스프린트(Sprint)?

스크럼은 애자일에 해당하는 업무, 개발 방법론 중 하나고 스프린트 역시 그 안에 업무를 처리하는 방법론 중 하나입니다.

(이후 포스팅 하고 링크 예정입니다.)

애자일이 뭔지 알고 난 다음 스크럼과 스프린트를 알아보면 좀 더 쉽게 이해될 거예요.

 

 

개인 생각...?

우리는 앞으로의 발전을 도모하기 위해 다양한 방법을 찾고 고민해야 한다고 생각합니다. 그게 비록 기업의 조직 구조를 뒤 흔드는 일이더라도 말이죠.

어떤 기업은 수평적 조직 구조를 바꾸기 위해 직급을 없애기도 합니다. 하지만 직급을 없앤다고 본질적인 문제가 해결되는게 아닙니다.  직급 문화가 필요한 업무 구조를 가진 회사도 있으니까요.

겉모습만 뜯어 고칠게 아니라 내면을 조금씩 바꿔 나가는게 필요하다고 생각합니다.

 

모든 일이 처음엔 쉽지 않겠죠? 노력한다면 안될것도 없습니다. 조직의 이익을 함께 도모한다면 개인의 이익도 어느순간 내 앞에 와있지 않을까 생각합니다.