Do Not Think!!!

Posted
Filed under 글로 기록하기
지난 금요일부터 토요일까지 회사에서 24시간 동안 프로그래밍놀이를 했습니다. 일과는 전혀 상관없이 자기가 하고 싶은 것을 해보자는 생각에서 시작을 한것이지요.

저는 개인적으로 필요한 것이 있었습니다. 그리고, 새로운 언어를 배워보고 싶은 욕심도 있었지요. (아주 좋은 기회였습니다.)

대충 머릿속에 무엇을 만들지를 결정을 하고, 바로 키보드를 잡고 코딩을 시작했습니다. 처음에는 아주 잘 진행이 되구요... 그러나 시간이 조금씩 지날수록, 헤어나올 수 없는 늪으로 빠지고 있다는걸 알아차리지 못하고, 시간이 계속 흘러갔습니다.

한참 시간이 흘러 새벽이 되고, 밤새 흐려졌던 정신이 맑아지면서, 이런 생각이 들었습니다.
아...밤새 삽질했구나.

집에서 주말 내내 그 생각만 했습니다. 어디부터 잘못된 것일까...

일단 아이디어를 구체화 시키지 못했습니다. 그냥 완성된 모습의 환상만을 본 것이죠.
그러다 보니, 제대로 된 기획이 나오지 못했고, 제대로 된 UI도 없이 코딩(삽질)만 밤새 한 것이죠.

아주 자세하게 기능분석을 먼저 했어야 한다는 생각을 하고있던 찰나에, kenu님 블로그를 봤습니다.

BDD에 관한 포스팅을 보면서 이런 생각을 해봅니다.

요즘엔 정말 많은 개발 방법론들이 있습니다. TDD나 BDD 역시 몇 번이고 들어봤던 방법론 중 하나입니다. 하지만, 이런 방법론을 따르기 위해 필요한 것이 하나 있다고 생각합니다.
철저한 기능분석이 바로 그것이지요.
(물론 다른 것이 더 필요할지도 모르겠지만, 제가 생각하기에요... ^^;)

무엇을 할 것인지 아주 세세하게 기능분석을 해야, 무엇을 테스트 할 것인지 명확하게 나오겠죠...

그런의미에서 BDD는 무엇을 할 것인지에 대한 관점에서 접근하기에 좋은 방법론이 아닐까 생각합니다.
기획과 개발 사이의 생각의 차이가 분명히 존재할테고, 이를 줄이기 위한 노력은 어떤 식으로든 진행이 되어야겠죠. 이때 기획자가 기획한것을 BDD에서 말하는 행위로 바꾸는 것도 이런 차이를 줄일 수 있는 좋은 방법이 아닐까 생각합니다.

아... 이래저래 공부할게 쌓여만가네요..

자바를 좀 한다고 하는 사람들은 TDD를 들어봤을 것입니다. Test Driven Development, 즉 테스트로 주도하는 개발 방법입니다. 2003년인가 http://xper.org 에서 김창준님이 주최하는 XP 그 세번째 이야기 라?