"더 쉽고 재미있게 소프트웨어를 개발하는 방법"을 부제로 단 Head First Software Development를 monaca님의 애자일 3종 강탈 1탄 이벤트를 통해 읽게 되었습니다. 1장에서는 훌륭한 소프트웨어 개발에 앞서서 훌륭한 소프트웨어 개발의 정의를 짚고 갑니다. 요구사항을 주어진 시간과 비용으로 제공하는 것인데요. 그 비밀을 이터레이션이라고 소개하고 있습니다. 이터레이션을 통해 프로젝트의 방향이 고객이 원하는 목표와 맞는지 자주 점검하는 일이죠. 이터레이션의 규모를 추정하는 부분은 불확실성과 화해하는 프로젝트 추정과 계획과 유사했습니다. 딱딱해질 수도 있는 주제를 그림과 화살표로 시각적으로 표현해서 더 쉽게 다가왔습니다. 요구사항 수집 부분은 사용자 스토리를 연상하게 하는 인덱스카드와 시작했는데요. 책에서 개발자 역할을 맡은 희와 혁의 짤막한 대화가 등장합니다. 책 안에 개발자와 고객에 사진과 이름을 붙여서 중간에 제시하니깐, 내가 그 스토리에 참여하는 것처럼 몰입이 잘 되는 효과를 가져온다고 봅니다. 거만한 자세의 고객에 말풍선을 붙여 말을 넣어 두니깐, 독자의 처지에서 괜히 서늘하더라고요. 읽다가 180쪽에 "이번 장의 훼방꾼이 나타났어요" 부분 때문에 깜짝 놀랐습니다. 헤드퍼스트의 파격적인 구성 때문에 소프트웨어 개발 도서임에도, 이런 반전이 갑작스레 등장할 수 있다고 생각합니다.

객체 지향 방법론인 단일 책임 원칙(SRP)나 DRY 원칙을 통해 리팩터링도 다루고, 버전 관리를 돕는 도구인 서브버전의 필요한 사용법도 소개합니다. 빌드 자동화를 위한 빌드 도구인 Ant를 소개했는데, Ant로 빌드 스크립트를 잘 짜두면 컴파일 명령을 입력하면서 실수하는 일도 줄어들고, 빌드할 때마다 편하리라 느껴졌습니다. 블랙 박스 테스트나 화이트 박스 테스트의 이름은 얼핏 들어본 적은 있지만 무얼 뜻하는지 정확히 모르고 있었는데, 테스트를 바라보는 시선도 다르고 집중하는 분야도 다르다는 걸 알게 되었습니다. 테스트 주도 개발 규칙을 설명하고 테스트로 나온 버그는 "버그 트래커"로 관리하라고 이야기합니다.  재사용 소스 코드가 등장하면서 개발자 집단은 엉망인 상황에 부닥치지만, 차근차근 순서대로 문제를 풀어나가는 개발자 집단이 흥미로웠습니다.

테스트 주도 개발, 사용자 스토리, 빌드 자동화, 버전 관리, 디자인 패턴, 리팩터링, 추정과 계획 등 소프트웨어 개발 전반을 골고루 요약해서 다루고 있다는 점이 이 책의 강점이라고 봅니다. 각 주제를 깊이 익힐 시간은 부족하고 이런 개념들에 익숙해져야 할 때 도움이 되리라 생각합니다. 책의 이야기가 자바 언어로만 씌어 있어서 다른 언어의 관점도 소개하면 좋겠지만, 소프트웨어 개발과 관련된 책이라 다른 언어 사용자에도 적용하는 데 무리가 없으리라 예상합니다.

HEAD FIRST SOFTWARE DEVELOPMENT
카테고리 컴퓨터/IT
지은이 댄 필로네 (한빛미디어, 2008년)
상세보기



Posted by 세레

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. monac
    2009.01.04 16:34
    벌써 리뷰까지! 감사합니다. ^^;
    • 2009.01.04 18:51 신고
      댓글 주소 수정/삭제
      좋은 책을 읽을 수 있는 이벤트를
      마련해 주셔서 감사합니다. ^^
  2. 2009.01.05 04:13 신고
    벌써 리뷰를 +_+ (아직도 반 밖에 못봤습니다 -_ㅠ)
    소프트웨어공학공부해본 사람으로서 이 책은 개념 잡는 측면에서 잘 썼다고 느끼긴 한데, 깊이 들어가려면 아쉬운 책이죠. 빠른 시간 안에 개념 잡는데엔 이 책 최고라 생각듭니다 ㅎㅎ
    • 2009.01.05 08:25 신고
      댓글 주소 수정/삭제
      깊이 들어가려면 조금 아쉬운 부분이 있기는 하지만, 단 시간에 훑어보기에는 잘 짜여진 책이라고 생각해요.

 

다음 캘린더가 베타서비스로 티스토리 공지블로그에서 소개되었습니다.

구글기어스와 같은 툴을 이용해서, 오프라인에서도 일정을 편집하다가
네트워크에 컴퓨터가 연결되면 동기화해주는 그런 기능이 있으면 좋을 것 같아요.

Sunbird, Thunderbird와 같은 로컬 프로그램과 다음 캘린더가 연동될 수 있으면, 좋겠어요.

일정을 일정 개수 이상의 개수를 입력하면
more 버튼이 나와서 누르고 나서 생략된 내용이 보이도록 하는데, 그냥 클릭하면
그 부분이 확대되서 생략된 일정 내용이 보였으면 좋겠어요.

연간 일정 보기도 있었으면 좋겠어요. 그러면 좀 더 거시적인 계획을 세우는 데 도움이 될 것 같네요.

Posted by 세레

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2007.11.20 00:35
    안녕하세요? 다음캘린더 운영자입니다^^

    말씀해주신, 선버드 류의 연동이나, 오프라인입력 기능등은 추후 확장예정입니다.
    연간 일정보기 등도 더 고민해보겠습니다.

    그러나,위 업데이트 계획은 다소 시간이 걸릴 내용이지만.
    말씀해주신것 중에 여러개의 일정이 있을때 more버튼을 누르고 확장된 레이어에서
    일정을 보게 해달라는 의견은 지금 한창 개발중에 있으니, 조금만 기다려주세요^^

    깔끔한 more레이어를 보시게 해 드리겠습니다^^
    그럼 앞으로도 계속 강력 '요구' 해 주세요^^
    • 2007.11.20 00:50 신고
      댓글 주소 수정/삭제
      직접 친절하게 답변을 남겨주셔서, 감동입니다.
      답변으로 제가 다음캘린더에 가졌던 궁금증이
      많이 해소되었습니다.

      감사합니다. 성공하세요.


카테고리

분류 전체보기 (447)
Science (283)
ars boni et aequi (55)
Routine (83)
Language (23)
Q&A (1)
me2day (1)

달력

«   2019/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30