<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8656464440534331732</id><updated>2012-02-17T12:47:32.883+09:00</updated><category term='Subversion'/><category term='아!!! 잠깐만!'/><category term='시스템 오픈'/><category term='스프린트 회고'/><category term='CI 서버의 효과'/><category term='StatSVN'/><category term='체력'/><category term='헐리웃액션 미팅'/><category term='Commit 통계'/><category term='CI Server'/><category term='프로젝트 상황'/><category term='SI'/><category term='허드슨'/><category term='항해일지'/><category term='지속적인 통합'/><category term='스토리포인트'/><category term='애자일'/><category term='Code inspection'/><category term='task'/><category term='Hudson'/><category term='소스 검토'/><category term='스크럼미팅'/><category term='commit comment'/><category term='Docs'/><category term='Do you want war?'/><title type='text'>애자일 인 여의도</title><subtitle type='html'>SI에서 시도되는 Agile 프로젝트 고군분투 경험기</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-417652899356358188</id><published>2009-07-20T17:14:00.000+09:00</published><updated>2011-01-29T22:28:20.808+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>프로젝트 진행상황</title><content type='html'>프로젝트는 현재 스프린트3을 향해 달려가고 있습니다.&lt;br /&gt;&lt;br /&gt;스프린트 #2의 회고중 눈여겨 볼만한 내용은&lt;br /&gt;&lt;br /&gt;- 스프린트 #1의 Review 기간을 지나치게 짧게 잡아서, 고객의 추가 요구사항이나 버그를 수정해야 하는 부분이 스프린트 #2에 고스란히 얹어졌다.&lt;br /&gt;&lt;br /&gt;- 스크럼 마스터 역할 대행, SW 아키텍트의 복귀로 인한 부담 증가&lt;br /&gt;&lt;br /&gt;등등&lt;br /&gt;&lt;br /&gt;프로젝트 종료 후에 설문결과 및 프로젝트 Lessons Learned 를 공유토록 하겠습니다.&lt;br /&gt;&lt;br /&gt;당분간은 새로운 글은 올라오지 않을 예정입니다. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-417652899356358188?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/417652899356358188/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/07/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A7%84%ED%96%89%EC%83%81%ED%99%A9.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/417652899356358188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/417652899356358188'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/07/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A7%84%ED%96%89%EC%83%81%ED%99%A9.html' title='프로젝트 진행상황'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-7467173316967899159</id><published>2009-06-18T10:33:00.000+09:00</published><updated>2011-01-29T22:28:20.691+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><category scheme='http://www.blogger.com/atom/ns#' term='프로젝트 상황'/><title type='text'>희노애락이 교차하는 가슴찡한 공지사항</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XdLIkL2tDR.png" style="width:453px;height:381px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"지금 꼬리가 타들어 가고 있는데, 얼굴에 뭍은 검댕이 닦고 있을 상황이삼?"&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;라는 개발자의 마음의 목소리와&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"우리 이러면 안되잖아요! 잘 해보기로 했잖아요!" &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;라는 SWA의 마음의 목소리가 들리는 것만 같습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-7467173316967899159?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/7467173316967899159/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%9D%AC%EB%85%B8%EC%95%A0%EB%9D%BD%EC%9D%B4-%EA%B5%90%EC%B0%A8%ED%95%98%EB%8A%94-%EA%B0%80%EC%8A%B4%EC%B0%A1%ED%95%9C-%EA%B3%B5%EC%A7%80%EC%82%AC%ED%95%AD.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7467173316967899159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7467173316967899159'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%9D%AC%EB%85%B8%EC%95%A0%EB%9D%BD%EC%9D%B4-%EA%B5%90%EC%B0%A8%ED%95%98%EB%8A%94-%EA%B0%80%EC%8A%B4%EC%B0%A1%ED%95%9C-%EA%B3%B5%EC%A7%80%EC%82%AC%ED%95%AD.html' title='희노애락이 교차하는 가슴찡한 공지사항'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-6656302521879824693</id><published>2009-06-16T16:37:00.000+09:00</published><updated>2011-01-29T22:28:20.565+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Commit 통계'/><category scheme='http://www.blogger.com/atom/ns#' term='StatSVN'/><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>Commit 통계 #1</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;StatSVN 으로 뽑아낸 통계 중에서...&lt;br /&gt;&lt;br /&gt;우선 시간대별 통계...&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/Xe2jSuWXdF.png" style="width:500px;height:312px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/Xe2jSuWXdF.png')" /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;[확인]&lt;/span&gt;&lt;br /&gt;이 그래프를 보고 SWA(소프트웨어 아키텍트) 가 생각해 봐야 하는 점은 Repository 를 개발자들이 중간 Save로 생각하고 있을 수도 있으니 확인해 봐야 한다는 점이다. (업무가 저렇게 시간에 맞춰서 완성될리가 없지 않은가?) &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[보완]&lt;/span&gt;&lt;br /&gt;팀 내에 배포한 Commit 가이드가 있는지 확인 후 정하도록 한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;이번엔 주별 통계...&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XVhDs3HPM6.png" style="width:500px;height:313px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XVhDs3HPM6.png')" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[확인]&lt;/span&gt;&lt;br /&gt;월요일에 (혹은 금요일에) commit 횟수가 낮은 이유는?&lt;br /&gt;&amp;nbsp;- 매주마다 Task 가 리셋되는 거라면 무관&lt;br /&gt;&amp;nbsp;- 하지만 그렇지 않다면 적응시간이 걸리는 것으로 판단.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[보완]&lt;/span&gt;&lt;br /&gt;&amp;nbsp;- 어떻게 고르게 만들 것인가? &lt;br /&gt;&amp;nbsp;- 혹은 고르게 만들수 있도록 장치를 마련하는게 바람직한가?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-6656302521879824693?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/6656302521879824693/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/commit-%ED%86%B5%EA%B3%84-1.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6656302521879824693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6656302521879824693'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/commit-%ED%86%B5%EA%B3%84-1.html' title='Commit 통계 #1'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-4217530690946280343</id><published>2009-06-16T11:01:00.000+09:00</published><updated>2011-01-29T22:28:20.171+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='시스템 오픈'/><category scheme='http://www.blogger.com/atom/ns#' term='CI 서버의 효과'/><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>프로젝트 오픈 전 주말은 집에서 쉬기</title><content type='html'>&lt;p&gt;어제 월요일에는 프로젝트 1차 오픈을 하였습니다. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;아! 웹 프로젝트로 Globaly open 프로젝트 입니다. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;결론부터 이야기하자면, 토,일 주말은 집에서 쉬었습니다.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;SI 를 하면서 쉽게 볼수 있는 상황은 아니지 않을까 생각합니다. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;보통 오픈 전 주말은 이런저런일들로 거의 대기상태와 막판까지 문제를 해결해나가면서 회사에서 보내기 십상입니다. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;이게 가능했던 이유 몇 가지 있지만, 이를 가능케 한 가장 뚜렷한 이유 하나는,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;CI 서버를 이용해서 운영환경과 동일한 통합테스트 환경을 운영하였기 때문입니다.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;그리고 그곳에서 테스트를 개발과 함께 지속적으로 진행하였습니다. 연계 시스템 연동도 현재까지 개발된 상황내에서 언제든 테스트를 할 수 있었습니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;의도한건 아니었지만, 결론적으로는 따로 통합 테스트 기간조차 갖지 않았음에도, 별 걱정이 없었습니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;프로젝트 막판의 통합 작업에 소요될 시간이 개발기간 전체에 고루 퍼져있었기 때문에, 거의 제로에 가까운 노력으로 운영환경으로 옮겨졌으며, 환경설정 몇 가지를 제외하고는 운영환경내에서는 별다른 테스트가 필요없었습니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;들으면 놀라실 수도 있는데, 운영환경 세팅이 저번주 금요일에 되었고, 어제 오픈하였습니다. (주말은 집에서 쉬었다고 얘기 했던가요? :)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;네. 실 운영환경 설치(WAS설치, 환경설정등)와 세팅 테스트가 금요일 하루에 이루어졌습니다.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;그리고는 그와 동시에 실 운영환경과 CI 서버를 연동해서 (물론 그쪽은 자동 deploy는 아닙니다만) 고객과 함께 테스트를 진행하였습니다. 문제다 싶은건 즉각 수정했는데, 대부분은 디자인관련 수정이었더랬습니다. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;(어찌보면 너무 극단적이랄 수 있겠습니다만) 시스템 오픈전 날에야 운영환경을 세팅하게 되었음에도 팀원들은 다들 별 부담을 갖지 않았습니다. (그래도 금요일은 11시 넘어서 퇴근했네요)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;물론, 실제 오픈하고 보니 버그가 없는 Bug Free system 은 아니란걸 알게 되었지만, 이정도면 소기의 목적은 달성하였다고 봅니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;사실 고객은 매우 무리한 일정을 요구했습니다. (제가 PM 이고, 거절할 수 있었다면 정말 프로젝트 자체를 거절하고 싶은 수준의 일정입니다.) 덕분에, 어쩔수 없이 거의 Nine to Nine 으로 일하는 날도 많았습니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;그리고,&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;넉 달짜리 프로젝트인데 거의 매달 오픈되는 시스템이 있습니다. &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;어찌보면, 이러 상황에서는 지속적인 통합 + 우선순위에 따른 단계적 시스템 오픈이 아니면, 해결책이 없는 것일 수도 있었겠네요.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;어쨌든,&lt;/p&gt;&lt;p&gt;무사 오픈하였습니다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;프로젝트가 돈도 없고, 늦게 가는 날도 많았지만, &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;팀원들이 모두 애쓴 덕분에,&lt;/p&gt;&lt;p&gt;오픈 상황은 다른 SI 프로젝트와는 좀 다른 프로젝트가 되었습니다. :)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-4217530690946280343?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/4217530690946280343/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%98%A4%ED%94%88-%EC%A0%84-%EC%A3%BC%EB%A7%90%EC%9D%80-%EC%A7%91%EC%97%90%EC%84%9C-%EC%89%AC%EA%B8%B0.html#comment-form' title='5개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/4217530690946280343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/4217530690946280343'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%98%A4%ED%94%88-%EC%A0%84-%EC%A3%BC%EB%A7%90%EC%9D%80-%EC%A7%91%EC%97%90%EC%84%9C-%EC%89%AC%EA%B8%B0.html' title='프로젝트 오픈 전 주말은 집에서 쉬기'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-138253529912728916</id><published>2009-06-12T12:26:00.000+09:00</published><updated>2011-01-29T22:28:20.075+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='스토리포인트'/><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>사소하지만 중요한 것 하나</title><content type='html'>&lt;P&gt;Task 에 반드시 계획일을 적을것!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;ex&amp;gt;&lt;/P&gt;&lt;P&gt;'항목복사기능추가, 1d'&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;그리고, 다음날 아침 스텐드업 미팅때, Done 으로 옮기지 못했으면, 날짜를 갱신시킬것! &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;ex&amp;gt;&lt;/P&gt;&lt;P&gt;'항목복사기능추가,&lt;STRIKE&gt; 1d &lt;/STRIKE&gt; 2d'&lt;/P&gt;&lt;P&gt;-----------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;그래서 스프린트 백로그 아이템 하나를 불태우는데 어느정도의 'Man-day'가 소요되었는지 알수 있게 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;백로그의 서브 Task에 유효작업일을 적지 않으면, 아침 스크럼 미팅때, &lt;STRONG&gt;'어제 이어서 xxx 작업중입니다'&lt;/STRONG&gt;라는 이야기를 자주 듣게 되면서, 진행이 눈에 보이지 않게 된다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;물론, 스토리포인트가 큰 백로그는 최대한 분리시키는것은 기본이다.&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-138253529912728916?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/138253529912728916/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%82%AC%EC%86%8C%ED%95%98%EC%A7%80%EB%A7%8C-%EC%A4%91%EC%9A%94%ED%95%9C-%EA%B2%83-%ED%95%98%EB%82%98.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/138253529912728916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/138253529912728916'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%82%AC%EC%86%8C%ED%95%98%EC%A7%80%EB%A7%8C-%EC%A4%91%EC%9A%94%ED%95%9C-%EA%B2%83-%ED%95%98%EB%82%98.html' title='사소하지만 중요한 것 하나'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-7788203733488270031</id><published>2009-06-11T20:35:00.000+09:00</published><updated>2011-01-29T22:28:19.979+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='헐리웃액션 미팅'/><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><category scheme='http://www.blogger.com/atom/ns#' term='스크럼미팅'/><title type='text'>의도 하진 않았지만, Hollywood Action?</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;우리팀은 팀룸이 없다. (고객이 안줘서)&lt;/P&gt;&lt;P&gt;그래서 아침마다 커다란 사무실 한쪽 벽면에 서서 스크럼미팅을 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XJzezLnaQm.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XJzezLnaQm.jpg')" /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;이정도 사무실에서 저 끝에 희미하게 보이는데서 말이다. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XXlbmGCZZS.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XXlbmGCZZS.jpg')" /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;이렇게 서서!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;어차피 방도 안 받았으니, 개의치 말고 우리 하고 싶은말 다 하면서 하자고 하면서 소리 죽이는거 없이 적지 않은 목소리로 스탠드업 미팅을 했다. 매일 아침 평균 15분 ~ 20분 가량.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;사실 사무실은 상당히 조용한 편이다. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;그래서 왁자대는 우리가 아침마다 초큼! 거슬릴수 있다. (방달라는 무언의 시위개념도 살짝 있었는데...)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;그런데, 우리의 의도와는 달리&lt;/P&gt;&lt;P&gt;고객 측 윗분이 회의때 이랬다고 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;"너희들도 쟤내들 처럼 일하는 티 팍팍 좀 내면서 일해라"&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;아.. 저.. 저기요? 저희 그런 뜻은 아니었는데요? -,-;;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;어쨌든 의도하진 않았지만, 나쁘게 보이진 않은것 같다.&lt;/P&gt;&lt;P&gt;하지만, 이래저래 결국 팀 룸을 얻게 되는 일은 요원해 졌는데...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ps. 자리를 지저분하게 만들어서, &lt;STRONG&gt;'도저히 저꼴 못보겠다. 방잡아서 저것들 몰아 넣어버려!'&lt;/STRONG&gt; 를 유도하는 작전은..... 말도 안되겠지? -,-;;;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-7788203733488270031?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/7788203733488270031/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%9D%98%EB%8F%84-%ED%95%98%EC%A7%84-%EC%95%8A%EC%95%98%EC%A7%80%EB%A7%8C-hollywood-action.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7788203733488270031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7788203733488270031'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%9D%98%EB%8F%84-%ED%95%98%EC%A7%84-%EC%95%8A%EC%95%98%EC%A7%80%EB%A7%8C-hollywood-action.html' title='의도 하진 않았지만, Hollywood Action?'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-1612991202586612453</id><published>2009-06-10T19:43:00.000+09:00</published><updated>2011-01-29T22:28:19.836+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>책상위에는 노트북 이외에는 다 치울 것!</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;우리팀에게 상부의 지시가 내려왔다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;책상위에는 노트북 이외에는 다 치울 것!&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;그리 깔끔한 편은 아니었지만, 그래도 더럽다 생각되는 편도 아니었건만, 깔끔함을 좋아하는 그 분(?)으로부터의 지시인건지, 아니면 알아서 미리 준비하시는 분(이라고 쓰고 self-organized creeping 되어 있는)의 생각인지, 여튼 그렇다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;뭐, 책상이 깨끗해서 나쁠건 전혀 없다. 게흐름의 소치로 어지러우면 오히려 좋지 않은것도 사실이고.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;또, 요즘 여의도가 A형 간염이 창궐이라고 하지 않던가? (으응? -,-??)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;다만, 프로젝트의 대시보드가 미관상이유로 옮겨다녔던 걸 생각하니 살짝 뭣하기도 하다. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;'우리가 초등학교 아이들도 아니고, 책상정리까지 지시 받아야 하는가?' 라는 유치한 반항기?랄까?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/Xb0XcWB8oh.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/Xb0XcWB8oh.jpg')" /&gt;&lt;/div&gt;[경고 받은 우리 책상들, daytime 에 이정도면 그렇게 더러운건 아닌데...]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;뒷자리에 앉은 개발자 한 분이 아인슈타인의 명언을 알려 주셨다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;어수선한 책상이 어수선한 정신을 반영한다면, 비어있는 책상은 무엇을 반영하는가?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-- 알버트 아인슈타인&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-1612991202586612453?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/1612991202586612453/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%B1%85%EC%83%81%EC%9C%84%EC%97%90%EB%8A%94-%EB%85%B8%ED%8A%B8%EB%B6%81-%EC%9D%B4%EC%99%B8%EC%97%90%EB%8A%94-%EB%8B%A4-%EC%B9%98%EC%9A%B8-%EA%B2%83.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1612991202586612453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1612991202586612453'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%B1%85%EC%83%81%EC%9C%84%EC%97%90%EB%8A%94-%EB%85%B8%ED%8A%B8%EB%B6%81-%EC%9D%B4%EC%99%B8%EC%97%90%EB%8A%94-%EB%8B%A4-%EC%B9%98%EC%9A%B8-%EA%B2%83.html' title='책상위에는 노트북 이외에는 다 치울 것!'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-2467040180826912831</id><published>2009-06-10T15:26:00.000+09:00</published><updated>2011-01-29T22:28:19.757+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='허드슨'/><category scheme='http://www.blogger.com/atom/ns#' term='Hudson'/><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><category scheme='http://www.blogger.com/atom/ns#' term='CI Server'/><category scheme='http://www.blogger.com/atom/ns#' term='지속적인 통합'/><title type='text'>프로젝트의 지속적인 통합서버, 허드슨 (CI Server Hudson) #2</title><content type='html'>&lt;P&gt;&lt;STRONG&gt;현재 프로젝트내에서 사용하고 있는 통합 서버에 대한 두 번째 이야기 입니다.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;이번엔 현재 유지하고 있는 JOB 과 CI Game, 그리고 StatSvn Report 에 대해 이야기 해볼까 합니다.&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XV3WSPD5KL.png" width="902" height="249" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;JOB을 세 개로 나누어서 운영중입니다. 첫 번째는 Instant Build, 두 번째는 데일리 레포트용, 세 번째는 통합 테스트가 진행되는 서버로의 Deploy용 입니다. 최근에는 개발과 테스트가 거의 동시에 실시간으로 이루어지게 된 관계로, JOB의 수행 순서를 변경하였습니다.&lt;br /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;기존&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;레포트 빌드 및 JUnit Test 수행 =&amp;gt; 서버로 배포&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;현재&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;통합테스트 서버로 배포 (1분마다 Poll)&lt;/P&gt;&lt;P&gt;Instant Report Build 및 JUnit Test 수행 (20분 마다 poll)&lt;/P&gt;&lt;P&gt;Daily Report Build (새벽에 수행)&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XW88OzS9lQ.png" width="344" height="219" /&gt; &lt;br /&gt;[그림은 20분 마다 Polling 하는 화면]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XTlQBhzGBP.png" width="491" height="129" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;28일이 지나거나 500개 이상의 Build 는 지우는 걸로 설정해 놓았습니다만, 사실 Subversion 이 소스를 관리해 주고 있기 때문에, 특별히 보관해야 할 Artifact 가 없으면, 굳이 이렇게 잡을 필요가 없습니다.&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XJiU0E3Q5D.png" width="626" height="95" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;&lt;P&gt;JUnit Report 취합항목입니다. 치환식( *.xml )로 할 수 도 있는데, Full Name으로 잡았습니다.&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XR6sqXHF2w.png" width="628" height="310" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;&lt;P&gt;테스트 커버리지 목표입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;여담입니다만, 어제 오후 4시에서 6시 사이에는 Test Hour 로 잡고, 실패하는 테스트와 모자란 테스트 항목을 작성하는 작업을 하였습니다. 오늘, 내일도 마찬가지로 수행해서 목표치를 달성해야 겠습니다.&lt;/P&gt;&lt;P&gt;(개발자에게 살짝 압박을 주었는데, 영 미안하더라구요)&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;개발자들의 흥미를 돋구기 위해서 CI 게임을 운영중에 있습니다... (만, 그렇게 많이 흥미로 불타오르진 않더군요. 그래도 마음 한켠에선 점수가 신경을 건드리는 것 같긴 합니다)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XBczTRVUza.png" width="450" height="216" /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;이번주 CI 게임 스코어 입니다. 만일 특정 개발자가 스코어 게임에 참여되어 있지 않으면, 허드슨 개발자 메뉴에서 개발자를 선택한 다음 configure 항목에서 결정해 줍니다.&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XS1PT6lmPr.png" width="409" height="195" /&gt;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XdJyY11RBo.png" width="284" height="117" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;강제로 점수를 리셋시키거나 게임에 참여여부를 결정할 때 사용합니다.&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XeLqL1Eon3.png" width="530" height="445" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;데일리 보고서에서는 StatSVN 보고서를 따로 만듭니다.&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XC4soIxZ4I.png" width="559" height="697" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;프로젝트의 LoC (Line of Code) 입니다. 예전에는 크게 의미를 두던 시절도 있었으나, 요즘에는 LoC의 의미가 크진 않습니다.&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XLSIxPW5es.png" width="729" height="508" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;&lt;P&gt;개발자들의 LoC Portion 과 Tag Cloud 입니다.&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XE0lAMgKfG.png" width="581" height="340" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;&lt;P&gt;commit 할때마다 평균적으로 변경되는 라인수가 많으면 문제 발생시 특정 시점 전/후로 변경이 쉽지 않아집니다.&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XBdzJJGEEG.png" width="656" height="661" /&gt;&lt;/P&gt;&lt;P&gt;초반에 소스를 죽~ 받아다가 필요없는 파일들을 지우는 작업을 했더니, 라인이 쭉! 줄은 시점이 있습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XJeV9sQHLI.png" width="651" height="217" /&gt;&lt;/P&gt;&lt;DIV style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px"&gt;&lt;P&gt;파일의 라인수를 체크하는 부분입니다. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;781 라인이 넘는 코드가 있는 클래스는 리팩터링 대상이 되는 클래스 입니다. 리스크가 커지기 전에 아키텍트가 미리미리 점검해 주어야 하지 않을까 생각됩니다.&lt;/P&gt;&lt;P&gt;아! 이러고 있을 때가 아니네요. 옆에서 눈치를 줍니다. -_-;;; Go back to work... 해야 겠습니다.&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&lt;br /&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-2467040180826912831?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/2467040180826912831/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%9D%98-%EC%A7%80%EC%86%8D%EC%A0%81%EC%9D%B8-%ED%86%B5%ED%95%A9%EC%84%9C%EB%B2%84-%ED%97%88%EB%93%9C%EC%8A%A8-ci-server-hudson-2.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2467040180826912831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2467040180826912831'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%9D%98-%EC%A7%80%EC%86%8D%EC%A0%81%EC%9D%B8-%ED%86%B5%ED%95%A9%EC%84%9C%EB%B2%84-%ED%97%88%EB%93%9C%EC%8A%A8-ci-server-hudson-2.html' title='프로젝트의 지속적인 통합서버, 허드슨 (CI Server Hudson) #2'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-4351162110215038850</id><published>2009-06-08T10:16:00.000+09:00</published><updated>2011-01-29T22:28:19.673+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>프로젝트 진행 이력</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XVDC1fVFOv.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XVDC1fVFOv.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;스프린트 #1의 중반 지점의 대시보드 화면입니다. 프로젝트 초기라 처음에 좀 더디었었습니다만, 2주가 지나니 많이 ToDo 보다 Doing 과 Done 이 더 많아졌습니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XMWPJ01hms.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XMWPJ01hms.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;분석설계자와 개발자의 P.P 시간 입니다. 화면설명과 QUERY 작성부분을 함께 합니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XbxgDeGExC.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XbxgDeGExC.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;스프린트 마감 회고 시간입니다. 아쉽게도 분석설계자 한 분과 디자이너 한 분은 참여하지 못하셨습니다.&amp;nbsp; 그래서 총 8명으로 진행되었습니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XfCYxaFoPD.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XfCYxaFoPD.jpg')" /&gt;&lt;/div&gt;번다운 차트입니다. 점을 잘못 찍어서 하루가 밀린상태입니다. (여유가 하루 더 있는 상황이라고 보시면 되겠습니다.) 잘 보시면 사선이 두 개가 있는데, 약간 위쪽으로 끝나는 사선이 스프린트 #1의 팀 목표치입니다. 그래프 기울기가 두 개인 이유는, 보정치?는 아니고, 팀 순수 개발지표와 고객의 선행작업지원 Task및 연계작업을 분리해서 표시하였습니다. )&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XemaS70as0.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XemaS70as0.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;한 참 불타오르던 스프린트 #1 막바지 시점입니다.&lt;br /&gt;&lt;br /&gt;스프린트 #1 이 끝난 다음에는 Done에 해당하는 부분을 다 정리하고, Product Backlog 에서 #2에 해당하는 항목을 꺼내 ToDo 에 붙였습니다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;그래서, &lt;span style="font-weight: bold;"&gt;현재 프로젝트는 Springt #2 의 두 번째 주를 진행중입니다.&lt;/span&gt; (Sprint #1은 3주를 기간으로 Sprint #2 부터는 4주를 기간으로 운영됩니다.)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-4351162110215038850?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/4351162110215038850/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A7%84%ED%96%89-%EC%9D%B4%EB%A0%A5.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/4351162110215038850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/4351162110215038850'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%A7%84%ED%96%89-%EC%9D%B4%EB%A0%A5.html' title='프로젝트 진행 이력'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-3195997867522653787</id><published>2009-06-05T01:21:00.000+09:00</published><updated>2011-01-29T22:28:19.530+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SI'/><category scheme='http://www.blogger.com/atom/ns#' term='체력'/><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>역시 SI 는 체력이 중요!</title><content type='html'>&lt;P&gt;저번 주말부터 골골대던게 이번 주 말이 다 되서야 회복이 되네요.&lt;/P&gt;&lt;P&gt;역시 SI 는 체력이 받쳐주어야 싸우던가 말던가라도 하는 것 같네요.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(역시 나이가... 쿨럭..쿨럭..)&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-3195997867522653787?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/3195997867522653787/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%97%AD%EC%8B%9C-si-%EB%8A%94-%EC%B2%B4%EB%A0%A5%EC%9D%B4-%EC%A4%91%EC%9A%94.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/3195997867522653787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/3195997867522653787'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%97%AD%EC%8B%9C-si-%EB%8A%94-%EC%B2%B4%EB%A0%A5%EC%9D%B4-%EC%A4%91%EC%9A%94.html' title='역시 SI 는 체력이 중요!'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-1816196181799159848</id><published>2009-06-05T01:00:00.000+09:00</published><updated>2011-01-29T22:28:19.420+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><category scheme='http://www.blogger.com/atom/ns#' term='스프린트 회고'/><category scheme='http://www.blogger.com/atom/ns#' term='애자일'/><title type='text'>스프린트 회고내용</title><content type='html'>&lt;P&gt;회사에서는 시간이 없고, 집에 오면 힘들어서 놀고, 이러다 안되겠다 싶어 기운을 내 봅니다.&lt;/P&gt;&lt;P&gt;이번 주 월요일날, 드디어 첫 번째 스프린트 를 마치고 스프린트 회고를 하였습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;진행&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;1. 회고의 목표 안내&lt;br /&gt;2. 캘린더를 이용한 지난 스프린트(=이터레이션) 회상&lt;br /&gt;3. 개인별 소감발표&lt;br /&gt;4. 잘한 점, 못한 점 적어보기 (7분)&lt;/P&gt;&lt;P&gt;5. 문제점 찾아 보기&lt;br /&gt;6. 방안 찾기&lt;br /&gt;7. 점 투표&lt;br /&gt;8. 마무리&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-- &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1시간정도를 예상으로 진행하였는데, 실제로는 2시간 반 가까이 소요되었네요.&lt;/P&gt;&lt;P&gt;대학MT 온것 같다며 처음엔 다소 어색해 했는데,&lt;/P&gt;&lt;P&gt;회고를 마칠때 즈음엔 다들 유쾌한 분위기로 끝이 났습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;무엇보다 좋았던 점은, 서로가 서로에 대해 좀 더 이해할 수 있었고,&lt;/P&gt;&lt;P&gt;감정적으로 다 함께 리셋될 수 있었던 것 같습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;개선이 필요하다고 나왔던 것들을 적어보면&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- 업무를 잘 모르겠다.&lt;/P&gt;&lt;P&gt;- 화면 항목에 대한 자세한 설명을 해주면 좋겠다.&lt;/P&gt;&lt;P&gt;- 현업이 사용하는 용어가 통일되어 있지 않다.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;- 야근이 많다&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;- Agile 기법 도입으로 개발 진척이 다소 둔화된 경향이 있다&lt;/P&gt;&lt;P&gt;- 신규 요구사항 기능들이 계속 추가 되는 것 같다.&lt;/P&gt;&lt;P&gt;- 인스펙션을 좀 더 빨리 했으면 좋다.&lt;/P&gt;&lt;P&gt;- 안되는 걸 오래 잡고 있는 경향이 있다. (이건 팀원 전체가 다들 조금씩 보임)&lt;/P&gt;&lt;P&gt;- 정책적인 걸 결정하는데 시간이 많이 소요 되는 것 같다.&lt;/P&gt;&lt;P&gt;- 옆 사람 한테 이런 저런 부탁하기가 어렵다.&lt;/P&gt;&lt;P&gt;- 좀 더 TDD와 P.P를 잘 할 수 있는 분위기가 조성되었으면 좋겠다.&lt;/P&gt;&lt;P&gt;- 공통 모듈이 복잡해 졌다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;등등 이었습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;서로 마음을 열고 각각의 문제를 극복하기 위해 이런 저런 개선방법을 찾으려 노력하다 보니 시간이 훌쩍 가버리더군요.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;이로 인해 스프린트 2 부터는 &lt;STRONG&gt;좀 더 발전된 팀&lt;/STRONG&gt;이 될 수 있을것 같습니다. (뭐, 적어도 느낌은 말이죠. :)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;아! 그리고 팀원들이 다들 Agile 은 처음이라, 애자일 자체에 대한 궁금한 점도 많아서, 질의 응답시간도 가졌더랬습니다. 역시 SI 임에도 좋게 작용한 부분, 한계가 보이는 부분에 대해서도 함께 이야기를 하였구요.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;공통적으로 한 이야기는&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;TDD나 P.P가 좋긴 좋더라. &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;그리고 Agile 을 도입했더니 커뮤니케이션 증가와 감정의 소통 원활! &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;결국 팀워크 UP !! 으로 작용하는 것 같다&lt;/STRONG&gt; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;였습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-1816196181799159848?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/1816196181799159848/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%8A%A4%ED%94%84%EB%A6%B0%ED%8A%B8-%ED%9A%8C%EA%B3%A0%EB%82%B4%EC%9A%A9.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1816196181799159848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1816196181799159848'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%EC%8A%A4%ED%94%84%EB%A6%B0%ED%8A%B8-%ED%9A%8C%EA%B3%A0%EB%82%B4%EC%9A%A9.html' title='스프린트 회고내용'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-2878534610763940645</id><published>2009-06-01T14:24:00.000+09:00</published><updated>2011-01-29T22:28:19.179+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>톰과 제리 #2 - 평화무드</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;저번주 금요일날,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"지금 저 저랑 전쟁하시자는 거죠?"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;라는 말과 함께, 다들 웃고는 헤어졌습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XULjG2UDa5.png" style="width:500px;height:250px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XULjG2UDa5.png')" /&gt;&lt;/div&gt;&lt;br /&gt;프로젝트는 다시금 평화가 찾아왔습니다. :)&lt;br /&gt;&lt;br /&gt;뭐, 사실 덮혀진 채로 남아있는 청소꺼리는 아직 하얀 눈 밑에 남아 있지만 말입니다. (???)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-2878534610763940645?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/2878534610763940645/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%86%B0%EA%B3%BC-%EC%A0%9C%EB%A6%AC-2-%ED%8F%89%ED%99%94%EB%AC%B4%EB%93%9C.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2878534610763940645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2878534610763940645'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/06/%ED%86%B0%EA%B3%BC-%EC%A0%9C%EB%A6%AC-2-%ED%8F%89%ED%99%94%EB%AC%B4%EB%93%9C.html' title='톰과 제리 #2 - 평화무드'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-8938730183594401099</id><published>2009-05-29T19:49:00.000+09:00</published><updated>2011-01-29T22:28:18.922+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commit comment'/><category scheme='http://www.blogger.com/atom/ns#' term='Subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><category scheme='http://www.blogger.com/atom/ns#' term='Do you want war?'/><title type='text'>톰과 제리 #1</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;개발자들이 자꾸 Commit Comment 를 달지 않길래&lt;br /&gt;(그러고 싶진 않았지만) &lt;br /&gt;&lt;br /&gt;강제로 코멘트를 달게 하기 위해 commit hook 를 만들었다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XIOCdwnSoV.png" style="width:391px;height:265px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;그랬더니만..&lt;br /&gt;&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XTus7zk10P.png" style="width:500px;height:215px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XTus7zk10P.png')" /&gt;&lt;/div&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;이건 지금 국경선에서 대포 쏘고 있는거 맞는거지?&amp;nbsp; -_-;;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-8938730183594401099?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/8938730183594401099/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%ED%86%B0%EA%B3%BC-%EC%A0%9C%EB%A6%AC-1.html#comment-form' title='5개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8938730183594401099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8938730183594401099'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%ED%86%B0%EA%B3%BC-%EC%A0%9C%EB%A6%AC-1.html' title='톰과 제리 #1'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-2031040605465726913</id><published>2009-05-28T23:20:00.000+09:00</published><updated>2011-01-29T22:28:18.841+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='소스 검토'/><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><category scheme='http://www.blogger.com/atom/ns#' term='Code inspection'/><title type='text'>오늘은 코드 인스펙션을 했습니다.</title><content type='html'>오늘 오후에는 개발자와 SW아키텍트와 함께 코드 검토(Inspection)을 했습니다.&lt;br /&gt;&lt;br /&gt;늘 그럿듯이 2시 10분에 하기로 한 인스펙션은 다양한 이유로&lt;br /&gt;거진 3시가 다 되어서 시작되었습니다.&lt;br /&gt;&lt;br /&gt;(시작전에 담배 한대 피고 오겠다는 개발자의 요청 으로 2:10 -&amp;gt; 2:20분으로)&lt;br /&gt;(인스펙션 시작하자 마자 최종 개발서버의 화면에 개발데이터가 뜨지 않음. DB문제?)&lt;br /&gt;(잠깐 휴식. 알고보니 x-Internet 제품의 서버 라이센스 문제임이 발견됨. DB문제는 아니었음)&lt;br /&gt;(다시 모였으나 개발자 한 명이 안옴. 알고보니 화장실에...-_-)&lt;br /&gt;(그리고 SW아키텍도 회의실 자리에 없음. 알고보니 라이센스를 해결하려고 자리에서 노력중임)&lt;br /&gt;(다 불러옴)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;-- 잠깐 딴소리 --&lt;/span&gt;&lt;br /&gt;시간 관리가 쉽지 않네요. 여차하면 바로 딜레이입니다.&lt;br /&gt;사실 아침 스크럼 미팅때도 9시 30분 정각에 보드 앞에 서야 하는데, 다들 이래저래 조금씩 늦네요.&lt;br /&gt;그래서 9시30분에 보드앞에 서있지 않은 사람은 이유불문 간식기금 1000원을 적립하기로 하였습니다. :)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;----------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;다시 본론으로..&lt;br /&gt;&lt;br /&gt;서버쪽 모듈은 우선 정적분석툴을 주로 이용하는 것으로 정했습니다.&lt;br /&gt;이번 인스펙션의 주 목적은 화면(JSP, 자바스크립트)쪽을 보는 것이 주 목적입니다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;몇 가지 생각나는 것을 추려보면 이렇습니다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- 프로젝트 초반에 작성하고 넘어가 소스들은 표준이 미적용된 채 남아있는 부분이 있었습니다.&lt;br /&gt;&lt;br /&gt;- Cpoy &amp;amp; Paste 로 만든 부분은 확실히 문제의 소지가 큽니다. (아쉽게도 UI 는 소스정적분석툴에서 커버가 되질 않네요)&lt;br /&gt;&lt;br /&gt;- 다른 개발자의 소스를  (낼름) 참고해서 작성한 개발자의 소스는 원 개발자의 문제를 그대로 계승하더군요.&lt;br /&gt;&lt;br /&gt;- 잠시 짝 프로그래밍에 다들 소흘 했었는데, 역시나 소스 검토를 하니 함께 작업했더라면 여기저기서 고통을 덜을 수 있었을거라는 걸 다들 어느정도 깨닫게 되었습니다.&lt;br /&gt;(앞으론 좀더 짝 프로그래밍이 잘 될 것 같습니다.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PS. 다음엔 사진을 좀 찍어야 겠네요. 글만 쓰고 보니 조금 아쉽네요. :)&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-2031040605465726913?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/2031040605465726913/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%98%A4%EB%8A%98%EC%9D%80-%EC%BD%94%EB%93%9C-%EC%9D%B8%EC%8A%A4%ED%8E%99%EC%85%98%EC%9D%84-%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2031040605465726913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2031040605465726913'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%98%A4%EB%8A%98%EC%9D%80-%EC%BD%94%EB%93%9C-%EC%9D%B8%EC%8A%A4%ED%8E%99%EC%85%98%EC%9D%84-%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4.html' title='오늘은 코드 인스펙션을 했습니다.'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-8658974551929882976</id><published>2009-05-28T12:10:00.000+09:00</published><updated>2011-01-29T22:28:18.690+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>짝 프로그래밍 전략(Pair Programming Strategy) #1</title><content type='html'>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=4&gt;Code Breakthrough&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;수행시점 : 이미 코드에 대한 개개인의 소유감이 형성되어, 타인과의 P.P 가 부담될때.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- 다름 사람이 작성한 소스에 대한 테스트 케이스를 Pair 로 작성하게 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- 다른 사람의 작성한 테스트 케이스를 통과시킨다는 Rule 아래에서, 다른 사람의 소스를 Pair Programming 으로 리팩터링하게 한다. 단, 이때 Pair 는 둘 다 해당 모듈 소유자(Owner)가 아니도록 해본다. &amp;lt;- 모듈 소유자는 추후에 자신의 소스가 어떻게 변했는지 확인한 다음, 리팩터리을 한 Pair 에게 Feedback 을 준다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=4&gt;Code Quilting&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;수행시점 : 프로젝트 진행 초기. 가급적이면 팀 스피드를 산정하는 Sprint 1 시기&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- 소스의 Ownership을 팀 전체가 나누어 가질 수 있도록 분위기를 형성 한다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;예를 들면&lt;/P&gt;&lt;P&gt;&amp;nbsp;. UI 초안은 A와 B 개발자의 P.P.&lt;/P&gt;&lt;P&gt;&amp;nbsp;. Biz 모델은 B와 C 개발자의 P.P&lt;/P&gt;&lt;P&gt;&amp;nbsp;. 쿼리는 D와 A의 PP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;발생 문제점&lt;/P&gt;&lt;P&gt;&amp;nbsp;- 다른 사람이 작성한 부분에 연결해서 개발해야 한다는 상황에 대한 심리적 거부감&lt;/P&gt;&lt;P&gt;&amp;nbsp;- 소스에 대한 자생적인 소유욕과 공산주의 이념의 대립&lt;/P&gt;&lt;P&gt;&amp;nbsp;- 일정 부분의 혼란감과 그로 인해 집중력이 더 필요해 지고 결과적으로 P.P시의 피로감이 상승함&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;장점&lt;/P&gt;&lt;P&gt;&amp;nbsp;-프로젝트 내의 어느 코드가 되었든 코드를 고치는데에 대해 부담감이나 거부감이 적음&lt;/P&gt;&lt;P&gt;&amp;nbsp;- 타인이 소스를 보게 된다는 점을 의식해서 작성시 좀더 주의를 기울임 (땜빵식 코드가 줄어듬)&lt;/P&gt;&lt;P&gt;&amp;nbsp;- 힘드니까 P.P.를 좀 더 선호하는 분위기가 형성됨&lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-8658974551929882976?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/8658974551929882976/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%A7%9D-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%A0%84%EB%9E%B5pair-programming-strategy-1.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8658974551929882976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8658974551929882976'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%A7%9D-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EC%A0%84%EB%9E%B5pair-programming-strategy-1.html' title='짝 프로그래밍 전략(Pair Programming Strategy) #1'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-1906924934001682571</id><published>2009-05-27T10:41:00.000+09:00</published><updated>2011-01-29T22:28:18.602+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='허드슨'/><category scheme='http://www.blogger.com/atom/ns#' term='Hudson'/><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><category scheme='http://www.blogger.com/atom/ns#' term='CI Server'/><title type='text'>프로젝트의 지속적인 통합서버, 허드슨 (CI Server Hudson) #1</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;P&gt;현재 프로젝트 내에서 지속적인 통합서버, 통치 CI 서버를 운영하고 있습니다. &lt;br /&gt;&lt;br /&gt;사용하는 제품(Product)은 허드슨(Hudson) 입니다.&lt;/P&gt;&lt;P&gt;허드슨 서버는 구 펜티엄 2.8 XP 데스크탑 PC 입니다.&lt;/P&gt;&lt;P&gt;개발용 파일서버로도 이용하고 있습니다만 큰 무리없이 잘 사용하고 있습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XJABh4TkdP.png" style="width:500px;height:224px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XJABh4TkdP.png')" /&gt;&lt;/div&gt;&lt;br /&gt;메인 화면입니다.&lt;/P&gt;&lt;P&gt;빌드용 JOB과 Deploy 용 JOB을 따로 나누어 놓았습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock left" style="float: left; margin-right: 10px;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XVu6KOEOlT.png" style="width:188px;height:434px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;기본 Build JOB 입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cobertura Coverage Report와 CPD (Copy &amp;amp; Paste Detector), 그리고 Findbugs, PMD 메뉴가 보입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;JDK 1.4 프로젝트라 Findbugs 는 1.2 대를 사용하고 있습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XXaEV10oYb.png" style="width:400px;height:487px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;이건 실제 기본 빌드 JOB의 메인 화면 입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XFA4sB37W9.png" style="width:500px;height:133px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XFA4sB37W9.png')" /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;Cobertura 커버리지 보고서 입니다.&lt;/P&gt;&lt;P&gt;오늘 오후는 밀린 테스트 케이스도 작성하고, 기능테스트도 수행하는 테스트 DAY 였는데, 네트워크 문제로 알로 반나절을 날렸습니다. (정말 가지가지로 괴롭힙니다.... 라고 쓰고, 핑계김에 쉬었습니다라고 읽습니다.)&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XA4V2FynZI.png" style="width:226px;height:253px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;최근 빌드 이력입니다. 아쉽게도 실패하는 테스트들이 있어서 UNStable 상태로 표시되고 있네요.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/Xc4oNA2dRq.png" style="width:457px;height:605px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;최근에 진행한 빌드 정보 입니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;소스를 커밋하면 SCM 트리거가 알아서 돕니다. (두번째 아이콘 참조)&lt;/P&gt;&lt;P&gt;이번 빌드로 CI 게임 점수도 10점이 올랐네요!!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XCI2aOWySZ.png" style="width:500px;height:218px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XCI2aOWySZ.png')" /&gt;&lt;/div&gt;네! 그렇습니다. 제 점수가 올랐던 거네요. ㅎ~~&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PMD 3건 수정, 그리고 실패하는 테스트를 하나 복구했습니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XXNyZZTTVp.png" style="width:457px;height:214px;" alt=""  /&gt;&lt;/div&gt;&lt;/P&gt;&lt;P&gt;이번주의 팀원들의 점수 입니다. (Leader Board)&lt;/P&gt;&lt;P&gt;0점인 사람들은 현재 화면부분을 작성중이라 점수 변동이 없네요. (0점에서 시작했습니다)&lt;/P&gt;&lt;P&gt;별건 아니지만, 나름 개발자들에게 동기 부여가 됩니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hudson 에 대해서는 할 얘기가 조금 더 있습니다만, 추후에 다시 적어 보겠습니다. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;기타 허드슨 CI 서버의 설치및 일반 사용 가이드는 &lt;A href="http://blog.doortts.com/80" target=_blank&gt;http://blog.doortts.com/80&lt;/A&gt; 를 참고하시면 조금더 도움 되시지 않을까 생각합니다.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;그럼, 즐거운 개발 되세요. &lt;/P&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-1906924934001682571?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/1906924934001682571/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%9D%98-%EC%A7%80%EC%86%8D%EC%A0%81%EC%9D%B8-%ED%86%B5%ED%95%A9%EC%84%9C%EB%B2%84-%ED%97%88%EB%93%9C%EC%8A%A8-ci-server-hudson-1.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1906924934001682571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1906924934001682571'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%9D%98-%EC%A7%80%EC%86%8D%EC%A0%81%EC%9D%B8-%ED%86%B5%ED%95%A9%EC%84%9C%EB%B2%84-%ED%97%88%EB%93%9C%EC%8A%A8-ci-server-hudson-1.html' title='프로젝트의 지속적인 통합서버, 허드슨 (CI Server Hudson) #1'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-7079496954242234144</id><published>2009-05-26T18:05:00.000+09:00</published><updated>2011-01-29T22:28:18.526+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>예상치 못한 프로젝트 방해 요소</title><content type='html'>&lt;span style="font-weight: bold;"&gt;- 국세청 세무신고&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 프리랜서 개발자들이 각종 서류를 작성하고 마무리 하느라 괴로워 하고 있다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 소프트웨어 기술자 신고제도&lt;/span&gt;&lt;br style="font-weight: bold;"&gt;&amp;nbsp;. 관련된 모든 사람의 시간을 빼앗고 있다. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 촉박한 일정이 테스트 케이스 작성을 더더욱 Burden 으로 만들다!&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 급하다는 말에 테스트케이스 작성시간을 아까워 한다.&lt;br /&gt;&amp;nbsp;. 오늘은 개발자들에게 TestCase 작성을 TASK 로 한장씩 배부하는 악행을 저질렀다. (괴롭다) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-7079496954242234144?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/7079496954242234144/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%98%88%EC%83%81%EC%B9%98-%EB%AA%BB%ED%95%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%A9%ED%95%B4-%EC%9A%94%EC%86%8C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7079496954242234144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7079496954242234144'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%98%88%EC%83%81%EC%B9%98-%EB%AA%BB%ED%95%9C-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%A9%ED%95%B4-%EC%9A%94%EC%86%8C.html' title='예상치 못한 프로젝트 방해 요소'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-3701566101483538569</id><published>2009-05-25T10:50:00.000+09:00</published><updated>2011-01-29T22:28:18.440+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>No Pain, No Gain? Oh No!! No more Pain!</title><content type='html'>- PP. relation sheet 의 진도가 낮아지고 있다. &lt;br /&gt;&lt;br /&gt;- 개발자들이 드디어 P.P. 가 힘들다는걸 눈치채기 시작했다. :(&lt;br /&gt;&amp;nbsp;. P.P 시에는 고도의 집중력이 요해짐&lt;br /&gt;&amp;nbsp;. 준비가 필요함&lt;br /&gt;&amp;nbsp;. 커뮤니케이션에 대한 심리적 부담감?&lt;br /&gt;&lt;br /&gt;- 줄 당근은 없고, 그렇다고 채찍을 들수도 없으니...&lt;br /&gt;&lt;br /&gt;- No More Pain!! 을 외칠 시점이 멀지 않은게 아닌가 싶기도 하고..&lt;br /&gt;&lt;br /&gt;정시 퇴근 당근이 최고인데... Hmmmmmm....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ps. 조금 더 지나면 서로가 서로에 대한 소스에 대한 진입장벽이 부담스런 수준으로 높아져 버릴것 같다. 심리적 거부 한계선을 넘기기 전에 무언가 방안이 필요하다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-3701566101483538569?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/3701566101483538569/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/no-pain-no-gain-oh-no-no-more-pain.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/3701566101483538569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/3701566101483538569'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/no-pain-no-gain-oh-no-no-more-pain.html' title='No Pain, No Gain? Oh No!! No more Pain!'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-6963533328505834290</id><published>2009-05-25T10:42:00.000+09:00</published><updated>2011-01-29T22:28:18.377+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>대시보드</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;현재 팀에서 사용중인 대시보드 입니다.&lt;br /&gt;유리 벽면을 이용하였습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XKk9WDkkBN.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XKk9WDkkBN.jpg')" /&gt;&lt;/div&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XEO3QjFCYK.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XEO3QjFCYK.jpg')" /&gt;&lt;/div&gt;개발자들의 백로그를 담은 함입니다. A4를 슥슥 접어서 간단히 만들었습니다. 여기 있는걸 꺼내서 일정기간별로(여기서는 1주일) To Do 에 붙입니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XZz2WOEonj.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XZz2WOEonj.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;백로그 1개 입니다. 엑셀에 적은 내용을 매크로 스크립트로 만들었습니다.&lt;br /&gt;(스크립트는 아래 링크에서 받은 파일을 수정해서 만들었습니다.&lt;br /&gt;&lt;h4&gt;- 스토리 카드 출력용 엑셀시트 : &lt;a title="유저스토리 Index card generator" target="_blank" href="http://blog.crisp.se/henrikkniberg/2007/12/18/1197973740000.html" id="yfl-"&gt;유저스토리 Index card generator&lt;/a&gt;&amp;nbsp;&lt;/h4&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XFh6r3EnvH.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XFh6r3EnvH.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;한번 백로그 아이템이 세팅된 다음에 추가될때는 다시 출력하거나 하지 않고 여분 용지에 편하게 기재하는 식으로 진행합니다.&amp;nbsp; 함께 붙은 포스트잇은 쪼갠 Task들 입니다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XCq6BRAZ8p.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XCq6BRAZ8p.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;테스트를 마치면 점 스티커를 붙여서 통과 실패 여부를 결정합니다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XYO4YAWpFb.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XYO4YAWpFb.jpg')" /&gt;&lt;/div&gt;"똑바로 해 이것들아!!" ... 는 아니고 공간이 협소하다 보니 일렬로 서 있습니다. :)&lt;br /&gt;사진은 무슨 벌받는 느낌이네요. (...)&lt;br /&gt;&lt;br /&gt;정치(?)로 인해 잠깐 엄한 방안에 설치했었던 때인데 지금은 잘 보이는 곳에 있습니다.&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XHPIbeTZos.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XHPIbeTZos.jpg')" /&gt;&lt;/div&gt;근래에 나왔었던 빵중 제일 맛난던 빵입니다. :)&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-6963533328505834290?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/6963533328505834290/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EB%8C%80%EC%8B%9C%EB%B3%B4%EB%93%9C.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6963533328505834290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6963533328505834290'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EB%8C%80%EC%8B%9C%EB%B3%B4%EB%93%9C.html' title='대시보드'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-7437167541419773368</id><published>2009-05-22T18:47:00.000+09:00</published><updated>2011-01-29T22:28:18.279+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>주 마감 회고</title><content type='html'>우리팀은 매주 금요일 오후 6시에 주 마감 회고를 합니다.&lt;br /&gt;&lt;br /&gt;주 마감회고&lt;br /&gt;&lt;br /&gt;- 각자 자신의 한주를 돌아본다.&lt;br /&gt;- 한 주 일하면서, 좋았던 점, 아쉬웠던 점, 흥미로웠던 점 (PMI) 에대해 이야기한다.&lt;br /&gt;- 전체 시간을 20분 이내로 한정 (인원에 따라서 적절히 한 사람당 시간을 제한한다)&lt;br /&gt;- 아침 스크럼 미팅과는 달리 가급적 편안한 위치와 자세에서 진행한다.&lt;br /&gt;- 조용했던 개발자도 팀과 프로젝트내의 생활에 대해 팀 전체와 의사 소통할 수 있는 기회를 갖는다.&lt;br /&gt;&lt;br /&gt;- PMI 발표가 부담스러운 사람은 한 주 동안 자신의 감정에 대해서 이야기 한다.&lt;br /&gt;- PM 은 팀원들의 현 상태에 대해서 열린 마음으로 이해한다.&lt;br /&gt;&lt;br /&gt;- 서로를 응원해 주는 분위기로 화이팅과 함께 한 주를 마감한다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* 주의 *&lt;/span&gt;&lt;br /&gt;- 거창하게 하거나, 일지를 쓰거나 하는 등의 작업으로 '일'의 느낌을 주지 않도록 합니다.&lt;br /&gt;- 점검보다는 격려와 응원을 메인 테마로 삼습니다.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-7437167541419773368?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/7437167541419773368/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%A3%BC-%EB%A7%88%EA%B0%90-%ED%9A%8C%EA%B3%A0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7437167541419773368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7437167541419773368'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%A3%BC-%EB%A7%88%EA%B0%90-%ED%9A%8C%EA%B3%A0.html' title='주 마감 회고'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-7337183091938118967</id><published>2009-05-20T10:05:00.000+09:00</published><updated>2011-01-29T22:28:18.061+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>이 프로젝트의 (특이한) 장점 중 하나</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;- 아침에 빵을 준다. (패리스 바큇 .... 껄로) &amp;lt;- 그리고 빵이 신선해서 그런지 맛있다.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XU52S41aha.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XU52S41aha.jpg')" /&gt;&lt;/div&gt;오늘은 팥빵!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-7337183091938118967?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/7337183091938118967/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%9D%B4-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%9D%98-%ED%8A%B9%EC%9D%B4%ED%95%9C-%EC%9E%A5%EC%A0%90-%EC%A4%91-%ED%95%98%EB%82%98.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7337183091938118967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/7337183091938118967'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%9D%B4-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%9D%98-%ED%8A%B9%EC%9D%B4%ED%95%9C-%EC%9E%A5%EC%A0%90-%EC%A4%91-%ED%95%98%EB%82%98.html' title='이 프로젝트의 (특이한) 장점 중 하나'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-33716318071502861</id><published>2009-05-19T19:47:00.000+09:00</published><updated>2011-01-29T22:28:17.792+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 14~15일 목,금] 초반부터 부스터에 연기난다.</title><content type='html'>&lt;h4&gt;&lt;font size="4"&gt;--- To Think&lt;/font&gt;&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;- Subversion commit comment 통일할 필요가 있다.&lt;br /&gt;&lt;/h4&gt;&amp;nbsp;. Commit 단위도 결정해 주면 좋다.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;nbsp;. Branch 전략은 infoQ의 글을 따르하기로 했다.&lt;/span&gt; ( http://www.infoq.com/articles/agile-version-control ) &amp;lt;- &lt;span style="font-weight: bold;"&gt;매우 훌륭하다!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="3"&gt;* 한 주 마감을 하면서 팀원들과 짧은 회고를 하였다. 처음엔 다소 어색해 했지만, 나름 적응을 잘 하는 것 같다. (Pair Programming 에대해서는 다들 굉장히 긍정적으로 이야기 했다.)&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;* 결국 개발자 한 분은 오시지 않아서 새로 찾기로 하였다. :(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="5"&gt;&lt;br /&gt;Agile Lessons to be considered #1&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;h4&gt;- 실제 팀 속도(Team Velocity)&lt;/h4&gt;&lt;p&gt;스토리 점수를 추정하고 Iteration (혹은 Sprint)에서 처리할 양을 결정하며, 그에 대한 실제 팀 속도(TeamVelocity)를 측정하려면 유용한 정보가 축적될 수 있을 정도로 팀이 유지되어야 하는데 그렇지 못하고 개발팀이 해체되는경우가 많다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;- 분석설계자와 개발자의 투입 시기가 다른경우 분석설계자와 개발자를 최대한 가깝게 두라!&lt;/h4&gt;&lt;br /&gt;&lt;h4&gt;- 정확한 팀 속도 측정&lt;/h4&gt;&lt;p&gt;정확한 팀 속도를 측정하려면 일 평균 근무 시간이 (적절한 수준에서) 일정해야 한다. 자칫하다간 9 to 9 (혹은 그 이상)의 일정을 소비했을때의 속도가 팀 속도가 되어버릴수 있다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;- 팀이 독립된 작업 공간을 얻지 못하면 잃는 것은 무엇인가?&lt;br /&gt;&lt;/h4&gt;&lt;br /&gt;&lt;h4&gt;- My Project is SCRUM, so it does Agile~!??&lt;/h4&gt;&amp;nbsp;좀더 협력적이고, 좀더 즐겁고, 좀더 생산적인 팀을 만드는게 중요하지, 스크럼이 중요한것이 아니다. 특정 Agile 의 특정 Practice 를 적용하지 못했다고 해서 Not Agile 이라고 할 필요는 없다.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;- 대시보드 Task 의 onGoing (혹은 in production) 에 숫자 제한을 둘 필요가 있다. &lt;/h4&gt;&amp;nbsp;. KanBan 을 생각하자. (http://en.wikipedia.org/wiki/Kanban , http://blog.crisp.se/henrikkniberg/2009/04/03/1238795520000.html ), 키워드는 도요타, 간판. &lt;br /&gt;&amp;nbsp;. Be Focus !!!&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;- 대시보드에 색을 적절히 사용해 본다.&lt;/h4&gt;작업자로 구분할 것인가? 아니면 업무영역이나 목표 Product 로 할 것인가?&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;- 어쩌면 회고가 최고의 Agile 기법이 될 수도 있다.&lt;/h4&gt;팀 내의 문제를 찾고 반성하고 개선해 나간다. 모두가 전력을 다해서!&lt;br /&gt;&lt;br /&gt;&lt;a title="Agile Tools" href="http://www.userstories.com/products" id="kp33"&gt;Agile 툴 목록(클릭) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;- Source Control 을 이용한다.&lt;/h4&gt;&amp;nbsp;. 하나의 Story가 Done 이 되어 Test 를 마치면 Releasable 이라고 간주한다. &lt;br /&gt;&amp;nbsp;. Tag를 찍던, 아니면 Branch를 따던 해 보자. (Done branch)&lt;br /&gt;&amp;nbsp;. Sprint 2 에 발생하게 될 Sprint 1의 버그 수정에 어떻게 대비할 것인가? (현재 Trunk를 이용해서 sprint release 의 버전을 올린다.)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-33716318071502861?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/33716318071502861/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-1415%EC%9D%BC-%EB%AA%A9%EA%B8%88-%EC%B4%88%EB%B0%98%EB%B6%80%ED%84%B0-%EB%B6%80%EC%8A%A4%ED%84%B0%EC%97%90-%EC%97%B0%EA%B8%B0%EB%82%9C%EB%8B%A4.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/33716318071502861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/33716318071502861'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-1415%EC%9D%BC-%EB%AA%A9%EA%B8%88-%EC%B4%88%EB%B0%98%EB%B6%80%ED%84%B0-%EB%B6%80%EC%8A%A4%ED%84%B0%EC%97%90-%EC%97%B0%EA%B8%B0%EB%82%9C%EB%8B%A4.html' title='[5월 14~15일 목,금] 초반부터 부스터에 연기난다.'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-1048850132689778425</id><published>2009-05-19T19:30:00.000+09:00</published><updated>2011-01-29T22:28:17.691+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 13일 수] 어떤 ROI</title><content type='html'>&lt;h4&gt;- 500ml 물 정도는 공급해 줬으면 좋겠다. (^_^); &amp;lt;- 마트 기준 250원. 팀원의 건강이 좋아짐 (피부도)&amp;nbsp; &lt;/h4&gt;&lt;span style="font-weight: bold;"&gt;- 개발자에게 있어 커피는, 마린에게 스팀팩. 커피 얼마나 한다고 그걸 안주나..&lt;/span&gt;&lt;br style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 이면지 활용을 적극 권장하기 위함인지 빈 A4지가 며.칠.째 없다. 여기가 미라이공업(未来工業株式会社)인가? -_-;;&lt;/span&gt;&lt;br style="font-weight: bold;"&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;- 집에 있는 모니터중 하나를 회사에 가져 올 예정임&lt;/span&gt;&lt;br /&gt;&amp;nbsp; (듀얼모니터로 업무효율이 5%만 증진된다고 하자. 당신의 연봉의 5%는 얼마인가? 내가 IT 기업 사장이면 듀얼모니터 다 준다. &lt;span style="font-weight: bold;"&gt;현재 용산기준 17인치LCD 깨끗한 중고 8만원&lt;/span&gt;. 19인치는 11만원. 안주면 사라!! 중고로 되팔아도 효율은 넘는다!)&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-1048850132689778425?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/1048850132689778425/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-13%EC%9D%BC-%EC%88%98-%EC%96%B4%EB%96%A4-roi.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1048850132689778425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1048850132689778425'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-13%EC%9D%BC-%EC%88%98-%EC%96%B4%EB%96%A4-roi.html' title='[5월 13일 수] 어떤 ROI'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-486837356540247291</id><published>2009-05-19T19:19:00.000+09:00</published><updated>2011-01-29T22:28:17.430+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 12일 화] 예상치 못한 문제가 늘 생긴다는 건 예상가능하다.</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;요약 : 삽질의 하루&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;--- 사건사고 &lt;/span&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;h4&gt;- 경력이 높았던 개발자 한 분이 연락도 닿지 않은 채 출근을 하지 않았다. &lt;br /&gt;&lt;/h4&gt;&lt;h4&gt;- 개발환경이 JDK 5.0 -&amp;gt; IBM JDK 1.4로 내려감&lt;/h4&gt;&amp;nbsp;. &lt;b&gt;Reason &lt;/b&gt;: WebSphere 버전이 6.1이 아닌 6.0으로 확인됨 (0.1 차이인데 jdk 가 바뀐다.-,-);&lt;br /&gt;&amp;nbsp;. &lt;b&gt;Impact &lt;/b&gt;: 이클립스는 기존 JAVA 5.0을 이용하고 컴파일만 IBM 1.4 로 변경. &lt;br /&gt;그런데 Tomcat 이 compile 한&amp;nbsp; JSP 파일에서 버전충돌나는 현상이 계속 발생 &amp;lt;-- &lt;span style="font-weight: bold;"&gt;Unsupported major.minor version 49.0&lt;/span&gt; 에러가 징그럽게 괴롭히기 시작한다. &lt;br /&gt; (SW아키텍트와 함께 거의 4시간 가까이 삽질을 함. 아이고 내 시간이야!! )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;- 해결방안 &lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 이클립스의 빌드클린&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XXwK1bEn5Y.png" style="width:349px;height:266px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;. 톰캣 work directory clean&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XMKpTOgCai.png" style="width:570px;height:124px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XMKpTOgCai.png')" /&gt;&lt;/div&gt;그리고 JSP 파일 TOUCH !!! &amp;lt;- &lt;span style="font-weight: bold;"&gt;이것도 중요!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;. &lt;b&gt;Side Effect&lt;/b&gt; : &lt;br /&gt;&lt;h4&gt;- CI 서버도 JDK 변경함&lt;/h4&gt;- 그리고 이제 Annotation 은 사용할 수 없게 됨. (!!!!아쉽!!)&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;br style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;--- To Do (=Done)&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;- 순수 개발에 들어가는 Development Time 을 자신이 계산할 수 있도록 이클립스 Mylyn 의 Task Base 기능을 개발자와 공유.&lt;/h4&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/Xfkf9zine4.png" style="width:341px;height:255px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/Xfkf9zine4.png')" /&gt;&lt;/div&gt;&lt;br /&gt;(Trac이나 JIRA 같은 서버가 없는 관계로 그냥 이클립스 Local 을 이용하기로 함.&lt;br /&gt;&amp;nbsp;놀란 점중 하나는 실제 working time 만 기록된다는 점이다. (사용자 입력이 없으면 시간흐름이 중지된다!!!)&lt;br /&gt;&lt;br /&gt;- Cross-functional Team Skill 조사?&lt;div id="s339" style="text-align: left;"&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XdLgMZUPae.jpg" style="width:500px;height:347px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XdLgMZUPae.jpg')" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-486837356540247291?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/486837356540247291/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-12%EC%9D%BC-%ED%99%94-%EC%98%88%EC%83%81%EC%B9%98-%EB%AA%BB%ED%95%9C-%EB%AC%B8%EC%A0%9C%EA%B0%80-%EB%8A%98-%EC%83%9D%EA%B8%B4%EB%8B%A4%EB%8A%94-%EA%B1%B4-%EC%98%88%EC%83%81%EA%B0%80%EB%8A%A5%ED%95%98%EB%8B%A4.html#comment-form' title='2개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/486837356540247291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/486837356540247291'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-12%EC%9D%BC-%ED%99%94-%EC%98%88%EC%83%81%EC%B9%98-%EB%AA%BB%ED%95%9C-%EB%AC%B8%EC%A0%9C%EA%B0%80-%EB%8A%98-%EC%83%9D%EA%B8%B4%EB%8B%A4%EB%8A%94-%EA%B1%B4-%EC%98%88%EC%83%81%EA%B0%80%EB%8A%A5%ED%95%98%EB%8B%A4.html' title='[5월 12일 화] 예상치 못한 문제가 늘 생긴다는 건 예상가능하다.'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-2323693843562835607</id><published>2009-05-18T13:42:00.000+09:00</published><updated>2011-01-29T22:28:17.282+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>프로젝트 일반정보</title><content type='html'>&lt;span style="font-weight: bold;"&gt;프로젝트 일반정보&lt;/span&gt;&lt;br /&gt;- 기간 : 5 월초 ~ 8월말&lt;br /&gt;- 내용 : 보고서 기능과 일반 관리업무가 있는 Global Web 화면 ( 일부 페이지 다국어 지원 )&lt;br /&gt;- 사용자 : 90%의 시스템은 내부 관계자, 10%는 일반인(Public open)이 사용함&lt;br /&gt;- 팀원 구성&lt;br /&gt;&amp;nbsp;. PM, SW아키텍트, 개발자4명, 분석설계자2명&lt;br /&gt;- 규모&lt;br /&gt;&amp;nbsp;.&amp;nbsp; 기본적으로 화면단위로 산정함&lt;br /&gt;&amp;nbsp;.&amp;nbsp; SPRINT 1 (15 working DAY * 4.5 명의 개발자 ) 의 스토리 포인트 약 170점&lt;br /&gt;&amp;nbsp; &amp;nbsp; * 단순히 화면에 DB의 데이터를 리스트로 표시하는 화면을 스토리포인트 1로 잡음&lt;br /&gt;&amp;nbsp;. 베이스 프레임워크에 대한 학습기간은 고려하지 않음 &amp;lt;- 개발자들이 유 형경험자임&lt;br /&gt;&amp;nbsp;. SPRINT 1 에 대한 버퍼가 5일가량 있음 (회고기간 포함)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;특이사항&lt;/span&gt;&lt;br /&gt;&amp;nbsp;- 9 to 7 이 정시근무시간임 :(&lt;br /&gt;&amp;nbsp;- x-internet 제품 사용 (GAUCE)&lt;br /&gt;&amp;nbsp;- 1명을 제외하고, 팀 전원이 Agile 은 이번 프로젝트 들어와서 처음 접해보게 됨&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-2323693843562835607?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/2323693843562835607/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%9D%BC%EB%B0%98%EC%A0%95%EB%B3%B4.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2323693843562835607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2323693843562835607'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%9D%BC%EB%B0%98%EC%A0%95%EB%B3%B4.html' title='프로젝트 일반정보'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-6150346255879603017</id><published>2009-05-18T11:08:00.000+09:00</published><updated>2011-01-29T22:28:17.023+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Docs'/><title type='text'>짝 프로그래밍 가이드 0.9</title><content type='html'>&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;짝 프로그래밍 가이드 0.9&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;1. 개요&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;본 문서는 애자일 팀에서 어떻게 짝 프로그래밍(Pair Programming, 이하 PP)을 진행 할 것인지에 대한 가이드를 제공한다. &lt;br /&gt;PP는 기술적인 측면보다 사회 문화적인 측면에서 접근/진행하여야 한다. 따라서 대화를 자주 나누고, PP의 목표가 서로가 함께 발전해 나가면서 이를 통해 좀더 좋은 SW를 만들 수 있게 해준다는 것을 인식하여야 한다.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;2. PP진행의 목적 및 효과&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;코드의 품질을 향상시킨다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;개발에 대한 집중력을 높인다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;팀 내 커뮤니케이션을 증진시킨다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;지속적인 코드 리뷰가 될 수 있다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;협업을 통해 서로가 서로를 발전 시킬 수 있다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;개발이 좀더 즐거워 질 수 있다.&lt;br /&gt;&lt;br style="font-weight: bold;"&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;3. 기본 마음가짐&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;서로를 신뢰하며 공경한다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;대화를 논쟁으로 생각하지 않는다. (Winner, Loser 가 생겨서는 안 된다.)&lt;br /&gt;- &amp;nbsp; &amp;nbsp;코드에 대한 지나친 소유욕을 갖지 않는다. (우리는 ONE TEAM 이다)&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;4. 짝 프로그래밍 (PP)&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.1&amp;nbsp; 기본 진행방식&lt;/span&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;1대의 PC에서 두 명의 팀원이 함께 작업을 진행한다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;이 때, 키보드와 마우스를 잡고 있는 사람을 운전자(Driver)라고 부르고, 옆에 앉아서 함께 작업하는 사람을 조타수(Navigator)라 부른다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;일반적으로 Navigator가 주도적으로 작업을 진행해 나가게 된다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;Navigator는 자신이 하려는 일을 이야기하고, Driver는 질문과 제안을 한다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.2&amp;nbsp; 시작하기 &lt;/span&gt;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;“좀 도와 주시겠어요?”&lt;br /&gt;• &amp;nbsp; &amp;nbsp;“함께 해보면 어떨까요? :)”&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.3&amp;nbsp; PP 도중에는&lt;/span&gt;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;제가 해볼게요!&lt;br /&gt;• &amp;nbsp; &amp;nbsp;해보실래요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;제 계획은 이렇습니다. 뭔가하면...&lt;br /&gt;• &amp;nbsp; &amp;nbsp;어떤 식으로 하실 생각이신가요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;이제 무얼 할까요? 다음 단계를 뭐죠?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;뭔가 빼먹은 건 없나 모르겠네요. 생각나시는게 있으세요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;우선 좀 짜 보죠.&lt;br /&gt;• &amp;nbsp; &amp;nbsp;방금 짠 코드는 잘 동작하는 것 같나요? 단위 테스트를 해 보죠.&lt;br /&gt;• &amp;nbsp; &amp;nbsp;무얼 테스트 하실건가요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;좀 더딘것 같은데요. 어떻게 되가죠?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;잘 이해가 안돼요. 그림을 한 번 그려보시겠어요? 설명해 주세요!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.4&amp;nbsp; 휴식&lt;/span&gt;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;좀 쉴까요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;그만 할까요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;자리를 바꿔보면 어때요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;나가서 좀 쉽시다!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.5&amp;nbsp; 경우에 따라서는&lt;/span&gt;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;좀 쉴까요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;그만 할까요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;자리를 바꿔보면 어때요?&lt;br /&gt;• &amp;nbsp; &amp;nbsp;나가서 좀 쉽시다!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.6&amp;nbsp; 절대 하지 말아야 할 것&lt;/span&gt;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;짜증!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.7&amp;nbsp; 유의사항&lt;/span&gt;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;강요하지 말 것. 짝 프로그래밍을 강요하면 오히려 짝 프로그래밍을 하는 것에 대한 사람들 사이의 반감을 증가시킬 것이다.&lt;br /&gt;• &amp;nbsp; &amp;nbsp;혼자 너무 오래 코딩 하지 말 것. 돌아가면서 한다. &lt;br /&gt;• &amp;nbsp; &amp;nbsp;충분하게 코딩 한 다음 키보드를 넘긴다. &lt;br /&gt;(이 때 USB HUB등을 이용해서 키보드와 마우스를 각자 소유할 수 있으면 더욱 좋다.)&lt;br /&gt;• &amp;nbsp; &amp;nbsp;자주 쉬어라. 쉬는 시간을 건너뛰진 말아라. &amp;nbsp;&lt;br /&gt;• &amp;nbsp; &amp;nbsp;짝도 나눈다. 다른 짝들과 바꿔본다.&lt;br /&gt;• &amp;nbsp; &amp;nbsp;즐겨라&lt;br /&gt;• &amp;nbsp; &amp;nbsp;믿음을 가질 것&lt;br /&gt;• &amp;nbsp; &amp;nbsp;자존심을 세우지 말자&lt;br /&gt;• &amp;nbsp; &amp;nbsp;우선은 자신이 잘못했을 가능성을 먼저 생각하자&lt;br /&gt;• &amp;nbsp; &amp;nbsp;옆에 있는 사람을 놔둔채 혼자만 달리지 말자&lt;br /&gt;• &amp;nbsp; &amp;nbsp;자신보다 경험이 적은 사람과 함께 짝이 되어본다.&lt;br /&gt;• &amp;nbsp; &amp;nbsp;자신보다 경험이 많은 사람과 함께 짝이 되어본다,&lt;br /&gt;• &amp;nbsp; &amp;nbsp;코드는 짝 프로그래밍을 하는 두 사람 중 어느 사람의 것도 아니다. 하지만 체크인 하기 전까지, 변경에 대한 책임은 둘에게 있다.&lt;br /&gt;• &amp;nbsp; &amp;nbsp;언제나 코드에 대화를 담기 위해 노력하여라.&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;5. PP도입방식&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.1&amp;nbsp; Whole Team PP 방식&lt;/span&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;이상적인 형태이며 전체 개발 팀원이 돌아가며 PP를 수행한다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;단, 팀 인원이 지나치게 많아서 팀 전체와 업무를 공유하기 어렵거나, 지나치게 적고 Role 달라 협업이 불가능할 경우에는 진행하기가 어렵다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.2&amp;nbsp; 부분 PP 방식&lt;/span&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;PP 적용 기간을 정해놓고 PP를 진행한다. (ex. Sprint #1, Sprint #2 등)&lt;br /&gt;- &amp;nbsp; &amp;nbsp;선임자와 후임자가 업무 전달을 위해 진행한다.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;분석설계자가 개발자에게 개발 범위에 대한 빠른 지식 전달을 위해 진행한다.&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;6. PP 도입 시기&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;전체 개발일정에 걸쳐서 PP시간을 정해서 진행할 때&lt;br /&gt;- &amp;nbsp; &amp;nbsp;개발 영역에 대한 범위를 서로가 빠르게 이해하고자 할 때&lt;br /&gt;- &amp;nbsp; &amp;nbsp;버그를 찾고자 할 때&lt;br /&gt;- &amp;nbsp; &amp;nbsp;만들고자 하는 부분에 대한 명확한 그림이 그려지지 않을 때&lt;br /&gt;- &amp;nbsp; &amp;nbsp;새로운 신입을 팀 내에 빠르게 적응시키게 하기 위해서&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;7. PP의 상태판단&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7.1&amp;nbsp; Successful modes&lt;/span&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;FLOW: 서로가 서로를 보완해 주는 형태로 진행&lt;br /&gt;- &amp;nbsp; &amp;nbsp;Coaching: 전문가가 문제영역 해결에 대한 자신의 방법을 함께 일하는 사람에게 전달해 주어서 동일한 문제를 이후 혼자서 해결 할 수 있도록 해준다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7.2&amp;nbsp; Failure modes&lt;/span&gt;&lt;br /&gt;- &amp;nbsp; &amp;nbsp;지나치게 쉬운 문제로 전문가의 시간을 낭비할 경우.&lt;br /&gt;- &amp;nbsp; &amp;nbsp;초심자에게 지나치게 복잡하거나 어려운 문제 영역을 함께 작업하게 되는 경우&lt;br /&gt;- &amp;nbsp; &amp;nbsp;PP가 개인의 사생활을 제한할 정도로 길게 진행되는 경우&lt;br /&gt;&amp;nbsp;&lt;br /&gt;참조: &lt;br /&gt;http://softwarecreation.org/2008/pair-programming-to-do-or-not-to-do/&lt;br /&gt;http://c2.com/cgi/wiki?PairProgrammingTipsAndTricks&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;별첨. 분석 설계자와 개발자의 PP&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;- 목적&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;. 분석설계자와 개발자의 의사소통을 시작한다.&lt;br /&gt;&amp;nbsp;. 개발 도메인에 대한 개발자의 빠른 이해를 돕는다.&lt;br /&gt;&amp;nbsp;. 분석설계자는 자신이 설계한 화면이 개발되는 방식에 대한 이해를 증진한다.&lt;br /&gt;&amp;nbsp;. 화면 테스트를 진행하는 방식을 공유한다.&lt;br /&gt;&lt;br /&gt;&lt;font size="3"&gt;&lt;span style="font-weight: bold;"&gt;- 개발 진행 &lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&amp;nbsp;. 개발자는 원활한 PP를 위한 개발 환경 셋팅을 미리 준비한다.&lt;br /&gt;&amp;nbsp;. 개발자는 설계 문서를 미리 받아서 살펴 보는 시간을 갖는다. &lt;br /&gt;&amp;nbsp;. 개발자는 Driver 가 되고 분석설계자는 Navigator가 된다. &lt;br /&gt;&amp;nbsp;&lt;span style="font-weight: bold;"&gt;. 개발자에게 화면요소를 설명한다.&lt;/span&gt; &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; 1. 사용자가 해당 화면을 사용하는 목적 &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; 2. 구현되어야 하는 핵심기능 &amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; 3. 화면 요소 별 항목이름 및 이벤트 설명&lt;br /&gt;&lt;br /&gt;&amp;nbsp;. 개발자는 화면 요소 중 무엇부터 하겠다고 이야기 한다.&lt;br /&gt;&amp;nbsp;. 개발자는 자신이 현재 하고자 하는 작업이 무엇인지 이야기 한다.&lt;br /&gt; . 분석설계자는 DB 테이블 이름과 컬럼 이름을 확인해서 변수 작성에 도움을 준다.&lt;br /&gt; . SQL을 작성하게 될 경우, 개발자와 함께 돌아가면서 작성한다.&lt;br /&gt; . 우선 30분 정도로 시작해서 시간을 조절해 본다.&lt;br /&gt;&amp;nbsp;&lt;span style="font-weight: bold;"&gt;. 주의! 상대방을 지루하게 만들면 안 된다.&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp; (본인이 왜 옆에 있는지 의구심이 들게 되면 PP를 중지하고 상황에 대해 이야기 한다)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 화면(기능) 테스트 진행&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 개발자가 화면 개발을 마치면 분석 설계자와 함께 화면에서 테스트 하고자 하는 것을 정의한다.  &amp;nbsp;&amp;nbsp; (간단한 메모장에 적어도 무방)&lt;br /&gt;&amp;nbsp;. 함께 테스트를 진행한다.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-6150346255879603017?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/6150346255879603017/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%A7%9D-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EA%B0%80%EC%9D%B4%EB%93%9C-09.html#comment-form' title='1개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6150346255879603017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6150346255879603017'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/%EC%A7%9D-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EA%B0%80%EC%9D%B4%EB%93%9C-09.html' title='짝 프로그래밍 가이드 0.9'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-1833075046915152002</id><published>2009-05-18T10:17:00.000+09:00</published><updated>2011-01-29T22:28:16.873+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>Workplace</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XQtAmN3PDa.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XQtAmN3PDa.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;사무실 가는 길. &lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XdrRpr3frh.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XdrRpr3frh.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;사무실이 들어있는 건물&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XHqzWHwKuR.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XHqzWHwKuR.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;사무실 전경&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XNsc4xgHj4.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XNsc4xgHj4.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;샘플 대시 보드&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XDYtE0ljbv.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XDYtE0ljbv.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;샘플보드의 네 배쯤 되는 실제 대시 보드가 될 보드.. 사진으로 보니까, 크기 감이 좀 없네요. 밑에 컷터나 포스트잇을 보면 가늠이 좀 될 듯. 현재 붙여 잇는건 스프린트 번다운(burndown) 차트와 짝 프로그래밍(P.P.) 관계표. &lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XYoyFNjAAp.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XYoyFNjAAp.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;스프린트 1에서 처리해야 하는 번다운 차트 &lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XChhB0mx4u.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XChhB0mx4u.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;P.P 관계표. 한사람에게 몰리는 것을 방지하기 위함. 다행히도 다들 성이 달라서 같이 작업한 사람의 성을 쓰기로 했음. 위 목록중 두 분은 분석/설계자 임.&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XBCLMLUihX.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XBCLMLUihX.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;대시보드를 벽에 붙이려니까, 지저분할것 같다면서 구석면에 있는 유리를 이용하라고 함. -_-;; 왠지 저기가 더 지저분해 보일텐데.. 어쨌든 고객이 원하니... &lt;br /&gt;우선 구혁을 나누기 위해서 검은 테이프로 선을 그어 놓았음. &lt;br /&gt;&lt;br /&gt;참! 검은 테이프는 공예때 쓰이는 종이테이프를 사용하면 더 깔끔한 느낌이 납니다. (검은 고무 테이프는 완전비추!!!)&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XSukaljstq.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XSukaljstq.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;원래 사용자 스토리를 적기 위해서 쓰려고 한 카드. 일반 인덱스 카드는 줄이 그어져 있어서 깔끔한 느낌이 좀 덜함. 그런데 아무래도 사용자스토리가 현재는 엑셀로 관리되는 지라&amp;nbsp; 옮겨 적는건 다소 노동력 낭비가 되지 싶어서 사용안하고 있음. (다음기회에!)&lt;br /&gt;&amp;nbsp;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XUED9pDoO6.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XUED9pDoO6.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;사무실 전경. &lt;br /&gt;방 좀 달라고 했는데, 결국 방을 못 얻음. 그래서 한줄로 앉게 되었다. (아.. 너무 아쉽다) 하긴, 오프쇼어(Off-shore 도 심하게 고민하는 현재인데 이정도만 해도 그나마 다행... 이라고 위안을 삼음)&lt;br /&gt;&lt;br /&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XejKOIzCu3.jpg" style="width:500px;height:375px;" alt="" onclick="TC$PRIV_open_img('http://ss.textcube.com/blog/0/8917/attach/XejKOIzCu3.jpg')" /&gt;&lt;/div&gt;&lt;br /&gt;내 책상. 아.. 넓다.. -_-;;; &lt;br /&gt;&lt;br /&gt;다른 사진은 또 다음에 올리는 걸로...&lt;br /&gt;&lt;br /&gt;PS. 사실, 굉장히 없어 보이게 작업한 스토리포인트 추정 작업이 압권인데... -_-;; 그건 흔적만이라도 올려야 겠음...&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-1833075046915152002?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/1833075046915152002/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/workplace.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1833075046915152002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/1833075046915152002'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/workplace.html' title='Workplace'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-8708869811985721923</id><published>2009-05-17T10:22:00.000+09:00</published><updated>2011-01-29T22:28:16.779+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 11일 월] 개발자 투입! Sprint 1 (1일/15일)</title><content type='html'>개발자 4명이 오늘 부로 투입되었다. &lt;br /&gt;&lt;br /&gt;놀랍게도 GAUCE 개발 경험자에다가 회사 프레임워크(Devon) 사용 경험이 있고, 경력이 최소3년이상 되는 분들이라는 점이다. (Wow!! PM이 제대로 뽑았다!)&lt;br /&gt;&lt;br /&gt;다만 모두 남자라는 점. (.....-,-?)&lt;br /&gt;&lt;br /&gt;오전엔 분석설계자 분들이 전체적인 업무설명을 해주었고, 오후엔 Agile 방법론 교육, 오후엔 소프트웨어 아키텍트의 프로젝트 표준교육, 그리고 내가 Pair Programming Guide 와 TDD의 일반 가이드를 진행했다.&lt;br /&gt;&lt;br /&gt;다들 Agile 은 처음이라는데, 다행히 별 거부감 없이 받아들이는 것 같다. 게다가 네 분중 세 분은 이전에 같은 프로젝트에 있었어서 서로 어색어색해 하는건 나를 포함한 나머지 분들(=AA,PM, 분석설계자 두 분)만 해당되었다.&lt;br /&gt;&lt;br /&gt;어쨌든, 이제 개발자들이 투입되었으니 본격적으로 개발이 시작될 예정이다. &lt;br /&gt;&lt;br /&gt;PS. 아! 여기 정시근무가 9 to 7 이라고 한다. (오우! -,-);;&lt;br /&gt;PS2. 사실 그것과 상관없이 다들 9시 넘어서 집에간다. (...)&lt;br /&gt;&lt;br /&gt;이하 오늘 분의 정리이다.&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;--- To Think&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- IE8의 개발자 도구가 매우 유용함 (단축키 F12)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 따로 debugger 를 설치하지 않아도 될 정도.&lt;br /&gt;&amp;nbsp;. 필요하다면 Visual Studio Web Developer Express 버전을 설치하던가&lt;br /&gt;&amp;nbsp;. 아니면 microsoft download 에서 스크립트 디버거를 설치해야 한다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 개인 Daily log 이외의 스크럼 meeting log 가 필요하지 않을까?&lt;/span&gt;&lt;br /&gt;. 대시보드가 만들어지면 필요없을듯.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- IT는 험한일을 하는 사람일 수록 순박한 것 같다.&lt;/span&gt; :)&lt;br /&gt;- 화면 노가다의 주 원인은 무엇이엇나?&lt;br /&gt;&amp;nbsp;. 복잡 묘한 자바스크립트들&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; v_header= "grpCd:STRING(3),"&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; + "grpCdNm:STRING(50),";&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ds_grp.SetDataHeader(v_header);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;. 정제되지 않은 스크립트들!!&amp;nbsp; (!!!)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 복잡한 GAUCE (거의 미로코드!!!)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 기존 Gauce 예제를 이용해서 개발 본수 1/2 쯤 되는 화면을 만들었다. GAUCE 자체의 복잡함도 복잡함이지만, 사내 GAUCE Bridge Framework 안에 들어있는 오묘한 구성을 며칠내에 이해하기에는 쉽지가 않다. 어찌어찌 동작은 하지만, 장님 코끼리 만지는 수준이다.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- GAUCE UI TEST&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 스트립트를 이용해서 데이터를 넘겨 주고 있는데, 어쩌면, 테스트를 할 수 있을 런지도 모르겠다.&lt;br /&gt;&amp;nbsp;. 우선 개발자들의 자바 스트립트 사용방식을 조사해볼 필요가 있다.&lt;br /&gt;&lt;br /&gt; &lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;--- To DO Tomorrow&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;- 개발자들에게 자신의 UI 작업 패턴을 찾아내게 해야 겠다. ( UI 코딩작업을 의미적으로 순차 기술하게 한다. )&lt;br /&gt;&amp;nbsp;- 분석설계/개발자 Pair Work Sheet 작성&lt;br /&gt;&amp;nbsp;- 개발자 끼리의 Pair Programming&lt;br /&gt;&amp;nbsp;- 분석 설계자들에게 PP 가이드&lt;br /&gt;&amp;nbsp;- KISS 형태의 GAUCE 화면 작성&lt;br /&gt;&amp;nbsp;- 내부 js 스트립트들 정리&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-8708869811985721923?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/8708869811985721923/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-11%EC%9D%BC-%EC%9B%94-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%88%AC%EC%9E%85-sprint-1-1%EC%9D%BC15%EC%9D%BC.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8708869811985721923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8708869811985721923'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-11%EC%9D%BC-%EC%9B%94-%EA%B0%9C%EB%B0%9C%EC%9E%90-%ED%88%AC%EC%9E%85-sprint-1-1%EC%9D%BC15%EC%9D%BC.html' title='[5월 11일 월] 개발자 투입! Sprint 1 (1일/15일)'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-8033245496322232556</id><published>2009-05-16T23:01:00.000+09:00</published><updated>2011-01-29T22:28:16.687+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='아!!! 잠깐만!'/><title type='text'>[Agile Book] 스크럼(Scrum)과 XP</title><content type='html'>&lt;script src='http://ss.textcube.com/service/blog/script/blogger.js' type='text/javascript'&gt;&lt;/script&gt;&lt;div class="imageblock center" style="text-align: center; clear: both;"&gt;&lt;img src="http://ss.textcube.com/blog/0/8917/attach/XDx1Da1b2U.jpg" style="width:300px;height:400px;" alt=""  /&gt;&lt;/div&gt;&lt;br /&gt;주문한 도서가 왔다. 사실 이 책은 infoQ.com 에서 freebook 으로 배포하는 사실 몇 장 안되는 책인지라 조금 고민했다. (가격은 거의 2만원에 육박) 하지만 같이 주는 카드 때문에 굴복하고 말았다. ( &lt;a target="_blank" href="http://blog.insightbook.co.kr/128"&gt;http://blog.insightbook.co.kr/128&lt;/a&gt; ) 우리들(?)이 한 플래닝 포커게임은 언제나 A4를 접어서 조악하게 했었기 때문에 안그래도 어디 파는데 없나 했었는데, 책을 사면 준다는 말에 덥썩 물었다. (-,-);;&lt;br /&gt;&lt;br /&gt;번역은 경험있는 역자가 해서인지 깔끔하게 잘 된듯하다 (중간에 백로그 아이템 그림의 Notes 라고 되어있는 부분을 '주목'이라고 번역한 것에 대해서는 처음엔 좀 의아했었는데, 뭐 나름의 생각이 있어서 였을지도 모르겠다)&lt;br /&gt;&lt;br /&gt;내용이 짧고 문장이 쉬워서 직장인이라도 맘 잡고 이틀이면 읽을 수 있을 것같다. (실제로 글을 쓰는 현재 시점에서 이야기하자면 난 3일 걸렸다.)&lt;br /&gt;&lt;br /&gt;제목은 스크럼과 XP 이지만 스크럼쪽에 좀더 집중되어 있는 느낌이다. 기회가 닿으면 SCRUM 책과 함께 보면 더 도움이 될 것 같다.&lt;br /&gt;&lt;br /&gt;PS. 이 책의 원제목을 그대로 해석해보면 '&lt;span style="font-weight: bold;"&gt;참호속에서의 스크럼과 XP, 우리가 스크럼을 적용한 방법&lt;/span&gt;' 정도? 뭐, 그 정도로 현장의 경험을 녹였다는 이야기인듯.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-8033245496322232556?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/8033245496322232556/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/agile-book-%EC%8A%A4%ED%81%AC%EB%9F%BCscrum%EA%B3%BC-xp.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8033245496322232556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/8033245496322232556'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/agile-book-%EC%8A%A4%ED%81%AC%EB%9F%BCscrum%EA%B3%BC-xp.html' title='[Agile Book] 스크럼(Scrum)과 XP'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-3883440090602667854</id><published>2009-05-16T22:33:00.000+09:00</published><updated>2011-01-29T22:28:16.567+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 8일 금] 귀가 얇은 나는 바로 설득 당하고..</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Scrum 미팅 내용 (ToDO)&lt;br /&gt;&lt;/span&gt;&lt;div&gt;- 개발자 TDD 가이드 작성 &lt;br /&gt;&lt;/div&gt;&lt;div&gt;- PP(=Pair Programming) 적용 범위 준비&lt;/div&gt;&lt;div&gt;- Prototyping PP with SWA(=SW Architect)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1&gt;--- To Think&lt;/h1&gt;- 컬럼명 Matching 시 단어장과 일치시켜야 하는 문제 (오타발생 및 찾아야 하는 것, 무언가 이클립스와 연동 불가능 한가?&lt;br /&gt;&lt;div&gt;- 다국어 문제? (고객은 나중에 하기로)&lt;/div&gt;- 단어장 관리 시스템&lt;div&gt;&amp;nbsp;. excel 로 만들면 시스템에 batch 로 업로드하는 형태?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;- 이클립스 플러그인으로 코드 Aid 할 수 있는 걸 만들면 어떨까? (GAUCE component와 id, TR, Event 일일히 맵핑시키는 것이 불편해 보임)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;- 테이블에 FK를 걸자고 다시 한번 분석설계자 분들을 꼬셔보았는데 오히려 설득당함 -,-;;&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&amp;nbsp;. 기존시스템(=기간)에서 데이터를 넘겨받는데 만약 문제가 생기면 전환작업까지 떠맡게 될 가능성이 있다 &amp;lt;- 그럴듯 함&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;. 기간 촉박으로 문제상황 발생을 고려할 수 없음 &amp;lt;- 나도 알고보면 치킨라인이라..&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;--- To Test&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Jailer : http://jailer.sourceforge.net/&lt;br /&gt;&lt;/div&gt;&lt;div&gt;DBUnit&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-3883440090602667854?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/3883440090602667854/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-8%EC%9D%BC-%EA%B8%88-%EA%B7%80%EA%B0%80-%EC%96%87%EC%9D%80-%EB%82%98%EB%8A%94-%EB%B0%94%EB%A1%9C-%EC%84%A4%EB%93%9D-%EB%8B%B9%ED%95%98%EA%B3%A0.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/3883440090602667854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/3883440090602667854'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-8%EC%9D%BC-%EA%B8%88-%EA%B7%80%EA%B0%80-%EC%96%87%EC%9D%80-%EB%82%98%EB%8A%94-%EB%B0%94%EB%A1%9C-%EC%84%A4%EB%93%9D-%EB%8B%B9%ED%95%98%EA%B3%A0.html' title='[5월 8일 금] 귀가 얇은 나는 바로 설득 당하고..'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-2638360249029778111</id><published>2009-05-16T22:25:00.000+09:00</published><updated>2011-01-29T22:28:16.461+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 7일 목] Script! Script! Script!</title><content type='html'>GAUCE 소스를 보면서 샘플 페이지를 만들고 있는데, 아주 머리에 스팀이 들어온다.&lt;br /&gt;&lt;br /&gt;회사에서 제공하는 JAVA 프레임워크(devon) + ajax 프레임워크(xSync) + GAUCE 브리지 유틸(자바 클래스 + 자바스크립트) + 가우스(CAUCE) 자체의 스크립트 규칙까지, 느닷없이 배우기에는 거대한 파도밑의 아이같은 느낌이랄까? (-,-);;&lt;br /&gt;&lt;br /&gt;나름 더듬더듬 정리를 해 보았는데&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font size="5"&gt;데이터 조회시 Gauce workflow&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;h2&gt;Prepare&lt;br /&gt;&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;h3&gt;TR 선언&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&amp;lt;!-- CUD TR --&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;OBJECT id=tr_cudEmp classid="&amp;lt;%=LGauceId.TR%&amp;gt;"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;lt;param name="KeyName" value="toinb_dataid4"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;lt;param name="KeyValue" value="Servlet(I:IN_DS1=ds_emp)"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;lt;param name="ServerIP" value=""&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;lt;param name="Action" value="&amp;lt;%= contextPath %&amp;gt;/&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;b&gt;uip.gauce.p10.cudUser.gau&lt;/b&gt;&lt;/span&gt;"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/OBJECT&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;Dataset 선언&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&amp;lt;!-- 사원정보 DataSet --&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;object id="ds_emp" classid="&amp;lt;%=LGauceId.DATASET%&amp;gt;"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/object&amp;gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;Event 정의 (callback?)&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&amp;lt;!-- CUD TR --&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;script language=JavaScript for=tr_cudEmp event=OnSuccess()&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;alert('&amp;lt;LTag:message code="dev.suc.com.process"&amp;gt; &amp;lt;/LTag:message&amp;gt;');&lt;/div&gt;&lt;div&gt;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;script language=JavaScript for=tr_retrieveComboData event=OnFail()&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;alert(tr_retrieveComboData.ErrorMsg);&lt;/div&gt;&lt;div&gt;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;b&gt;--? 이하는?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&amp;lt;!-- 사원정보 DataSet --&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;script language=JavaScript for=ds_emp event=OnLoadCompleted(rowCnt)&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if( rowCnt == 0 ){&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cfCheckCreateFlag() == true){&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ds_emp.clearData();&lt;/div&gt;&lt;div&gt;&amp;nbsp; 	&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cfTurnCreateFlag(false);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}else{&lt;/div&gt;&lt;div&gt;&amp;nbsp; 	&amp;nbsp; &amp;nbsp;alert('&amp;lt;LTag:message code="dev.inf.com.nodata"&amp;gt; &amp;lt;/LTag:message&amp;gt;');&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp; 	cfDisableKeyData();&lt;/div&gt;&lt;div&gt;&amp;nbsp; 	cfDisableBtn([bSave]);&lt;/div&gt;&lt;div&gt;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;script language=JavaScript for=ds_emp event=OnLoadError()&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(!cfCheckCreateFlag()){&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;alert(ds_emp.ErrorMsg);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;lt;/script&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Body&lt;br /&gt;&lt;/h2&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;h3&gt;Form 선언 및 validation&lt;br /&gt;&lt;/h3&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;lt;input type="TEXT" SIZE="20" class="input_textfield_search" id="txt_hblNo" maxlength="5" onkeypress="fnKeyPress(1)"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;Image Button&lt;br /&gt;&lt;/h3&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;lt;ahref="javascript:fnRetrieve();" target="_self"&amp;gt;&amp;lt;img src="&amp;lt;%=imagePath %&amp;gt;/btn_search_k_g.gif" alt="검색" id="btn_search_k_g"border="0" &amp;gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;Component 선언&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;lt;!-- EMEdit Object --&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;lt;comment id="__NOSCRIPT_ID__"&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;object id="&lt;/font&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;ed_shprCd&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;"class="object_eme" classid="&amp;lt;%=LGauceId.EMEDIT%&amp;gt;"style="width:60%;" align='absmiddle' mandatory="true" objType="key" &amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=Format &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value="#####"&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=Alignment &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value="0"&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=SelectAll &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value="true"&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=Border &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value="false"&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=PromptChar &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value="_"&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=InheritColor &amp;nbsp; &amp;nbsp; &amp;nbsp;value='true'&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;param name=ReadOnly &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=false&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/object&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/comment&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;font size="2"&gt;&amp;lt;SCRIPT&amp;gt;__ShowEmbedObject(__NOSCRIPT_ID__);&amp;lt;/SCRIPT&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;h3&gt;하단에 Bind Components Definition&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;lt;object id=bnd_empList classid="&amp;lt;%=LGauceId.BIND%&amp;gt;"&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp; &amp;lt;param name=DataID &amp;nbsp; &amp;nbsp;value=ds_emp&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp; &amp;lt;param name=BindInfo &amp;nbsp;value='&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=shprCd &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Ctrl=&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: 'Courier New';"&gt;ed_shprCd &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New';"&gt;Param=text &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=mblNo &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Ctrl=ed_mblNo &amp;nbsp; &amp;nbsp; &amp;nbsp;Param=text &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=joblevelCode &amp;nbsp; Ctrl=co_joblevel &amp;nbsp; Param=BindColVal &amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Ctrl=txt_empNm &amp;nbsp; &amp;nbsp; Param=value &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=departmentCode Ctrl=co_department Param=BindColVal &amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=sex &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Ctrl=rd_sex &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Param=CodeValue &amp;nbsp;&amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;C&amp;gt; Col=birthdate &amp;nbsp; &amp;nbsp; &amp;nbsp;Ctrl=ed_birthDate &amp;nbsp;Param=text &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/C&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;'&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;lt;/object&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;font size="5"&gt;실은.. 전부다 외계어에 가깝다.. OTL.. 아이고 맙소사! &lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-2638360249029778111?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/2638360249029778111/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-7%EC%9D%BC-%EB%AA%A9-script-script-script.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2638360249029778111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/2638360249029778111'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-7%EC%9D%BC-%EB%AA%A9-script-script-script.html' title='[5월 7일 목] Script! Script! Script!'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8656464440534331732.post-6788447654484447684</id><published>2009-05-16T21:19:00.000+09:00</published><updated>2011-01-29T22:28:16.358+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='항해일지'/><title type='text'>[5월 6일 수] Start!! Agile Project in Yoido</title><content type='html'>오늘 부터 여의도로 출근한다.&lt;br /&gt;&lt;br /&gt;이 프로젝트의 PM과, 이틀전에 출근했다는 SW아키, 일주일 전에 투입 분석설계자 두 분, 그리고 나. 이렇게 해서 현재까지 인원은 5명. (비상주로 왔다 갔다 하시는 QA 팀 차장님이 계시지만 그 분도 Chicken Line 이기 때문에 논외로 하자)&amp;nbsp; (주) 여기서 Chicken Line 이란 Ham 과 Egg Joke 를 말함, 참고 : &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Scrum_%28development%29"&gt;http://en.wikipedia.org/wiki/Scrum_(development)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;개발자 투입 3일전, 미리 준비해 놓을 내용이 많다.&lt;br /&gt;&lt;br /&gt;&lt;font size="4"&gt;&lt;span style="font-weight: bold;"&gt;To Think&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 개발자가 없는 상태에서의 Estimation 이 이루어짐&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 개발자가 들었으면 좋았을 것 같은 내용이 많이 나옴 -&amp;gt; 어떻게 보완할 것인가?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Pairing 계획&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 분석 설계자와 개발자를 페어로 1시간 정도 해보면 어떨까?&lt;br /&gt;&amp;nbsp;. 아니면 화면 시작전에 일정시간 10분정도 구두로 설명들으면 어떨까? (이럼 기존과 동일한건가?)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- X-internet 환경에서 복잡도에 크게 일조하는 UI를 Backlog 에서 따로 측정(Est)해보면 어떨까?&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;. Reason : FP(기능점수)산정때문에 화면하나에 CRUD 를 분리해서 작성할 수 밖에 없는 경우 CRUD 각각에 대한 EST에 UI 점수가 중복되어 들어가는 점으로 인해 점수가 모호해 질 수 있다.&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold; color: rgb(51, 128, 0);"&gt;&amp;nbsp;. Pros &lt;/span&gt;: Est 점수가 좀더 명확해 진다.&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;&amp;nbsp;. Cons&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt; &lt;/span&gt;: Pros ? So what? 관리 포인트가 는다.&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- DB의 Foreign Key&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. 늘 그래왔다는 이유로 Foreign Key를 설정하지 않겠다고 한다. -&amp;gt; FK를 걸자고 우길까 말까?&lt;br /&gt;&amp;nbsp;. 인터페이스 테이블을 만들고 EAI MQ를 이용해야 하기 때문이라고 한다. -&amp;gt; 그럼 인터페이스용 테이블을 제외하고라도 FK를 걸자고 우겨볼까? 말까?&lt;br /&gt;&lt;div style="font-weight: bold;"&gt;&amp;nbsp;. FK를 걸자고 우겼을 때의 &lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(128, 128, 0);"&gt;&amp;nbsp;.. Pros&lt;/span&gt; &lt;/span&gt;: 뒤쪽으로 빚을 남기지 않는다. 어플리케이션에서 처리해야 하는 검증 로직을 줄여 줄수 있다.&lt;/div&gt;&lt;div&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;nbsp;.. Cons&lt;/span&gt; &lt;/span&gt;: 개발자의 부담이 조금 는다. 인터페이스 테이블로 내용 붓는 로직이 좀더 정교해야 한다. 뒷감당을 할 것인가?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;- WEB Standard 는 IE 6.0 &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. Reason : 기존 환경이 IE 6.0 임. 버전업시 사내시스템이 안될 수 있음. 심지어 7.0 이상은 Explorer ver. 은 문제가 안될까? -&amp;gt; 8.0으로 했음 좋겠음&lt;br /&gt;&lt;div&gt;&lt;span style="color: rgb(51, 128, 0); font-weight: bold;"&gt;&amp;nbsp;. Pros&lt;/span&gt; : 일반 고객들도 접속하는데 자동업데이트로 IE 8.0 가 되는 고객들이 조만간 속출할 것임&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&amp;nbsp;. Cons&lt;/span&gt; : 1.업그레이드 하면 고객사 사내시스템이 안된다잖아! (정말일까?) 2.이점이 미약&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;- Product Backlog의 선후 관계를 눈에 확띄게 보일 방법은 없을까?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- X-internet (Gauce) 경우 어떻게 UI를 테스트 할 것인가?&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. x-internet + web 기반에서 UI Automation 테스트가 가능할까? -&amp;gt; 이벤트 처리를 뒷 로직에서 해주는 일반 Event Base App 에서는 Observer Pattern을 베이스로한 이벤트 테스트(Presenter First)가 가능하지만 Gauce에서는 Dataset 만 넘겨준다.&lt;br /&gt;&amp;nbsp;. 그럼 자바스크립트만 통해서 테스트 지원이 가능할까?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 업무 로직이 단순 CRUD Pass through 인 경우 TDD적용의 ROI를 맞출수 있을까?&lt;/span&gt;&lt;br /&gt;- Gauce 에서 Master - Detail 형태의 화면에 대해 살펴볼 필요가 있다.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- 개발표준에 Prototype 같은 js framework을 사용해서 개발 화면을 정리할 수 있도록 만들어 볼까?&lt;/span&gt;&lt;br /&gt;&amp;nbsp;. AA와 협의 필요&lt;br /&gt;&amp;nbsp;. 모르는 영역에 대한 부담감&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;개인 필요사항&lt;/span&gt;&lt;br /&gt;- 마우스 패드 &amp;lt;- 투명유리위에서도 인식되는 마우스가 나오려나?&lt;br /&gt;- 듀얼마우스나 키보드, 모니터는? -&amp;gt; 오바스러울까나?&lt;br /&gt;&amp;nbsp;. 방 잡히면 심하게 고민하자&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8656464440534331732-6788447654484447684?l=doortts-textcube.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://doortts-textcube.blogspot.com/feeds/6788447654484447684/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-6%EC%9D%BC-%EC%88%98-start-agile-project-in-yoido.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6788447654484447684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8656464440534331732/posts/default/6788447654484447684'/><link rel='alternate' type='text/html' href='http://doortts-textcube.blogspot.com/2009/05/5%EC%9B%94-6%EC%9D%BC-%EC%88%98-start-agile-project-in-yoido.html' title='[5월 6일 수] Start!! Agile Project in Yoido'/><author><name>doortts</name><uri>http://www.blogger.com/profile/05941841851980866313</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
