[정리] 조엘 온 소프트웨어를 읽고

1 분 소요

조엘 온 소프트웨어를 읽고 기억에 남는 점을 정리해 보았다.

조엘 테스트

  1. 소스코드 관리 시스템을 사용하고 있습니까?
  2. 한 번에 빌드를 만들어낼 수 있습니까?
  3. 일일 빌드를 하고 있습니까?
  4. 버그 추적 시스템을 운영하고 있습니까?
  5. 코드를 새로 작성하기 전에 버그를 수정합니까?
  6. 일정을 업데이트하고 있습니까?
  7. 명세서를 작성하고 있습니까?
  8. 조용한 작업환경에서 일하고 있습니까?
  9. 경제적인 범위 내에서 최고의 도구를 사용하고 있습니까?
  10. 테스터를 별도로 두고 있습니까?
  11. 프로그래머 채용 인터뷰 때 코딩 테스트를 합니까?
  12. 무작위 사용편의성 테스트를 수행하고 있습니까?

회사에서 필수적으로 해야되는 거의 모든 것들이 들어가 있는 것 같다.

소스코드 관리 시스템을 사용하고 있습니까?

당연히 사용해야되지 않을까..?

한 번에 빌드를 만들어낼 수 있습니까?

저자는 실수의 가능성을 줄이기 위해서라고는 하지만 귀찮아서라도 한 번에 빌드를 만들 수 있게 할 것 같다.

일일 빌드를 하고 있습니까?

잘 모르겠다..

버그 추적 시스템을 운영하고 있습니까?

이걸 운영 안하면 프로젝트의 유지보수는 어떻게 할 지 감이 도저히 안잡힌다. 버그 추적 시스템에는 버그 재현의 단계가 반드시 들어있어야 한다. 재현 불가능한 버그는 고칠 수도 없다..

코드를 새로 작성하기 전에 버그를 수정합니까?

버그 수정 없이 계속 코드를 작성하거나 오랜 시간이 지났다면 버그 수정이 아니라 새로운 코드를 읽고 분석하고 문제를 해결하는 일이 되어 버린다.

명세서 작성하기

  • 기능 명세: 사용자 관점에서 제품이 어떻게 동작할지 기술함. 구현보다는 기능에 대해 이야기하고, 화면, 메뉴, 대화상자와 같은 인터페이스 부품을 명시
  • 기술 명세: 프로그램의 내부 구현을 기술. 자료구조, RDB, 프로그래밍 언어, 도구, 알고리즘 선택 등을 다룸

예시

  1. 개괄
  2. 사용자 시나리오
  3. 회피 목표
  4. 플로우차트
  5. 화면 단위 명세
  6. 시작화면
  7. 홈페이지
  8. 로그인 양식
  • 미해결 문제..

일정 관리법

TBD

댓글남기기