JIGGAG

애자일이 뭐라고?

2023년 3월 1일

애자일을 설명하지 못했다

애자일이 뭐야?

서점에 있었는데 애자일을 이야기하는 책이 많이 보였나보다

갑자기 친구가 애자일이 뭐냐고 물어보았지만 뭐라고 명확하게 대답을 해줄 수 없었다 (관련 배경지식이 없는 상태였다)

내가 대답한 말은 방법론이야 라는 한마디였다 (이 정도면 그런게 있어… 라고 하는 수준 아니였을까 🙈)

머리 속에 생각나는 애자일의 말풍선들은 스프린트, 사이클, 피드백... 이런 단어들이였는데, 결국 추상적인 느낌의 답변이 될게 뻔했다

이런 단어들을 이야기 했을때 그게 뭔데? 하고 다시 물어본다면 또 다음 뜬구름 같은 답변으로 이어질 것 같았다

좀 더 알기 쉽게 설명해주고자 머리를 데굴데굴 생각해보았지만 좋은 답변을 하지 못했고 그럼 나에게는 뭐라고 설명해줄 수 있을까? 하고 스스로에게 질문했을때 마찬가지로 답변이 뜬구름과 같았다

제대로 이해하지 못했기 때문에 (항상 그렇듯 데자뷰) 추상적인 단어로만 (= 나에게 익숙한 단어들로 두루뭉실) 설명하려고 한 것 이다

스스로 생각을 정리하고 내것으로 설명할 수 있는 이야기를 만들어보려고한다

내가 생각하는 애자일

애자일이란 제때 필요한 피드백을 받고 가고자 하는 방향을 다시 한번 검증하는 것이라고 생각한다

두루뭉실 했지만 떠오른 단어들을 모두 연결하면 하나의 문장으로 표현할 수 있겠다

스프린트 사이클을 돌면서 피드백을 반영하고 검증하는 것

위의 문장을 쓰고 나니 무엇을 검증하려고? 하는 질문이 떠올랐다

애자일의 의미를 설명하려고 하는데 애자일이 무엇인지 애자일이 담고 있는 가치와 그래서 왜 짧은 주기로 반복하며 검증하는 것인지 정리해보려고 한다

계획대로 아름답게 이뤄지지 않는다

처음부터 모든 것에 대한 계획을 완료한 뒤에 행동하는 폭포수 방법론이 있다

이에 반대되는 개념으로 짧은 주기에 따라 계획을 수정하고 행동하고 다음 주기에서는 수정된 계획에 따라 방향을 정하는 애자일 방법론이 있다

모든 것을 미리 예상하고 계획대로 진행했기 때문에 폭포수 방법론을 따르면 항상 성공하리라 기대하지만 항상 성공하지 않았다 🤔

세상에는 제어할 수 없는 수많은 것들이 있고 세상은 나의 계획대로 흘러가지 않는다 (머리로는 알고 있지만 이 사실이 가장 나를 힘들게 😭)

어디선가 본 적 있는 이와 관련된 이야기로 초등학생과 대학생에게 성냥으로 탑쌓기 같은 문제를 주었을때, 대학생이 철저한 계산에 많은 시간을 쓰는 반면 초등학생은 다양한 방법으로 수많은 시도를 하였다는 이야기가 떠오른다 (잘 기억나지는 않지만 느낌은 이러하다)

문제를 풀고 싶다면 다양한 방법을 시도해보고 그에 따라 수정된 방향으로 다시 시도해보아야한다는 의미를 주었다!

애자일이 추구하는 것

애자일은 작은 일을 하는 작은 팀에서 겪는 작은 문제에 대한 작은 아이디어이다 큰 일은 작은 일을 하는 작은 팀들의 협업으로 이루어지며 애자일은 이러한 것을 알리기 위한 아이디어이다 - '클린 애자일'

이러한 애자일이 추구하는 것은 무엇일까?

단순히 애자일은 빠르게 실행하는 것이 아니라 피드백을 주고 이를 이용해 일정, 요구사항, 품질 등을 변경할 수 있는 기회를 주는 방법이다

  • 시장 변화에 대응하기 위해
  • 빠르게 목표로 향하기 위해

