2009년 7월 20일 월요일

프로젝트 진행상황

프로젝트는 현재 스프린트3을 향해 달려가고 있습니다.

스프린트 #2의 회고중 눈여겨 볼만한 내용은

- 스프린트 #1의 Review 기간을 지나치게 짧게 잡아서, 고객의 추가 요구사항이나 버그를 수정해야 하는 부분이 스프린트 #2에 고스란히 얹어졌다.

- 스크럼 마스터 역할 대행, SW 아키텍트의 복귀로 인한 부담 증가

등등

프로젝트 종료 후에 설문결과 및 프로젝트 Lessons Learned 를 공유토록 하겠습니다.

당분간은 새로운 글은 올라오지 않을 예정입니다. :)


2009년 6월 18일 목요일

희노애락이 교차하는 가슴찡한 공지사항

 

"지금 꼬리가 타들어 가고 있는데, 얼굴에 뭍은 검댕이 닦고 있을 상황이삼?"

 

라는 개발자의 마음의 목소리와

 

"우리 이러면 안되잖아요! 잘 해보기로 했잖아요!"

 

라는 SWA의 마음의 목소리가 들리는 것만 같습니다.

 

 

2009년 6월 16일 화요일

Commit 통계 #1

StatSVN 으로 뽑아낸 통계 중에서...

우선 시간대별 통계...

[확인]
이 그래프를 보고 SWA(소프트웨어 아키텍트) 가 생각해 봐야 하는 점은 Repository 를 개발자들이 중간 Save로 생각하고 있을 수도 있으니 확인해 봐야 한다는 점이다. (업무가 저렇게 시간에 맞춰서 완성될리가 없지 않은가?)

[보완]
팀 내에 배포한 Commit 가이드가 있는지 확인 후 정하도록 한다.


이번엔 주별 통계...


[확인]
월요일에 (혹은 금요일에) commit 횟수가 낮은 이유는?
 - 매주마다 Task 가 리셋되는 거라면 무관
 - 하지만 그렇지 않다면 적응시간이 걸리는 것으로 판단.

[보완]
 - 어떻게 고르게 만들 것인가?
 - 혹은 고르게 만들수 있도록 장치를 마련하는게 바람직한가?


프로젝트 오픈 전 주말은 집에서 쉬기

어제 월요일에는 프로젝트 1차 오픈을 하였습니다.

 

아! 웹 프로젝트로 Globaly open 프로젝트 입니다.

 

 

결론부터 이야기하자면, 토,일 주말은 집에서 쉬었습니다.

 

SI 를 하면서 쉽게 볼수 있는 상황은 아니지 않을까 생각합니다.

 

보통 오픈 전 주말은 이런저런일들로 거의 대기상태와 막판까지 문제를 해결해나가면서 회사에서 보내기 십상입니다.

 

이게 가능했던 이유 몇 가지 있지만, 이를 가능케 한 가장 뚜렷한 이유 하나는,

 

CI 서버를 이용해서 운영환경과 동일한 통합테스트 환경을 운영하였기 때문입니다.

그리고 그곳에서 테스트를 개발과 함께 지속적으로 진행하였습니다. 연계 시스템 연동도 현재까지 개발된 상황내에서 언제든 테스트를 할 수 있었습니다.

 

의도한건 아니었지만, 결론적으로는 따로 통합 테스트 기간조차 갖지 않았음에도, 별 걱정이 없었습니다.

 

프로젝트 막판의 통합 작업에 소요될 시간이 개발기간 전체에 고루 퍼져있었기 때문에, 거의 제로에 가까운 노력으로 운영환경으로 옮겨졌으며, 환경설정 몇 가지를 제외하고는 운영환경내에서는 별다른 테스트가 필요없었습니다.

 

들으면 놀라실 수도 있는데, 운영환경 세팅이 저번주 금요일에 되었고, 어제 오픈하였습니다. (주말은 집에서 쉬었다고 얘기 했던가요? :)

 

네. 실 운영환경 설치(WAS설치, 환경설정등)와 세팅 테스트가 금요일 하루에 이루어졌습니다.

 

그리고는 그와 동시에 실 운영환경과 CI 서버를 연동해서 (물론 그쪽은 자동 deploy는 아닙니다만) 고객과 함께 테스트를 진행하였습니다. 문제다 싶은건 즉각 수정했는데, 대부분은 디자인관련 수정이었더랬습니다.

 

(어찌보면 너무 극단적이랄 수 있겠습니다만) 시스템 오픈전 날에야 운영환경을 세팅하게 되었음에도 팀원들은 다들 별 부담을 갖지 않았습니다. (그래도 금요일은 11시 넘어서 퇴근했네요)

 

물론, 실제 오픈하고 보니 버그가 없는 Bug Free system 은 아니란걸 알게 되었지만, 이정도면 소기의 목적은 달성하였다고 봅니다.

 

