Posts [함께자라기][애자일] 애자일
Post
Cancel

[함께자라기][애자일] 애자일

좁은 의미의 애자일

  • 애자일의 좁은 정의로는 ‘애자일 소프트웨어 개발 방법론’은 소프트웨어를 개발하는 한 가지 스타일을 일컫는다.
  • 대략 1990년대에 그 모습을 드러내기 시작했는데, 당시에 쓰던 전통적인 소프트웨어 개발 방식이 1990년대의 비즈니스적 상황, 고객의 요구 등과 잘 맞지 않는다고 생각한 사람들이 있었다.
  • 그들은 각자 자기들만의 개발 방식을 만들어서 실천하고 있었다. 그런데 이 방법들 간에는 크게 보아 유사성이 있었다.
  • 그래서 이 방법들의 창안자 스무 명 정도가 2001년에 스노우버드 스키장에서 만나서 선언문을 작성한다. 자신들이 사용하는 방법 이면에 깔려 있는 공통된 철학, 추구하는 가치와 원칙을 추려냈다.
  • 이를 애자일 선언문이라 한다. 공식적으로는 유일하게 애자일을 정의한 문서이다. 그때 영미인들에게도 생소한 형용사인 애자일(agile) 이라는 단어가 이 방법론들을 대표하는 이름이 된 것이다.

애자일은 보통 ‘기민한’ 혹은 ‘민첩한’이라는 뜻으로 번역한다. 예상치 못한 상황이 생겼을 때 대응을 잘할 수 있다는 뜻이므로 일반적인 ‘빠른’ 과는 차별성이 있다. ‘agile’을 기민한으로 번역하는 이유에 대해서는 ‘agile의 번역’ 이라는 글을 참고하자. http://agile.egloos.com/4368289

  • 당시 주도적인 소프트웨어 개발 방식은 계획주도의 방식이었다.
  • 계획주도 방식에서는 초반에 계획을 정교하고 꼼꼼하게 만들려고 엄청난 노력을 한다.
    • 그러면 실행단계는 간단해지고 예측 가능해진다고 생각하기 때문이다.
    • 하지만 애자일은, 불확실성이 높은 일에 대해서는 애초에 이것이 불가능하다고 본다.
    • 불확실성이 크기 때문에 미리 분석하고 설계하는데 한계가 있다는 것이다.
  • 사실 애자일은 불확실성이 클 때 우리가 어떻게 해야 하는지를 고민한 결과물이다.
    • 따라서 애자일은 불확실성이 높은 프로젝트에 더 적합하다.
    • 애자일이 불확실성을 다루는 방식은 좀 더 짧은 주기로 더 일찍부터 피드백을 받고, 더 다양한 사람으로부터 더 자주 그리고 더 일찍 피드백을 받는 것으로 정리할 수 있다.
    • 이런 특징을 가진 애자일 방법론은, 마침 시대가 바뀌면서 불확실성이 낮은 프로젝트는 비즈니스적 가치가 없어ㅣ지고 불확실성이 높은 프로젝트를 하는 것이 일반적이 됨에 따라 빠른속도로 인기를 얻게 되었다.

좀 더 넓은 범주의 애자일

  • 애자일을 단순히 소프트웨어 개발 방법론이라는 울타리에 가두어 보지 않고, 일하는 한 가지 스타일, 혹은 더 넘어서서 삶을 사는 방식으로까지 확장해 보는 것이다.
  • 이건 넓은 의미의 애자일이 될 것이다. 이런 시각이 가능한 이유는 불확실성이 소프트웨어를 개발할 때뿐만 아니라 모든 종류의 업무, 혹은 삶에 내재하고 있기 때문이다.
  • 그러면 우리의 삶에 애자일을 어떻게 적용할 수 있을까?
    • 이미 눈치챘을 수 있겠지만, 사실 우리가 이제까지 이야기했던 학습과 협력이 애자일이 불확실성을 다루는 핵심적인 구동원리이다. 다시 말해, 학습과 협력을 증진해서 우리 삶에 애자일을 적용하고, 또 이를 통해 불확실성과 친구가 될 수 있다. 그럼 학습과 협력이 어떻게 불확실성에 대한 대응전략이 될 수 있을까?

