코드 작성
- 설계를 몇 퍼센트 미리 해놓고 몇 퍼센트를 개발 중에 할 것인가?
- 이름과 주석, 배치에 대한 코드 작성 규약을 정의했는가?
- 오류 조건을 처리하는 방법이나 보안 문제를 해결하는 방법, 클래스 인터페이스에 사용될 규약, 재사용된 코드에 적용될 기준, 코드를 작성하면서 성능을 얼마나 고려할 것인지 등 구체적인 코드 작성 방법을 정의했는가?
- 현재 기술적으로 어느 단계에 있는지 파악하고 그에 따라 접근 방법을 적절하게 조절했는가? 필요한 경우, 언어에 의한 프로그래밍 때문에 제약을 받기보다 어떻게 하면 언어를 활용하여 프로그래밍할 것인지를 살펴봤는가?
협동 작업
- 통합 절차를 정의했는가? 즉, 코드를 마스터 소스에 체크인(check-in: Git의 merge와 같음) 하기 전에 개발자가 거쳐야 하는 구체적인 단계를 정의했는가?
- 개발자가 프로그램 작업을 할 때 짝을 지어서 할 것인가, 혼자서 할 것인가? 아니면 두 가지 방법을 어느 정도 결합해서 할 것인가?
품질 보증
- 개발자가 코드를 작성하기 전에 코드에 대한 테스트 케이스를 작성할 것인가?
- 처음에 하든 나중에 하든 상관없이 개발자가 코드에 대한 단위 테스트를 작성할 것인가?
- 개발자가 코드를 체크인하기 전에 디버거로 코드를 살펴볼 것인가?
- 개발자가 코드를 체크인하기 전에 통합 테스트를 할 것인가?
- 개발자끼리 서로 코드를 리뷰할 것인가?
도구
- 버전 관리 도구를 선택했는가?
- 사용할 프로그래밍 언어와 버전 또는 컴파일러 버전을 선택했는가?
- J2EE나 마이크로소프트.NET과 같은 프레임워크를 선택했든지 프레임워크를 사용하지 않기로 확실하게 결정했는가?
- 표준에 맞지 않는 언어의 기능을 사용할지 결정했는가?
- 편집기, 리팩터링 툴, 디버거, 테스트 프레임워크, 문법 검사기와 같이 앞으로 사용할 툴을 정하고 갖췄는가?