이호종의 ‘거꾸로 배우는 소프트웨어 개발’을 읽고…

읽고 나니 많이 접혀있다;;;

  1. SW는 계속 변한다. 본질적 특성이다.
  2. 단기 속성 개발은 위험!
  3. 관리자는 개발을 orchestrate한다.
  4. 돌발 회의로 시간을 뺏지마라.
  5. 몰입 환경을 조성하라.
  6. Scrum 개발 방법론 소개
  7. 전사적 개발 표준?
  8. 문서화 원칙: 도움이 되나? 최신인가? 아니면 버려라.
  • 좋은 SW 개발을 위한 최소한의 실천 지침
  • SVN 사용
  • 개발 서버와 운영 서버 분리
  • 코딩 Style 및 정적 코드 자동 검사 일상화, 자동 Test 및 자동 deployment 수행
  • 이슈 트래커로 이슈와 오류 기록 및 추적, 작업 할당 및 처리
  • 공통 라이브러리/프레임워크 사용
  • 외부 라이브러리는 개인 독단적 도입 적용 금지.
  • TDD와 Unit Test, Test Automation 적용
  • Scrum으로 팀 내 역할과 책임과 프로세스 정의 및 준수
  • 설계 및 코드 리뷰: 설계 문서 작성 및 설계 리뷰 미팅, 설계 리뷰 없는 코드 리뷰 미팅 비추천
  • TDD(Test-Driven Development )를 도입해야 하는 10가지 결정적 이유
  1. 실행 코드와 테스트 코드의 분리
  2. 입력값 패턴 입력 자동화 처리
  3. 더 철저한 경계 조건 검사
  4. 클래스/ 모듈 결합 테스트 시 오류 발견 용이
  5. 리팩토링의 필수 도구
  6. ‘심리적 불안’을 ‘체계적 확인’으로 해소
  7. 웹 개발은 화면 테스트로는 작동을 100% 확신할 수 없음
  8. 문서화 작업 부담 경감
  9. 디버깅 작업 단축
  10. ‘믿음’ 대신 ‘검사’, ‘전도’ 보다는 ‘입증’
요즘 나의 고민에 대한 해결 실마리를 많이 찾을 수 있었다.
저자의 말대로 프로그래밍 처음 배울 때부터 이런 내용들을 가르치면 참 좋을 것 같다.