함께 자라기 🌱 읽자 - Part 3. 애자일
💡 Intro
애자일의 의도는 불확실성이 큰 소프트웨어 개발 분야에서는 꼼꼼한 초반 계획을 세우고 이행하는 형태는 불가능하다는 것에서 출발한다. 따라서 애자일은 불확실성이 더 큰 프로젝트일수록 적합하다.
하지만 저자는 애자일을 단순한 소프트웨어 개발론으로만 보지 않고 하나의 일하거나 삶을 사는 스타일로 확장해서 해석해본다. 어떻게 우리 삶에서, 일에서 애자일을 적용할 수 있을까?
지금까지 말한 학습과 협력이 애자일의 핵심 전략이 될 수 있다. 불확실성이 높은 프로젝트 일수록 안좋은 일이 생기기 쉽다. 그리고 안좋은 일은 ‘또는’ 조건에서 생기기 마련인데 애자일은 앞서 말한 서로의 업무를 공유하고 상호 검토하는 협력을 통해 ‘또는’ 조건을 ‘그리고’ 조건으로 만들어 확률을 낮춘다.
또한 좋은 일은 확장될 수 있도록 ‘또는’ 조건을 공유를 통한 ‘그리고’ 조건으로 변경한다. 공유를 통해 전체가 개선되도록 하는 것이다.
- 이 글은 세 번째 파트인 애자일 파트이다.
🌩 애자일의 씨앗
애자일은 짧은 시간 내에 아주 간단하게 전달하는 것은 어렵다. 그럼에도 불구하고 애자일의 씨앗이라고 말할 수 있는 핵심을 한 문장으로 정의하면 다음이다.
- 고객에게 매일 가치를 전하라.
불확실성이 높을수록 빈도가 높아야한다. 그래서 한번에 몰아서 하기 보다 조금씩 자주 하는 것이 중요하다. 현재 위치를 확인하고 피드백을 받는 빈도를 늘리는 것이다.
또한 해당 프로젝트의 이해관계자와 ‘함께’ 진행을 해야 한다. 끼리끼리 마구 진행해버리는 것은 아무 소용 없다.
애자일에서 고객 참여와 코드 공유는 필수다. 하지만 많은 팀에서 이 두 가지는 ‘사람’을 다루는 것이기 때문에 많이 미룬다. 또한 애자일 성숙도에 큰 기여를 한 것은 짧은 개발 주기이다.
정리해서 말하자면 애자일 실천법을 잘 하기만 하면 조직의 성공률이 올라간다. 애자일을 실천할 때 성공과 직결이 되는 것을 뽑자면 고객 참여, 리팩터링, 코딩 후 자동화 단위 테스트, 코드 공유 등이다. 애자일의 성숙도가 낮더라도 고객 참여를 하면 프로젝트의 성공 확률이 올라간다.
🌩 마무리
어쩌면 어떤 방법론을 적용하는지보다 중요한 것은 어떤 사람들이 참여하는 가가 더 중요할 수 있다. 결국 그 방법론을 이행하는 주체는 그 팀의 사람들이기 때문이다. 더해서 이 책에서 언급하는 것은 애자일을 애자일스럽게 적용하자는 것이다. 불확실한 것을 적용할 때 하는 것이 애자일인데 애자일을 확실성 위에서 진행하고자 하는 것은 어리석은 일이다.
🛋 느낀 점
- 애자일을 소프트웨어 개발론의 하나가 아니라 학습과 삶의 방식으로 해석을 한 것이 흥미로웠다.
- 처음에 애자일에 대해서 들었을 때 “그냥 그때그때 알아서 하라는 거 같은데 이게 무슨 방법론이야” 라는 생각을 했었다.
- 하지만 이 글을 읽으면서 애자일의 핵심은 “불확실한 상황이라는 것을 인지하는 태도”라는 생각이 많이 들었다.
- 결국 불확실한 상황이라는 것을 인지하기 때문에 짧은 주기로 잦은 피드백을 받고 많은 수정을 하면서 길을 찾아나가는 것이기 때문이다.
- 여기에 더해서 흥미로운 애자일의 특징은 ‘사람’이라는 요소가 중요하게 작용한다는 것이다. 애자일은 불학실한 상황에서 상호 피드백과, 중복 검증, 좋은 정보 공유 등을 통해서 성공 확률을 높이고 실패 확률을 낮추는 것이 핵심이다.