• Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드

  • 자레드 리차드슨, 윌리엄 그월트니 주니어 지음
  • 최재훈 옮김

  • IT Leaders 시리즈 _ 002
  • ISBN: 9788995856468
  • 20,000원 | 2007년 08월 9일 발행 | 280쪽



여러분이 만약 이런 상황이라면 이 책을 읽어보세요.

  • 참여하고 있는 프로젝트에 진전이 없어서 우울하다.
  • 자기 자신과 자신의 팀을 보다 가치 있게 만들고 싶다.
  • 익스트림 프로그래밍 같은 방법론을 살펴보았지만, 너무 익스트림한 것 같다.
  • Rational Unified Progress(RUP)나 CMMI 스타일의 방법론을 살펴보았지만, 학습곡선과 비용 때문에 진력이 났다.
  • 변명하지 않고 소프트웨어를 제대로 내놓아야 한다.

한마디로 말해, 여러분이 프로젝트에 참여하고 있고, 제품을 내놓고 싶다면 『Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드』가 있어야 합니다.

『Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드』는 개발자에 의한, 개발자를 위한 책입니다. 그와 동시에 기술적 배경이 부족한 관리자를 위한 책이기도 합니다. 자레드와 윌이 내세운 ‘예광탄 개발’은 『리팩토링』의 저자 마틴 파울러가 제창한 ‘지속적인 통합’의 개념을 충실히 따르고 있습니다. 여러분이 기술 리더이든 팀의 막내 개발자이든, 매끄럽게 흘러가는 개발 프로세스를 접하고 따라 한다면 자기 자신과 팀에 엄청난 발전을 이끌어낼 수 있습니다. 여러분이 관리자라면 개발자와 어떻게 협의하고 업무에 우선순위를 어떻게 부여하면 되는지, 도무지 속을 드러내지 않는 개발자와 어떻게 이야기를 나누면 되는지 알고 싶을 겁니다.

개발자였다가 관리자로 전향한 자레드와 경력 20년이 넘는 소프트웨어 개발자인 윌이 함께 유연한 소프트웨어 개발 방법과 관리 방법을 제안합니다. 자레드와 윌은 작은 벤처 기업에서부터 세계적인 소프트웨어 기업인 SAS까지 섭렵한 경험 많은 전문가입니다.

프로젝트에 도움이 되는 거라면 무엇이든 실험해보고 받아들이라는 자레드와 윌의 유연한 사고 방식은 자칫 교조주의적으로 흐르기 쉬운 특정 프로세스 선호론과는 다릅니다. 무엇이 옳고 그른지보다는 무엇이 실용주의적인지 이 책을 통해 알아보세요.

현재의 우리는 반복적으로 하는 행동의 결과이다. 그러므로 탁월함이란 행동이 아니라 습관이다.

성공적인 프로젝트를 경험해 보신 적이 있나요? 우리들의 일상뿐만 아니라 프로젝트에서도 성공에 이르려면 좋은 습관을 가지는 것이 중요합니다. 이 책은 수많은 소프트웨어 개발 프로젝트를 컨설팅 해 온 두 저자가 실전 경험을 바탕으로 현장에서 검증된 기본적이고 실천적인 충고들을 모아놓은 것입니다. 그리고 실제로 도움이 된다는 걸 직접 확인한 방법들입니다. 여러분이 이 책의 내용처럼 실용적이고 유용한 도구를 올바로 선택하고, 힘들이지 않고 보다 현명하게 일하는 데 필요한 특정 기법들을 익혀서 습관처럼 사용한다면, 놀라울 정도로 성공적인 프로젝트를 경험해보실 수 있을 겁니다.

자레드 리차드슨(Jared Richardson)

자레드 리차드슨은 관리자로 전향한 개발자이다. 그는 모든 걸 위임해버리고 살금살금 빠져나가서 지난 10년간 그래왔듯 코드를 실제로 작성하는 날이야 말로 좋은 날이라고 생각한다. http://www.jaredrichardson.net/index.html

윌리엄 그월트니 주니어(William Gwaltney Jr.)

윌리엄 그월트니 주니어는 20년 이상의 경험을 가진 소프트웨어 개발자이다. 당시에 그는 모든걸 경험해보진 못했어도 경험해 볼만한 건 다 경험해봤다.

자레드와 윌은 현재 세계에서 가장 큰 개인 소유의 소프트웨어 회사인 SAS 주식회사에서 일하고있으며 www.PragmaticProgrammer.com을 통해 지은이들을 만나볼 수 있다.

최재훈 http://kaistizen.net, kaistizen@gmail.com