학습과 협력, 그리고 애자일

  • 학습에 대해 먼저 이야기해보자.
    • 불확실하다는 것은 우리가 이동할 때 목표점의 위치가 자주 바뀌거나 우리 위치가 자주 바뀌거나 하는 상황으로 비유해 볼 수 있다.
    • 그럴 경우일수록 우리는 가다가 멈춰 서서 주의를 둘러보고 목표점과 우리 워ㅣ치를 확인하는 것 같은 피드백을 통해 방향을 재조정하는 일을 자주해야 할 것이다.
    • 초기 계획대로 가면 완전히 동떨어진 곳으로 갈 수 있을 것이다. 다시 말해 이동하면서 계속 배워나가야 한다는 뜻이다. 불확실성이 높을수록 학습을 잘해야 하는 것이다.
    • 새로운 상황에 대해서 계속 배우고 내가 맞춰 나가야 한다.
    • 따라서 우리의 학습 능력을 향상시킬 수 있따면 우리는 불확실성에 대해 더 잘 대응할 수 있을 것이다.
  • 그러면 협력의 경우는 어떠할까? 여기에선 두 가지로 나누어 생각해보자. 안 좋은 일이 생기는 경우, 그리고 좋은 일이 생기는 경우.
  • 불확실한 상황일수록 리스크가 높은 것이고, 고로 안 좋은일이 벌어질 확률이 높을 것이다.

주식 투자를 할 떄를 예를 들 수 있다. 보수적인 투자와 공격적인 투자를 생각해보자. 보수적인 것은 불확실성이 낮고, 공격적인 것은 불확실성이 높다. 둘 중 어느 것의 리스크가 클지 둘 중 돈을 잃는 안 좋은 일이 벌어질 확률은 어디가 높을지 생각해보자. 결과는 누구나 쉽게 생각할 수 있을 것이다.

  • 일반적으로 안 좋은일이 벌어질 확률은 ‘또는’ 조건으로 연결되어 있을 떄 더 높아진다. 앞에서도 이야기했지만, ‘또는’ 조건은 하나라도 문제가 생기면 전체에 문제가 생기는 상황이다.
    • 한 사람이라도 실수하면 전체 조직에 구멍이 뚫리게 되는 것이다.
  • 반대로 ‘그리고’ 조건은 모든 변수에 문제가 생겨야 전체에 문제가 되는 상황이다.
    • 이 경우 전체에 문제가 생길 확률은 기하급수적으로 낮아진다.
    • 모든 사람이 실수해야지만 구멍이 뚫리는 경우다.
    • 결과적으로 애자일ㅇ느 서로의 업무를 공유하고 상호 검토하는 협력을 통해 불핸한 일을 ‘또는’ 조건에서 ‘그리고’ 조건으로 바꾸게 한다.
  • 반대로 불확실한 상황에서는 예상치 못한 좋은 일이 생길 확률도 있다. 그런 경우 이 좋은 일이 확장해야 한다
    • 애자일은 좋은 일의 상황에 대해서는 ‘그리고’ 조건을 ‘또는’ 조건으로 바꾸게 한다.
    • 모든 사람이 통찰을 얻어야 업무를 개선할 수 있는게 아니라 한 사람이라도 통찰을 얻으면 그걸 공유해서 전체가 개선되는 것이다.
  • 정리해보면 다음과 같다.
    • 학습과 협력은 불확실성이 큰 상황에서 좋은 대응전략이 된다.
    • 우리의 삶도 불확실하기 떄문에 학습과 협력은 현명한 전략이 될 것이다.
    • 그런데 마침 애자일의 핵심 구동원리가 학습과 협력, 즉 함께(협력) 자라기(학습)이다.
    • 그래서 저자는 불확실한 삶을 살아나갈 떄 애자일적 태도가 도움이 될것이라 생각한다.
    • ‘함께 자라기’ 하는 삶은 애자일적인 삶이라고 할 수 있다. 이 측면에서 애자일을 좀 더 들여다보자.
This post is licensed under CC BY 4.0 by the author.

[함께자라기][함께] 쾌속 학습팀

[함께자라기][애자일] 애자일의 씨앗