노무현 대통령 배너

『애자일 프랙티스』

Life & Culture/서평 2008/02/18 13:38 posted by k16wire
사용자 삽입 이미지
애자일 프랙티스』를 한나절만에 읽어버렸습니다. 그냥 무슨 내용이 있나 훝어보려다가 3시간만에 독파를..
읽다가 잠깐 책을 덮고 생각도 하고 그랬어야 했는데 뭐랄까..읽기 좋은 소설책처럼 좀더..좀더..하다보니 참고문헌이 나와버렸네요. 내용도 좋지만 번역도 너무 잘 하신거 같습니다. ^^;

책은 "애자일 소프트웨어 개발 선언문"으로 시작하고 있습니다. 저도 이 글을 개인적으로 좋아하는데 그래서 시작부터 "오 이책 괜찮은데" 하는 생각이..^^
  • '프로세스와 도구' 보다는 '개인과 상호작용'을
  • '포괄적인 문서화'보다는 '동작하는 소프트웨어'를
  • '계약 협상'보다는 '고객과의 협력'을
  • '계획 주수'보다는 '변화에 대응'을
업무가 프로세스에 대한 일이다 보니 프로세스 준수 체크에 대한게 이슈가 되기도 합니다. 2장 38페이지를 보면 프로세스 준수가 결과는 아니다.는 부분이 나옵니다. 일을 하다보면 프로세스를 위한 프로세스가 되기도 하고 결과보다는 중간 산출물만 체크하는걸 프로세스 준수라 생각하고 끝을 내는데 이런 관행을 다시 생각하게 해주었습니다.

4장 89페이지에 전략적 설계 대 전술적 설계 에 대한 부분이 나옵니다. 설계를 얼마나 상세하게 해야 하느냐 ? 는 제가 오랫동안 가지고 있는 숙제중 하나입니다. 개발에 집중해보기도 하고, 설계에 정말 많이 노력해 보기도 했고, 라운드 로빈으로 둘다를 유지해 보기도 하면서 설계의 효용성에 나름 많은 생각을 했던적이 있습니다. 요즘도 MDA에 대해 고민하고 있는데 이 부분도 좋은 해답중 하나라는 생각이 듭니다.
전략적 설계는 요구사항이 아직 정제되지 않았을때 일반적으로 이루어지는 설계이다. 전술적 설계는 메서드,매개변수,필드 등의 세부내용이나 객체간 상호작용의 정확한 순서를 명시하는 것. 이 전술적 설계는 프로젝트가 진화할 때에만 드러난다.
좋은 전략적 설계는 올바른 방향을 가리키는 지도와 같은 역할을 한다.
4장 97페이지에 보면 형상관리에서 사용할 수 있는 기본전략에 대한 내용이 나옵니다.
  • 체크인한 코드는 항상 바로 쓸 수 있어야 한다.
  • 로컬 테스트를 실행하라.
  • 최신 소스를 체크아웃하라.
  • 체크인하라.
이제 형상관리는 당연히 사용해야 하는 툴로 인식되는거 같습니다. 하지만 단순히 툴을 사용한다고 해서 형상관리를 제대로 한다고 말할 수는 없습니다. 이 책 곳곳에 형상관리에 대한 내용이 많이 나오는데 이것만 잘 정리해도 좋은 형상관리 정책을 정할 수 있을거 같습니다.

6장 167페이지에서 주석에 대한 좋은설명을 읽었습니다. 이 책에도 나오는 "코드로 대화한다."는 말도 많이 하지만 저에게는 수백줄 코드보다 한글로 눈에 쏙 들어오는 주석이 더 눈에 쉽게 들어오더군요.^^
코드를 읽는 사람에게 올바른 방향을 알려주는 일종의 로드맵을 만들기 위해서 주석을 사용하라.
너무 많은 주석은 어떠한 유용한 정보도 전달하지 않는다.
이런 주석은 조직밖의 사람을 위해서가 아니라 몇달 후의 나를 위해서 추가하는 것이다.
좋은 주석은 다음 사항을 만족시켜야 한다.
  • 목적 : 이 메서드는 왜 존재하는가 ?
  • 필요조건(선행조건) : 이 메서드를 실행하기 위해서는 어떤 입력이 필요한가 ?
  • 계약사항(후행조건) : 이 메서드가 완료되면 어떤 결과가 발생하는가 ?
  • 예외 : 잘못되면 어떤 예외를 던지는가 ?
6장 187페이지에 보면 신문 배달 소년과 지갑이라는 비유로 일종의 Separation of Concern을 이야기 하고 있습니다. 좋은 비유라는 생각이 드네요.

8장 220페이지 등장하는 스크럼의 돼지와 닭의 비유는 볼때마다 정말 멋진 비유라는 생각이 듭니다. 타이머를 이용한 스탠드업 미팅등은 타임방식을 중요시하는 애자일의 좋은 프랙티스라 생각합니다.

8장 230페이지 제목이 아키텍트는 코드를 작성해야 한다.입니다. 저는 이런 제목 볼때마다 안심합니다. "그래 난 잘못된 방향으로 공부하고 있는게 아냐." :-)

책 뒤에 보면 책에서 참고했던 레퍼런스들을 다양하게 소개하고 있습니다. 이거 찾아보는 재미도 쏠쏠 합니다. 지난번 마틴파울러의 Continous Integration을 번역해서 올린이후 뭘 또 건드릴까 찾아보고 있었는데 하나 건졌습니다. (다음번에는 Is design Dead ? 를 번역하려고 합니다. ^^)

그냥 인상깊었던 부분을 몇자 적으려고 했는데 너무 길어졌네요. 좋은 책이라 꼭 읽어보시라고 추천하고 싶습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
TAG