한국과학기술원(KAIST) 전산학과를 이제 막 졸업하고 SK 아이미디어에서 게임 개발에 뛰어들었다. 스타크래프트를 9년째 즐기고 있지만, 여전히 무한맵 신봉자이며 자칭 무한맵의 초고수다. 시드마이어의 문명과 듄(Dune)의 후속작을 손꼽아 기다리고 있다. 1년 6개월째 마이크로소프트웨어에 칼럼을 써왔으며 ‘프로그래밍 노트’ 및 ‘커뮤니티 노트’ 등을 맡아왔다. 인간성이 고리타분한지라 일과 글에서만큼은 위트를 발휘하려고 애쓰는 중이다. 아직까진 잘 안 되고 있지만, 나아지리라 믿는다. 아직 멀었다고 생각하지만 정년이 되면 뉴질랜드에서 요트를 타고 돌고래들과 어울려 노는 게 꿈이다. 원대한 계획이라 은퇴자금 마련을 어떻게 해야 하나 고민 중이다. 『Ship it! 성공적인 소프트웨어 개발 프로젝트를 위한 실용 가이드』가 역서로는 처녀작이며 선배 번역자들에게 누를 끼치지 않으려고 최선을 다했다. 블로그를 통해 개발 경험을 나누고, 즐겁게 읽은 책 소개도 하고 있다.

  • 머리말
  • 서문
  •  
  • 1 서론
    • 1.1 습관적인 탁월함
    • 1.2 실용주의적 관점
    • 1.3 로드맵
    • 1.4 앞으로 나아가기
    • 1.5 이 책을 어떻게 읽어야 하나?
  •  
  • 2 도구와 인프라스트럭처
    • [1]. 모래 상자(Sandbox) 안에서 개발하기
    • [2]. 자산을 관리하세요
    • [3]. 빌드를 스트립트화하세요.
    • [4]. 자동으로 빌드하세요.
    • [5]. 이슈를 추적하세요.
    • [6]. 기능을 추적하세요.
    • [7]. 테스트 장비를 사용하세요.
    • [8]. 도구를 선택하는 방법
    • [9]. 실험하지 말아야 할 때
      •  
  • 3 실용주의적 프로젝트 기술
    • [10]. 목록에 따라 일하세요.
    • [11]. 기술 리더
    • [12]. 매일 협력하고 의사소통하기
    • [13]. 코드를 모두 검토하세요
    • [14]. 코드 변경 통지 보내기
    • [15]. 모두 통틀어서
  •  
  • 4 예광탄 개발
    • 예광탄 개발
    • 프로세스 상의 흔한 문제들
    • 프로세스 정의하기
    • TBD는 어떻게 작동할까요
    • 시스템 객체를 정의하세요
    • 협동해서 인터페이스 정의하세요
    • 인터페이스 스텁을 작성하세요
    • 계층끼리 대화할 수 있게 만드세요
    • 스텁에 기능적 코드를 채워 넣으세요
    • 리팩토링하고 다듬으세요
    • 간단한 사례
    • 예광탄 개발 방법론 홍보하기
    • 이렇게 시작하세요
    • 이렇게 하고 있다면 제대로 하고 있는 겁니다
    • 경고 신호
  •  
  • 5 일반적인 문제와 해결방법
    • [16]. 도와주세요! 코드를 인수 받았어요.
    • [17]. 테스트할 수 없는 코드를 테스트하기
    • [18]. 기능에 문제가 계속 발생합니다.
    • [19]. 테스트? 우리는 더 이상 테스트를 활용하지 않습니다.
    • [20]. 하지만 저는 된다구요!
    • [21]. 코드를 통합할 때 골치 아픕니다.
    • [22]. 제품을 안정적으로 빌드하지 못합니다.
    • [23]. 고객이 불만을 표출합니다.
    • [24]. 불한당 개발자가 있습니다.
    • [25]. 관리자가 불만스러워 합니다.
    • [26]. 팀이 협동을 못합니다.
    • [27]. 핵심적인 부분에 대한 “내부의 지지”를 얻지 못합니다.
    • [28]. 새로운 실천방법이 도움이 안 됩니다
    • [29]. 자동화된 테스트가 없습니다.
    • [30]. 우리는 신참 개발자들이고 이끌어줄 사람이 없습니다.
    • [31]. “죽음의 행진” 프로젝트에 참여하고 있습니다.
    • [32]. 피쳐 크리프(Feature Creep) 현상이 일어납니다.
    • [33]. 프로젝트가 끝날 기미가 안 보입니다.
  •  
  • A 조언 요약
  • B 소스 코드 관리
  • C 빌드 스크립트 도구
  • D 지속적인 통합 시스템 (Continuous Integration System)
  • E 이슈 추적 소프트웨어
  • F 개발 방법론
  • G 테스트 프레임워크
  • H 추천 도서 목록
  • H.1 참고 문헌
  • 48쪽 2째줄

    알츠하이병 ---> 알츠하이머병

  • 67페이지: 3문단

    자바에 대핸 --> 자바에 대해

  • 75페이지: 첫째줄

    도구로써의 --> 도구로서의

  • 118페이지: 5째줄

    들려달라고 --> 들러달라고

  • 128페이지: 중간

    '목록'(The List) --> 목록(The List)

  • 152페이지 2문단

    DNS 조각 --> DNA 조각

  • 159페이지: 마지막 줄

    스텁 간의 서로 이야기를 --> 스텁 간에 서로 이야기를

    스템에 기능을 --> 스텁에 기능을

  • 230페이지: 마지막에서 5째줄

    Support for the stuff your're testing --> 테스트해야 할 대상에 적합합니까?

관련 글


엮인 글

엮인 글 주소: http://wikibook.co.kr/ship-it/trackback/