조엘 온 소프트웨어 C5-C14

5장, 손쉬운 기능명세 작성법

  • 명세서 없이 코딩에 뛰어드는 짓은 하지말자
  • 명세서 작성에서 얻을수 있는 결실은 프로그램 설계이다.
  • 작성한 설계서를 바탕으로 고객이 원하는 바를 파악하고 다시 설계서를 수정함으로써 삽질을 줄일수 있다.
  • 시간을 절약할 수 있다.
  • 명세서를 바탕으로 팀의 협업이 원활히 진행될 수 있다.
  • 명세서는 전지전능하며 모든 업무의 기본이다.

6장, 명세서가 뭡니까?

  • 기술 명세와 기능 명세는 명백히 다르다.
기술 명세 ( functional specification )
완전히 사용자 관점에서 제품이 어떻게 동작할지를 기술한다. 어떻게 구현했는지는
신경 쓰지 않는다. 기능에 대해 이야기하고, 화면, 메뉴, 대화상자와 같은 사용자
인터페이스 부품을 명세한다.

기능 명세 ( technical specification )
프로그램의 내부 구현을 기술한다. 자료구조와 관계형 데이터베이스 모델과
프로그래밍 언어, 도구, 알고리즘 선택과 같은 항목을 다룬다.
  • 명세 단골 항목
1. 면책 조항 : 이 명세는 완벽하지 않다.
2. 저자 : 저자는 1명으로 책임을 단일화 한다.
3. 시나리오 : 제품 사용 방법에 대한 시나리오 작성
4. 회피 목표 : non-goal -> 쓸모 없는 기능을 제외시키는 항목
5. 개괄 : 목차와 유사
6. 세부 사항, 세부 사항, 세부 사항 : 너무나도 자세해 못 견딜 만큼 따분한 세부 사항
7. 미해결 문제 : open-issue -> 토론의 장을 열어놓기
8. 방주 : 명세서를 읽는 사람은 테스터, 마케터, 팀원 등 다양하다. 따라서 자세한 기술을 원할때는 기술 노트, 테스팅 노트, 마케팅 노트 등등 각주를 포함한다.
  • 명세는 지속적으로 개정해야 한다.

7장, 누가 명세를 작성하나?

  • PM
  • 코드 개발자를 프로그램 관리자로 승급시키지 말라
  • 마케팅 부서 사람을 프로그램 관리자로 승급시키지 말라
  • 프로그래머가 프로그램 관리자에게 보고하는 체제가 되어서는 안된다.

8장, 명세 팁

  • 명세서 작성에서 가장 큰 걸림돌은 아무도 명세서를 읽지 않는다는 것이다.
    규칙 1: 재미있게 쓰자.
    규칙 2: 명세를 쓰는 작업은 머리가 돌아가도록 코드를 쓰는 작업과 유사하다.
    규칙 3: 최대한 단순하게 작성하라.
    규칙 4: 여러 차례에 걸쳐 검토하고 다시 읽어라.
    규칙 5: 표준 양식은 해롭다고 간주한다.

9장, 손쉬운 소프트웨어 일정관리법

  1. 마이크로소프트 엑셀을 사용합시다.
  2. 단순하게 만듭시다.
  3. 각 기능은 과업 여러개를 포함해야만 한다.
  4. 담당 프로그래머만이 제대로 일정을 짤 수 있다.
  5. 과업을 세부적으로 나누자.
  6. 초기 예측과 현재 예측을 동시에 유지하자.
  7. 경과 열은 매일 갱신하자.
  8. 일정에 휴가나 휴일 같은 항목을 넣자.
  9. 일정에 디버깅 시간을 넣자.
  10. 일정에 통합 시간을 넣자.
  11. 일정에 여유 기간을 두자.
  12. 관리자가 프로그래머에게 일정을 단축하도록 절대 강요하지 못하게 하자.
  13. 일정은 장난감 블록과도 같다.
엑셀에 대해 꼭 알아둬야 할 사항들
공유 목록 : 동시에 여러 사람이 편집이 가능하다.
자동 필터 : 해당 과업, 담당자 별 필터링이 가능하다.
피벗 테이블 : 개발자 마다 남아있는 시간을 보여줄수 있는 차트를 만든다던가.. 등등

10장, 일일 빌드는 당신의 친구

  • 빌드 체크와 코드 퀄리티 게이트를 적용해 해당 빌드 패스 및 버그 수정을 그날그날 수행하자.

11장, 고리타분한 버그 수정

  1. 찾아낸 버그를 모두 확인하자.
  2. 경제적인 피드백을 확인하자.
  3. 버그를 모두 수정하는 작업이 어떤 값어치가 있는지 계산하자. ( 릴리즈와 버그 수정 중 어떤 일이 먼저인지 판단하자는 것 )

12장, 다섯 가지 세계

  1. 상품 소프트웨어
  2. 사내용 소프트웨어
  3. 임베디드 소프트웨어
  4. 게임 소프트웨어
  5. 일회성 소프트웨어

각 세계는 모두 다른 특성과 이해관계가 얽혀있다.

13장, 종이 프로토타이핑

연필로 슥슥 갈긴 프로토타입으로 회의 시간을 단축하자.

14장, 화성인 아키텍트를 조심하세요.

다음에…