클린 애자일 : 새로운 시대를 위한 애자일 가치와 실천

서문

Agile의 뜻은 ‘재빠른’이다. 애자일 방법론은 경영팀과 개발팀의 간극을 줄이기 위해 고안되었다. 하지만 최근에는 여러 분야에 적용되며, 본래의 의미가 많이 퇴색되었다고 작가는 말한다.

나는 소프트웨어 개발 방법론 수업을 들어본 적은 없다. 다만 애자일이 워낙 성공하고 유명한 방법론 중 하나였기에 주워들은 것은 몇 가지 있었다. 2주 정도의 개발주기를 설정해, 그 기간동안 개발과 배포를 반복하는 것. 딱 그 정도였다.

그래서 이 책을 선택했다. 유명한 방법론에 대해 알아보기 위해. 2년만에 복학했기 때문이라는 것은 덤이다.

책 소개

나는 이 글에서 어떻게 애자일 방법론을 팀에 적용해야할 지 고민해보려 한다. 책의 내용을 기반으로 했지만 내가 이해 혹은 적용 가능한 방법으로 작성한다.

개발주기

우선 짧은 개발주기를 가져야 한다. 그 주기는 짧을수록 좋으며, 몇 시간 단위가 되어도 좋다. 한 번의 개발주기 동안 기획부터 설계, 개발의 단계를 반복한다. 하나의 개발주기가 끝났을 때, 프로그램은 배포 가능해야 한다.

첫 개발주기가 끝날 때마다 팀은 회의를 한다. 회의는 다음 개발주기에서 할 일, 프로젝트의 진척도 등을 가늠하는 시간이 된다. 개발주기마다 계획한 일 중 몇 가지를 달성했는지 점검하면, 팀의 속도를 경험적으로 계산하고 미래를 예측할 수 있다.

경영의 관점에서 목표한 것은, 언제나 계획한 시간 안에 달성하지 못할 가능성이 크다. 따라서 이를 매번 계산하고 일정을 조율하는 것은 경영팀과 개발팀 사이에서 필수적이다. 짧은 개발주기를 갖는 이유가 여기에서 드러난다. 폭포수 방법으로는 팀의 속도롤 을 수 없다.

코드 리뷰

회의에서 하는 또 다른 한 가지는 코드 리뷰다. 개발팀의 모든 개발자들은 프로젝트의 전체 코드를 이해해야 한다. 이는 불확실한 미래로부터 팀의 속도를 유지하고, 결합력을 높일 수 있는 방법이다. 거기에 더해 개발자 개인의 성장을 도모할 수 있고, 이는 다시 팀의 속도가 향상되는 선순환 사이클을 만든다.

정리

여기까지가 비즈니스와 팀으로써 실천 방법이다. 이외에도 테스트 주도 개발(TDD), 리팩터링, 단순한 설계, 짝프로그래밍 등 책에선 개발자들이 무엇을 실천해야 할 지도 다룬다.

2023.02.14 추가

북스터디에서 이 책을 다룬 이후, 애자일에 비판적인 입장에 대해서도 들을 수 있었다. 대표적인 사례가 Spotify의 실패였다. 하지만 이는 애자일의 갈래 중 Squad 모델의 실패라는 점, 여러 조직에서 계속적으로 자신들에게 필요한 애자일의 요소를 부분적으로라도 도입한다는 점에서서 애자일은 프로그래머로서 숙지해야 하는 방법론이라는 생각이 여전히 든다.

Instagram: @think_.happy에서 다양한 분야의 북 리뷰를 보실 수 있습니다 !