본문 바로가기
개발이야기

개밥 먹기(dog food)를 즐깁시다~

by ictlab 2009. 12. 12.

사용자 삽입 이미지


몇년전인가 어떤 프로젝트를 공동 작업하고 있었습니다.
특정 동작 패턴을 편집하는 데이터 구조와 화면UI를 맡겼던 개발자가 있었는데..
어느정도 UI가 만들어지고 다음 단계로 그 UI를 이용해서 만든 패턴을
이용하는 작업을을 테스트 해야 했습니다.
그런데 GUI를 이용해 패턴을 편집하려고 아무리 해보았지만
도무지 내가 의도한대로 패턴 데이터가 만들어지지 않는겁니다.
패턴 편집이 상당히 고통 스러울 정도로 원하는 방식으로 편집이 되지 않았습니다.
패턴 편집이 되지 않으면 내가 만든 다음 모듈 테스트을 진행할 수 없었습니다.

그래서..
그 개발자를 호출해서 패턴 편집을 해보라고 요청하였습니다.
자신이 설계하고  자신이 만든 GUI로 어느 정도 완성되었다고 얘기 했음에도 불구하고
그 개발자는 제대로 편집을 못하고 버벅 거리고 있었습니다.
만든 개발자도 제대로 사용 할 수 없는 프로그램을
다른 사람이 사용하려고 했으니 제대로 동작할 리가 없었습니다.

개밥먹기(dog food)란 자신이 개발한 프로그램을 자신이 직접 사용해 보는 것을 말합니다.

다른 사람에게 배포전에 버그를 최대한 제거하고, 직접 사용하면서 불편한 점을 수정해서
버그가적고, 편리하며 사용성이 우수한 품질 좋은 SW를 개발하기 위한 기본적인 방법입니다.

대부분의 선량한 정상적인 개발자는 개밥먹기를 기본적으로 합니다.
단지 얼마나 실제 사용 조건에 맞춰서 하는지가 관건이 되는것 같습니다.
대충 몇 번 클릭해 보고 잘 돌아간다고 판단하는 것은 개밥먹기라고 할 수 없습니다.
실제 사용자가 사용해야 하는 시나리오 대로 직접 해봐야 합니다.
그러면서 불편한 점을 개선 하거나 개선할 점을 찾아야 합니다.

개밥 먹기를 즐겨하지 않는 개발자 치고 좋은 결과물을 보여주는 경우는 전혀 보지 못했습니다.
항상 소프트웨어 사용자의 입장에서 생각하는 자세가 좋은 프로그램을 만드는 기본이 아닌가 합니다.

버그 없는 소프트웨어는 기본이라고 생각합니다.
버그 없는 프로그램 + 알파
버그가 없으면서 거기에 남다른 편리성이나 탁월한 아이디어가 돋보이는 기능을
추가하는 등... 플러스 알파가 정말 뛰어난 개발자의 조건이 아닌가 합니다.



'개발이야기' 카테고리의 다른 글

구글과 삼성의 문화차이  (0) 2010.01.13
개발자에 관한 이야기  (0) 2009.12.18
모방 과 창조  (0) 2009.12.08
SW개발에서 'Peer Review'의 중요성  (0) 2009.12.02
사장들의 유형  (1) 2009.12.01