알라딘MGG와이드바


[책] 글로벌 소프트웨어를 꿈꾸다 - 꼬장꼬장한 영감님의 일갈



'글로벌 소프트웨어를 꿈꾸다' 소프트웨어 컨설팅 회사인 ABC Tech 의 대표이며 카이스트 겸직교수인 김익환님이 낸 책이다. 이 책에서는 많은 분량을 SRS(Software Requirements Specification) 와 기본적인 시스템 구축에 할당하고 있다. 한 줄로 요약하자면 '막 개발하지 말고 제대로 하자' 정도랄까. 자기 주관이 뚜렷하고 여러 경험을 많이 하셔서 그런지 배울 얘기가 많다. 특히 SRS 쪽은 나도 놓치고 있는 부분인데 다시 한 번 챙겨야 겠다 싶었다. 나머지는 책을 사서 읽으시고 나는 애자일 부분만 집고 넘어가려고 한다.

(책 내용 중에서...)
'동료검토(Peer Review)는 권장하지 마라'
'서서 일일 회의하기(Daily Stand-up Meeting)를 처음 들었을 때는 농담하는 줄 알았다'
'폭포수 방법론은 가장 기본이고 모든 방법론의 원조라고 할 수 있다. 이상적인 모델이어서 따라하기가 거의 불가능한 것인데...'

저자는 요즘 사람들이 애자일, 애자일 하는게 그다지 맘에 안 드시나 보다. 되도록 중도 입장을 취하고 있지만 Big Design Up Front (BDUF) 쪽을 선호하시는 듯 하다. 사실 애자일 까일만도 하다. (몇몇 분야를 제외하고) 애자일이 되다보니 애자일이라는 단어가 마케팅 용어가 되면서 개나 소나 애자일 한다고 하기 시작했기 때문이다. 고작 일일 스탠드업 미팅 하나 하면서 QA 조직도 없고 소스나 문서 관리도 하지 않고 CI 도 하지 않으면서 애자일 한다고 스스로를 홍보하는 조직이 많다고 한다. 이렇게 해야 구인할 때 유리하다나. 일일 스탠드업 미팅조차도 관리자가 개발자를 micro-management 하는 용도로 사용되면서 오히려 장해가 되는 경우가 있다. 심지어 Agile 2010 에서 나온 얘기인데 애자일로 개발한다는 인도 회사에 외주를 줬다가 막상 같이 일해보니 말만 애자일이고 실제로는 제대로 하는 게 아무 것도 없어서 망했다는 사례까지 나왔다고 한다. 이렇게 몇 번 데이다보면 애자일에 대해 안 좋은 첫 인상을 갖게 된다.

하지만, 저자도 애자일을 제대로 안 해 보셔서 그런지 애자일을 장점을 잘 못 생각하는 부분이 꽤 있다. 예를 들어 (제대로 된) 일일 스탠드 회의는 '내가 어제 무엇을 했는지', '오늘 무엇을 할 것인지', '무엇이 장애인지'를 공유하는 자리다. 이를 통해서 내가 개발하면서 알게 된 기술, 경험 같은 암묵지를 공유하고, 오늘 무엇을 할 것인지를 같은 팀원에게 공언함으로서 '인지 부조화' 효과를 내며, 관리자가 개발자의 능력을 100% 끌어내는 데 방해가 되는 장애물을 알게 해 준다. 이런 부분은 이슈관리시스템으로 대치하기 어렵다.
또한 '테스트 먼저 작성하기'(TDD) 역시 저자는 테스트 케이스가 스펙을 대신한다고 생각하고 있는데 제대로 된 TDD 를 하면 자연스럽게 설계자체가 유연하게 나오고 앞으로 계속 유지보수하면서 퇴보(regression) 이 나오는 것을 방지하고 더 빠르게 사용자의 요구를 맞춰줄 수 있는 기반을 만들 수 있다. 물론 스펙을 TDD 로 완전히 대체할 수는 없겠지만 마찬가지로 스펙으로는 할 수 없는 일을 TDD 가 하는 것이다.

