2005년 4월 27일 수요일

기본 설계와 설계자의 중요성

VOD시스템 개발을 시작한지 3개월 가까이 시간이 흘렀다.

2월 말경에 정리된 기본설계서 에는 테이블이 많아야 35개 이상을 넘지 않았다.실제 첫 사용자 리뷰가 있었던 4월 20일에 완성된 시스템은 테이블이 72개 였다.설계에 참여 하고 있는 인원 10여명,
실제 코딩하고 있는 인원 10여명 도합 20여명에 사람들이 움직이고 있다.아주 소규모에 프로젝트는 아닌데 스케쥴 관리,품질관리가 엉망이다.
단적인 예를 들자면

CDN비슷한 기능을 하는 시스템을 설계중인 사람에게서 한시간 가량에 설계설명이 있었다.참고 서류가 없었다.회의에 참석한 5명에 인원은 CDN이 뭐 하는 것인지도 모르는 사람들이다.

기본 설명도 없이 작은 화이트 보드에 갈겨 나가는 설계 설명.
설명을 하는 사람은 1달째 CDN을 설계하고 있다.CDN을 어느정도 알고 있는 것이다.CDN에 관해 처음 들어 보는 사람들이 과연 그의 설명을 이해 할수 있었을까?적어도 나는 이해 할수 없었다.인터넷에서 다운 받은 CDN자료에서 설계자가 생각하고 있는 부분이 실제로는 CDN의 기능이 아니다는 것만은 확실히 이해를 했지만..

코딩에 참여할 인원들은 이미 지쳐 있다.한결같이 다른 시스템을 맏고 싶어 하지 않는다.

왜일까?코더들이 나빠서?
절대 아니다.

명확하지 않은 기본설계 ,실제로 코딩에 들어갈수 없을 정도로 품질이 나쁘다.하지만 시간이 없으니 시작한다.
하나의 펑션을 만들기 위해 적게는 10번에서 30번도 질문을 하지 않으면 않된다.설계자도 지쳐가고 코더도 지쳐 가고 품질은 떨어지고 시간은 점점 촉박해 지기만 한다.사람들은 주말을 희생하고 퇴근 시간도 희생하기 시작한다.다들 지쳐가고 뭘 하고 있는지도 모를때쯤
어찌 어찌 부분적인 서브펑션은 완성된다.

하지만 기본설계가 엉망이다 보니 외부 인터페이스가 전혀 맏지를 않는다.
테스터도 어디부터 어디까지 데이터를 준비 하고 어떤데이터를 기준으로 기능이 OK인가 아닌가를 판단 하지 못한다.
주말을 희생해 가며 작업한 코더들은 이미 지쳐 있다.


이제껏 XP 개발 방법을 프로젝트에 적용해 오면서 문서작성에 대해
냉소적이었다.쓸데없는 문서.현실과 동떨어진 설계..
설계 레뷰를 하는 시간을 따로 정해야 할듯한데..
어찌 할꼬..

댓글 없음: