기존에 MFC List Control을 확장한 Grid Control을 사용하다가 기능 수정에 한계를 느끼고 상용 컴포넌트를 쓰기로 결정하였다.
그런데 이번에 와이프가 회사에서 개발한 솔루션의 리스트 컨트롤을 Spread로 교체하기 위한 검토 과정을 지켜보면서 매뉴얼의 중요성을 다시금 실감하게 되었다.
와이프는 Win32 API로 개발된 기존 리스트 컨트롤이 갖고 있는 한계(버그들 --;)를 내게 설명하였고(item 추가, 삭제, 수정시 발생하는 리스트 컨트롤 전체의 Refresh는 정말 경악할만 했다) 그 정도 기능이라면 믿고 사용할 수 있는 MFC 리스트 기반 공개소스가 많다고 말하던중 내가 사용했던 Spread가 생각났고 상용인 만큼 지원과 신뢰를 갖을 수 있다는 생각에 추천을 하게되었다.
와이프는 그때 부터 과연 자신이 원하는 기능들을 구현할 수 있는지 매뉴얼을 보면서 차근차근 구현해 나가기 시작했다. 사실 와이프가 담당한 일은 프로젝트 매니저에 가깝기 때문에 코딩 실무와는 거리를 두어 왔었다.
그러나 단 하루만에 내가 Spread를 사용해 했던 결과물 보다 훨씬 좋아보이는 결과물을 보고 놀라지 않을 수 없었다. 원인은 Spread에서 지원하는 Designer에 있었다. 내가 왜 보지 못했는지 몰라도 난 바로 코딩을 사용해 Spread를 조작하는데 주력한 반면, 와이프는 매뉴얼을 보면서 Designer를 통해 손쉽게 Property들을 조정하면서 원하는 기능들을 추가해 나갔던 것이다.
한마디로 난 쉽고 편한 방법이 있는데도, 삽질하면서 돌아갔던 것이다. 순전히 매뉴얼을 소홀히 한 결과였다. 아무리 매뉴얼이 조잡하다 하더라도(Spread를 지칭하는 것은 아니다--; 오히려 그정도면 훌륭하다) 그것에 대해 가장 잘 알고 있는 사람이 작성한 매뉴얼을 차분히 살펴볼 필요가 있다는 것을 새삼 깨닫게 되었다.