앞에서 얘기했듯이 이 책은 SRS 와 기본부터 제대로 하자를 주로 얘기하고 있다. 애자일에 대한 관점은 아쉽지만 제대로 된 개발조직을 만들고 싶다면 꼭 읽어봐야 할 책이다. 앞으로도 이런 백전노장들의 책이 많이 나와서 안일하게 퍼져있는 우리를 죽비로 내리쳐 주셨으면 한다.

핑백

덧글

  • 한주영 2010/11/07 22:45 # 삭제 답글

    폭포수 모델 이야기는 "소프트웨어 개발의 모든 것" 에서와 비슷한 이야기를 다시 하신 모양이네요. 폭포수 모델은 제대로 정리되어 설명된 것이 1970년이었고 이 당시 이름도 없었으며 단지 저자가 자신이 주장하려 했던 반복적 개발방법을 설명하기 위해 안티패턴으로, 피해야 할 모델로서 설명한 것이었다는데... 아쉽습니다.
  • 박PD 2010/11/07 23:48 #

    시작과는 상관없이 실제로 사람들이 적용해 가면서 폭포수 모델이라는 실체가 생겨버렸으니까요.
    저자도 책에서 '아무리 멀리 갔더라도 잘못 갔다면 되돌아가야한다' 라는 속담을 인용했는데, 왜 폭포수 모델을 극복하자는 얘기가 나오고 있는지를 잘 생각해 봤다면 '폭포수 모델은 좋은데 제대로 못 해서 그런거다'가 아닌 '지금이라도 다르게 가야한다' 라고 하셨을지도 모르죠. 실무자와 CTO 급이 느끼는 개발환경의 차이도 이런 의견차이를 낳는데 일조하는 듯 합니다.
  • 한주영 2010/11/12 14:58 # 삭제

    책을 구해 읽어보니 '폭포수 모델' 부분의 의도를 알겠네요. 역시 뭔가 이의 제기는 내용을 확인한 후에 해야 하는데 말이죠. ㅠ.ㅠ

    소프트웨어 분야의 대 선배님으로 경험에서 묻어나는 좋은 말씀이 많은 책이네요. 말씀하신 것처럼 배울만한 내용이 많은 것 같습니다.
  • 2010/11/09 18:24 # 삭제 답글 비공개

    비공개 덧글입니다.
  • cavin 2010/11/15 21:15 # 삭제 답글

    내일 서점에 들러서 봐야겠구나 싶네요. 잘 읽었습니다.
  • 박PD 2010/11/16 19:53 #

    감사합니다.
  • 난슬롯 2011/02/24 15:17 # 삭제 답글

    이거뭐;
    리뷰 내용과 결론이 반대잖아요;

    내용읽어보면 까는건데, 결론은 좋다라니;

    너무 정치적임
    ㄲㄲㄲ

    전, 이 책 앞에 몇 장 읽다 덮었음.
  • 박PD 2011/02/24 23:50 #

    남을 까다보면 언젠가 까이는 날이 온다. 조심하고 살자 :)
  • linugee 2012/08/29 08:03 # 삭제 답글

    애자일을 좋아만 하는 (실제 경험이 없어서) 입장에서 이 책 읽으니
    저자가 애자일을 별로 안 좋아하는구나 생각이 되었습니다.

    문서보다는 communication에 가치를 두는 애자일의 특성을
    책 저자가 동일한 의미를 가지고 다른 시각으로 얘기하는 건지
    아님 이러한 특성에 반대(?)를 하는 건지도 궁금해서
    책 서평을 찾다보니 여기까지 왔네요.

    공감되는 의견이 있어 한편으로는 다행이다 싶네요~ ^^

    어떻게 하면 상위 매니저들이 이 책을 읽게 할 수 있을까 하는
    생각이 오늘 아침에 문득 들었습니다.
  • 박PD 2012/08/29 13:45 #

    감사합니다.
댓글 입력 영역


Yes24위대한게임의탄생3

위대한 게임의 탄생 3
예스24 | 애드온2