Dog foot print

[리뷰] 애자일 마스터 (agile master) 본문

리뷰/인문 서적

[리뷰] 애자일 마스터 (agile master)

개 발자국 2021. 5. 9. 21:56

책 소개 

 

책 표지

애자일 마스터는 2012년 조너선 라스무슨에 의해 작성된 책이다. 책의 진행 방식은 챕터별로 분류되어 있는 목록을 풀이하고, 중간 중간 애자일 마스터와 제자가 해당 챕터에서 다루고 있는 문제를 변형하여, 질문과 대답을 주고 받는 것으로 한 챕터가 종료된다. 독자는 충분히 의구심을 품을 수 있는 내용을 애자일 마스터와 제자가 대신 질문하고 답변 해주기 때문에, 쉽게 이해 할 수 있다. 

 

책을 읽은 계기 

올해 5월 부터 근무하게 된 Hitit 회사에서 첫 날 OT때 이사님으로부터, "Agile 방식으로 팀을 운영합니다. 매일 Stand up을 실천하고, 스프린트가 종료되는 날에는 retro spective를 진행 합니다. 또한 CICD를 통해서 테스트 자동화와 지속적인 배포를 하고 있습니다." 라고 내가 일하게 될 팀의 개발 방식에 대해 소개받았다. 또한 그는 이러한 개발 방식을 매우 자랑스럽고, 확신에 찬 목소리로 말하였다. 그렇지만 나는 평소에도 Agile 방식의 협업에 대해서는 지속적으로 지켜질 수 없는 방식이라고 생각하였기에, 많은 감정이 교차하였다. 그도 그럴것이 여지껏 진행 하였던 프로젝트에서 팀원들이 시간이 지날수록 할일은 많아졌기에 이런 관리는 귀찮을 따름이였고, 자신의 업무 진척도가 남에게 보여지는 것을 꺼려했기 때문이다. 

 

싫든 좋든 로마에 가면 로마법을 따르라고 했다. 나에게 최우선 과제는 이 팀이 현재까지 진행했던 업무방식과 그들의 생각을 동기화 하는 것이다. 그런 의미로 첫날 퇴근 후 바로 알라딘 중고 서점에 가서 이 책을 구매하게되었다. 

 

Agile의 방식이란 ? 

Agile이란 한국말로 직역하면 민첩하다는 의미이지만, 단순히 미친듯한 속도로 새로운 기능을 만들어 내는 것이 목적이 아니라, 지속적으로 고객에게 가치를 민첩하게 전달하여 궁극적으로 "생명이 숨 쉬는 소프트웨어"를 만드는 것이 목적이다. 개발자는 꾸준히 고객에게 전달 할 수 있는 가치(이를 Story라고 한다.)를 백로그에 추정치와 함께 저장하고, 다음에 설명할 스프린트에서 자신이 할 수 있는 만큼 실행한다. 

 

애자일 팀은 Sprint 라는 주기로 고객에게 새로운 가치를 전달한다. 이 Sprint는 (1~4)주가 적합한데, 주기가 빠르면 개발자가 스프린트 동안 해야 할 일을 하지 못할 가능성이 존재하고, 너무 길다면 팀원들이 나태해질 수 있다는 단점이 존재한다. 그렇기에, 적당한 Sprint주기를 설정하는 것이 매우 중요하다. 스프린트가 시작되면 팀원들은 자신의 할일을 보드에 자신의 할일을 옮겨 놓고, 이를 무슨 일이 발생해도 지켜야만 한다. ( 불가피한 일이 발생했을 때를 말하는게 아니다. 만약 불가피한 일이 발생해서 약속을 못지킬 상황이 존재할 때 PM의 압력이 높다면 추후 팀원의 사기저하 및 코드 퀄리티가 저하되는 일이 발생 할 수 있다. 다만 이런 경우에는 팀원들과 소통을 통해서 해결하려 노력해야한다.)

 

문서는 ? 

Agile이 폭포수 모델과 생산물의 차이에서 돋보이는 것은 문서가 아닐까 싶다. 폭포수 모델의 경우, 초반에 생성되는 문서의 양이 실로 어마 어마하다. 이전 회사에서 프로젝트를 진행 할 때 고객혹은 비 개발인원의 이해를 돕기 위해 플로우 차트, UML, 클래스 다이어 그램들을 만들었다. 물론 진지하게 읽는 사람은 없었고, 개발은 나 혼자 진행 되었다. ㅋㅋㅋㅋㅋㅋㅋ 이후 이 문서들은 정부기관에 발표하는 PPT를 위해서 사용된 것으로 알고 있다. 

 

Agile에서는 문서는 꼭 필요하지 않으면 작성하지 않는다. UML, 클래스 다이어 그램, 플로우 차트가 있으면 구조에 대해서 이해가 되지만, 누가 봐도 알만한 API의 작동 방식까지 작성을 요구하지 않는다.

 

이런 필요없는 문서의 작성을 억제하면서, 애자일 팀은 새로운 기능 개발 혹은 디버깅에 집중 할 수 있게 된다. 

 

이 책으로 얻은 것은 ? 

책 제목처럼 내가 애자일 마스터가 되지는 못하였지만, 애자일 팀이 추구하는 가치와 내가 애자일 팀 속에서 어떠한 역할을 통해 기여를 해야하는지 조금은 방향을 잡은 듯 하다. 나에게 애자일로 부터 오는 최고의 가치는 내가 수정하고 작성하는 코드가 꾸준히 배포에 반영되어, 스프린트가 끝날 때마다 성취감을 얻는 것일 것이다. 

 

마치며

 

애자일은 100% 완벽한 개발론이 아니다. 또한 애자일이라는 방식은 다른 소프트웨어 개발론 방법과 달리 적용하기 매우 까다롭다. 그 이유는 개발자의 자율성을 매우 보장해줌으로써, 얽매이지 않은 상태에서 개발자가 스스로 행동 하여, 가치를 찾아내고 이를 적용하는 일이 꾸준히 일어나야 하기 때문이다 . 그러나 이 업무 방식을 꾸준히 몸에 익혀, 실천한다면 내가 애정을 주며 만들었던 소프트웨어는 몇년이 지나도 살아 숨 쉴 수 있고, 나는 꾸준히 성취감을 통해서 좋은 소프트웨어 장인이 될 수 있을 것이다.  

 

 

 

 

 

 

 

반응형
Comments