이러한 것들을 위해 스프린트 사이클을 돌면서 피드백을 받는 것인데, 어떤 내용의 피드백을 얻을 수 있을까?

  • 시장 변화에 대응하고자 했으나 시장은 우리가 하고자 했던 방향을 원하지 않는다던지
  • 달성하고자 하는 목표에 도저히 이번 요구사항을 일정 내 도달할 수 없다던지

(부정적인 피드백만 나열했지만 🙈) 피드백 받은 내용을 반영한다면 시장에서 원하는 방향으로 목표를 재수정하거나, 일정이나 요구사항을 수정하는 등의 행동을 취할 수 있게 된다

폭포수와의 차이점

애자일을 마이크로 폭포수라고 볼 수 있지 않을까 생각이 들었다

하나의 긴 폭포수 모델을 짧은 스프린트 사이클에 접목시켜 주기를 짧게 하고, 한번에 계획부터 100%를 만들어내는 것이 아니라 짧아진 주기만큼 분석과 검증이 자주 이뤄진다면, 폭포수 모델도 전혀 나쁘지 않은 것 같다 🤔

하지만 폭포수와 애자일의 가장 큰 차이점은 폭포수에서는 순서가 있는 반면, 애자일은 순서가 없다는 점이다

애자일은 계획과 실행에 구분이 없이 같은 사이클 내에서도 실행하다가 찜찜하면 계획을 수정하고 다시 실행할 수 있다

폭포수에서는 계획이 완전히 끝난 다음에는 돌아갈 수 없다 짧은 사이클에 폭포수를 도입한다 하더라도 같은 사이클에서 계획을 수정할 수 없다는 것이 문제가 될 수 있다 (이를 유동적으로 잘 움직이면 되지 않나 싶지만)

다시 한번 물어본다면

길찾기를 예시로 생각해보았다

  • 1시간마다 현재 위치를 찾아보는 것
  • 그냥 알아서 가볼게!

운이 좋다면 전자 보다 후자가 도착지에 먼저 도착할 수 있다

하지만 짧은 거리가 아니라 길고 긴 여정을 떠나는 경우라면 후자의 경우 잘못된 길로 들어갔을때 너무나 늦게 알게 된다면 다시 돌아오는 길은 발걸음이 무거울 것이다

폭포수로 길을 찾는다면 출발전에 미리 지도를 흩어보고 이렇게 저렇게 요렇게 가면 되겠지 계획을 세운 뒤 출발하는 것이다 중간에 길이 막힌다던지 공사중이라던지 급변하는 상황에 대응하기 어렵고 언제 도착할 수 있을지 예측하기도 어렵다

애자일에 대입하면 출발함과 동시에 길을 찾고 현재 상황에 따라 길을 바꿔가는 방법으로 생각할 수 있다

가장 빠르게 가는 방법은 제대로 가는 것으로 1시간마다(= 사이클) 길을 확인하며(= 피드백) 가고있는 길이 맞는지, 제때 도착할 수 있는지 검증해야한다

혹시

모든걸 짧은 주기로 실행하기만 하면 되는 것일까?

애자일로 추구하고자 하는 것은 목표를 달성하기 위해 빠르게 검증을 하고 피드백을 통해 현재 문제를 수정하며 다시 검증을 받는 과정이 되어야한다

짧은 주기로 빠르게 검증 받기 위해서는 목표 가치를 담고 있는 최소한의 모델 을 갖추고 있어야 한다 (MVP 모델이 여기서 나왔다) (제품 관점에서는 동작하는 최소한의 모델로 이야기하지만 위에 길찾기에서는...? 최소한 출발은 해서 도로 위에 있어야하려나 🤔)

이렇게 생각을 정리해보았지만, 결국 다시 뜬구름 둥실 방법론이야~ 하는 날이 온다면 뜨끔 🙈 (쓰다보니 예시를 들었다가 방법론이 가치가 동작하는... 정리되지 않은 조합이 보이는데 이게 바로 의식의 흐름 모음집 📚)