start agile!

오늘은 개발자인생에서 뜻깊은 날 중 하나이다.
그 이유는 바로 애자일 방법론, 즉 XP(Extreme Programming)와 TDD(Test Driven Development, 테스트 주도 개발)를 시작한 날이기 때문이다.
첫날인 오늘은 부담없이 간단한 새기능을 TestCode(Unit Test)부터  짝프로그래밍(Pair Programming)으로 개발을 했다

사실 짝프로그래밍은 몇번 경험해봤지만 이렇게 심도있는 짝프로그래밍은 처음이었다.(아니 어쩌면 내가 경험했던 짝프로그래밍이 짝프로그래밍이 아닐 수 도 있다..?)
짝프로그래밍을 하면서 가장 어려웠던것은 짝이

이렇게 해보자
이건 이렇게 구현이 되어야 할것 같아

같은 의견을 내놓으면 키보드맨인 내가 코딩을 해야 하는데 그러다 보면 나의 생각이 끊겨버리는 경우가 많았다. 생각이 자꾸 끊기다보면 내 생각은 없어지고 옆에서 짝이 말하는대로만 타이핑하고 있는 멍함과 “내가 무슨생각하고 있었지?” 하는 혼돈이 머리속에 공존하는 타이핑로봇으로 변신을 해버리는데 이게 정말 힘들었다.
오늘 내가 뭘 코딩한건지 사실 아직까지 한 20%는 잘 모르겠다…;;
물런, 익숙하지 않은 언어인 ruby를 사용했고 내가 개발에 전혀 관여하지 않았던 코드라

이 코드가 어떤 프로세스에 대한 기능인데 이러저러한 filter를 거치고 이러저러한 일을 해서 이러한 일을한다

라는 큰흐름에 대한 이해도도 부족한데 거기다 언어까지 생소하니…
(물런 변명으로 들리겠지만 사실 변명이다. 하지만 20%정도는 진실이다!)

오늘 작업한 check_conflict 는 login이 필요한데 test code에서 login처리가 잘 안되서 3시간 삽질을 했다.
ruby가 unit test기능을 제공해줘서 고맙긴 한데..이 자식, 에러가 나면 정확한 Hint좀 줄것이지..IE에서 Javascript Error처럼 막연하게 무슨에러인데 몇번째 라인이다. 라고만 나온다.
삽질했던건 login session 처리와 redirect에 대한거였는데 좀 정확한 Hint를 줬었더라면 1시간만에 끝낼 수 도 있었을텐데…나쁜놈…

멍청한 타이핑로봇이 되지 않기 위해 앞으로 짝프로그래밍에 좀 더 적응해야 할 거 같다.
나의 가장 큰 문제점은 생각을 공유하지 않았다는 점에 있는것 같다.
짝의 의견을 바로 타이핑하지 않으면 왠지 짝의 의견을 무시하는것 같아서 내 생각을 끊고 타이핑로봇으로 변신을 하게되는데 역시 이건 애자일 스럽지 않은것 같다.
짝도 나도 이런것으로 부터 자유로와지는것이 애자일인데 아직 난 준비가 덜 되었나보다.
좀 더 애자일 스러워지도록 노력해야겠다. 무조건 받아적는 타이핑로봇이 아니라 생각을 공유하며 함께 프로그래밍을 해 나가도록 말이다.

첫걸음은 괜찮은것 같다.
비록 애자일스러운 짝프로그래밍을 완벽하게 못했지만 옛말에 “첫술에 배부르랴” 했다.
이제 시작이다. “애자일스러운 짝프로그래밍을 못했다”라고 인식하고 그것에 대한 원인을 발견한 것 만으로 난 만족한다.

몇마디 더 쓰고 싶은데.. 와이프가 밥먹으로 난리다;;
그래서 오늘의 일기 끝~

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중