정의
EPD : Ending Predicted Development. 종료 예측 개발
OTC : One Time Coding. 원타임코딩, 한번에 코딩하기.
종료 예측 개발은 프로젝트를 설계할 때 종료시점과 최종 결과물이 예측 되어야 한다.
중간에 뭔가가 바뀌면 새로운 결과와 일정이 예측된다.
현실성이 있는 예측이어야 하는데 이것은 원타임코딩을 하면 가능하다.
원타임코딩은 설계 된대로 한번에 코딩하는 방법이다.
이 때 코딩이 완료될 때까지 설계가 변경되면 안된다.
코딩할 때 가장 좋은 방법이 설계 때 고려되면 중간에 수정할 일이 없다.
설계가 제대로 되는 것은 경험이 쌓여야 하는 것이므로 초보 개발자가 할 수는 없다.
그러나 현실에서 중간에 수정요청사항이 있을 때가 비일비재한데
그때 그때 수정하다보면 프로젝트가 끝나지 않는다.
그러므로 수정요청사항은 한꺼번에 모아서 버전업을 한다.
수정사항을 한꺼번에 수정하여 버전업을 하므로 역시 한번에 코딩하여 끝낼 수 있다.
정리하여 종료예측개발법은 여러 방법중에 결과적으로 가장 최적화된 방법을 예측해내서 설계하는 방법론이다.
지금까지 포스팅중에 여러가지 최적화 방법을 보여준 것도 있다.
종료예측개발법의 실제 예의 단면이다.
코드 정리 #6 을 보면 코드를 최적화 하는 법을 단계적으로 보여주고 있는데
이런 방법들이 설계할 때 예측되고 가장 좋은 방법을 예측하여 쉽게 만들고 쉽게 이해할 수 있는 코드를 제시한다.
팀원들의 능력이 초보일수록 위 방법처럼 설계를 세세하게 해야 프로젝트 일정에 어긋나지 않는다.
위의 상황이 가능해야 한다는 것이지 일반적으로 프로젝트에 초보 개발자만 있는 것은 아니므로
팀원들에게 세세한 코드 설계를 맡기면 되는데 이 때 각 팀원의 역량을 알고서 종료 기한을 예측할 수 있어야 한다.
이 때는 최상의 최적화된 코드를 요구할 필요가 없다.
버그없고 구조적으로 잘 정의되어 가독성이 좋은 코드가 되면 되기 때문이다.
현실의 모든 프로젝트가 최상의 최적화 코드로 코딩되지는 않는다.
그러나 각 팀원 능력상 최상의 가독성 좋은 코드로는 코딩을 해야 한다.
One Time Coding으로 능숙자는 최적화 코드를 한번에 작성하여 끝낼 수 있으나 모든 팀원이 가능한 것은 아니다.
초보 프로그래머는 초보임을 인정하고 엄격한 코딩컨벤션을 지키도록 하여 원타팀코딩을 하는 것이 현실적이다.
이 초보프로그래머에게 가장 최적화된 코드를 가르쳐 줘서 프로젝트를 진행하느냐는 선택사항이다.
팀장이 이것을 결정해야 하는데 가장 우선시 되는 기준은 일정이 되겠다.
EPD + OTC는 가장 최적화된 설계를 하고 한번 코딩으로 프로젝트를 끝내기 위한 방법이며
이것은 프로젝트를 일정대로 끝내기 위한 방법론이고
이 방법이 되는 팀장 개발자를 Hero Programmer라고 부르기로 하자.
'Tech' 카테고리의 다른 글
[OpenSSL] 시작 - VS2017에 세팅하기 (0) | 2018.08.01 |
---|---|
[기초] 자바 웹프로그래밍에서 오류 쉽게 찾는 법. (0) | 2018.07.31 |
코드 정리 #8 (0) | 2018.07.29 |
[기초] OpenSSL 해쉬 함수 사용 예제 (0) | 2018.07.29 |
코드 정리 #7 (0) | 2018.07.29 |