사실 고객은 매우 무리한 일정을 요구했습니다. (제가 PM 이고, 거절할 수 있었다면 정말 프로젝트 자체를 거절하고 싶은 수준의 일정입니다.) 덕분에, 어쩔수 없이 거의 Nine to Nine 으로 일하는 날도 많았습니다.

 

그리고,

 

넉 달짜리 프로젝트인데 거의 매달 오픈되는 시스템이 있습니다.

 

어찌보면, 이러 상황에서는 지속적인 통합 + 우선순위에 따른 단계적 시스템 오픈이 아니면, 해결책이 없는 것일 수도 있었겠네요.

 

어쨌든,

무사 오픈하였습니다.

 

프로젝트가 돈도 없고, 늦게 가는 날도 많았지만,

 

팀원들이 모두 애쓴 덕분에,

오픈 상황은 다른 SI 프로젝트와는 좀 다른 프로젝트가 되었습니다. :)

 

 

2009년 6월 12일 금요일

사소하지만 중요한 것 하나

Task 에 반드시 계획일을 적을것!

 

-----------------------

ex>

'항목복사기능추가, 1d'

-----------------------

 

그리고, 다음날 아침 스텐드업 미팅때, Done 으로 옮기지 못했으면, 날짜를 갱신시킬것!

 

-----------------------

ex>

'항목복사기능추가, 1d 2d'

-----------------------

 

그래서 스프린트 백로그 아이템 하나를 불태우는데 어느정도의 'Man-day'가 소요되었는지 알수 있게 한다.

 

 

--------------------

백로그의 서브 Task에 유효작업일을 적지 않으면, 아침 스크럼 미팅때, '어제 이어서 xxx 작업중입니다'라는 이야기를 자주 듣게 되면서, 진행이 눈에 보이지 않게 된다.

 

물론, 스토리포인트가 큰 백로그는 최대한 분리시키는것은 기본이다.

2009년 6월 11일 목요일

의도 하진 않았지만, Hollywood Action?

우리팀은 팀룸이 없다. (고객이 안줘서)

그래서 아침마다 커다란 사무실 한쪽 벽면에 서서 스크럼미팅을 한다.

 

이정도 사무실에서 저 끝에 희미하게 보이는데서 말이다.

 

 

이렇게 서서!

 

어차피 방도 안 받았으니, 개의치 말고 우리 하고 싶은말 다 하면서 하자고 하면서 소리 죽이는거 없이 적지 않은 목소리로 스탠드업 미팅을 했다. 매일 아침 평균 15분 ~ 20분 가량.

 

사실 사무실은 상당히 조용한 편이다.

 

그래서 왁자대는 우리가 아침마다 초큼! 거슬릴수 있다. (방달라는 무언의 시위개념도 살짝 있었는데...)

 

...

...

 

그런데, 우리의 의도와는 달리

고객 측 윗분이 회의때 이랬다고 한다.

 

"너희들도 쟤내들 처럼 일하는 티 팍팍 좀 내면서 일해라"

 

...

 

아.. 저.. 저기요? 저희 그런 뜻은 아니었는데요? -,-;;;

 

어쨌든 의도하진 않았지만, 나쁘게 보이진 않은것 같다.

하지만, 이래저래 결국 팀 룸을 얻게 되는 일은 요원해 졌는데...

 

 

ps. 자리를 지저분하게 만들어서, '도저히 저꼴 못보겠다. 방잡아서 저것들 몰아 넣어버려!' 를 유도하는 작전은..... 말도 안되겠지? -,-;;;

2009년 6월 10일 수요일

책상위에는 노트북 이외에는 다 치울 것!

우리팀에게 상부의 지시가 내려왔다.

 

책상위에는 노트북 이외에는 다 치울 것!

 

그리 깔끔한 편은 아니었지만, 그래도 더럽다 생각되는 편도 아니었건만, 깔끔함을 좋아하는 그 분(?)으로부터의 지시인건지, 아니면 알아서 미리 준비하시는 분(이라고 쓰고 self-organized creeping 되어 있는)의 생각인지, 여튼 그렇다.

 

뭐, 책상이 깨끗해서 나쁠건 전혀 없다. 게흐름의 소치로 어지러우면 오히려 좋지 않은것도 사실이고.

 

또, 요즘 여의도가 A형 간염이 창궐이라고 하지 않던가? (으응? -,-??)

 

다만, 프로젝트의 대시보드가 미관상이유로 옮겨다녔던 걸 생각하니 살짝 뭣하기도 하다.

 

'우리가 초등학교 아이들도 아니고, 책상정리까지 지시 받아야 하는가?' 라는 유치한 반항기?랄까?

 

[경고 받은 우리 책상들, daytime 에 이정도면 그렇게 더러운건 아닌데...]

 

 

뒷자리에 앉은 개발자 한 분이 아인슈타인의 명언을 알려 주셨다.

 

 

어수선한 책상이 어수선한 정신을 반영한다면, 비어있는 책상은 무엇을 반영하는가?

 

-- 알버트 아인슈타인