Agile Estimating and Planning의 번역서로, "규모 추정, 우선순위, 일정 배치"가 책의 부제이다. 이 책의 저자인 마이크 콘은 사용자 스토리의 저자이다. 책에서는 사용자 스토리의 내용을 이어받아 인덱스 카드를 사용하고, 이터레이션 가운데 할 일에 스토리 점수를 매기는 과정들이 묘사된다. 기억에 남는 네용은 일정 버퍼를 소개한 내용인데, 실생활에서 어떤 지점에 어느 시간까지 가야할 때 여유 시간을 배치하는 일과 비슷하다고 생각했다. 즉, 지하철을 타면 기다리는 시간 20분, 버스를 갈아타면 기다리는 시간 15분을 목적지까지 도달하는데 얼마나 걸릴까 예측할 때 고려하는 일과 유사했다. 책의 42쪽 2번째 줄에 나오는 '~에 다름 아니다'는 '~에 불과하다, 또는 ~일 뿐이다.'로 표현했으면 더 우리말다운 표현이 되겠다.
불확실성과 화해하는 프로젝트 추정과 계획
카테고리 컴퓨터/인터넷
지은이 마이크 콘 (인사이트, 2008년)
상세보기


신고
Posted by 세레

 

Alistair Cockburn이 지은 Agile Software Development(Addison Wesely)의 역서 Agile 소프트웨어 개발(피어슨에듀케이션코리아)를 읽었습니다. 이 책은 2002년 productivity award 상을 수상하기도 했는데요. 이오커뮤니케이션이 번역하였는데, 현재 그 회사는 와이즈북을 거쳐, 전자책 사업을 하는 북토피아로 바뀌었네요. 커뮤니케이션과 협력적 게임, 개인이 실천할 수 있는 일, 물리적 거리가 대화에 미치는 영향, 방법론과 방법의 정의 관점에서 본 차이 등 Agile 방법론에서 논의되는 각 주제들이 차근차근 설명되어 있었습니다. 특히 지나가는 사람들이 질문할 필요가 없도록 도와주는 정보 라디에이터(정보 방열기) 부분이 가장 흥미로웠습니다. 적은 노력으로 정보를 쉽게 전달할 수 있다는 점에서 유용합니다. Agile 방법론에 대한 전반적인 길잡이와, 응용 방법, 충고, 규칙의 한계점 등을 다룬다는 점에서 유익한 책입니다. 

오탈자 메모
  • 41쪽 밑에서 4번째 줄 
    프트웨어 -> 소프트웨어
  • 242쪽 9번째 줄 
    민접하고 -> 밀접하고 또는 민첩하고
  • 289 6번째 목록(14번째 줄)
    동기 부여가된 -> 동기 부여가 된
 
AGILE 소프트웨어 개발
카테고리 자연과학/공학
지은이 ALISTAIR COCKBURN (피어슨에듀케이션코리아, 2002년)
상세보기

신고
Posted by 세레

개선하기

2008.08.29 20:02

 

직장 부서에 어떤 상사가 있냐에 따라, 그 부서의 분위기가 좌우됩니다. 최근에 직장상사가 바뀌고 나서 재미있는 경험을 겪었는데요. 전임 상사는 하나의 팀은 항상 뭉쳐야 된다는 좌우명으로, 모두가 각자의 일이 끝날 때까지 사무실에 있어야 했습니다. 새로 온 상사는 "왜 불필요하게 그렇게 해야하지?"라면서 잔업을 처리하는 데 필요한 사람만 남고, 남는 사람을 당번으로 돌아가도록 하게 했습니다. 부서 구성원의 만족도는 높아졌고, 일은 똑같이 처리되었고 잉여 인력의 낭비는 없어졌습니다.

부서 특성 상 다양한 종류의 서류를 상신하게 되는데, 그 전까지는 완전히 구분된 업무 영역으로 일을 처리해서 각 일에 대한 전문성은 다소 높아졌지만, 담당자가 결근할 경우 고객이 자신의 요구사항을 충족하지 못하고 돌아가거나, 오래 기다리는 불편함이 있었습니다. 하지만 이번에는 서로 각자가 담당하고 있는 업무를 멘토링하면서 타인이 담당하고 있는 업무도 이해하고 유연성 있게 일을 처리할 수 있도록 되었습니다. 정보를 공유한 이후, 저도 상대방이 담당하고 있는 서류들을 '읽을' 수 있게 되기 때문에(그 전까지는 '볼' 수만 있었던) 요구사항이 불충분한 서류를 빨리 확인하고 효율적으로 업무를 진행하게 됩니다.

사무실에 인트라넷으로만 접근 가능한 위키나, 버전 관리 시스템 도입을 제안하고 싶은데 새 구성원들이 학습해야 하는 부담 때문에 걱정입니다. 그렇다고 비허가 소프트웨어를 설치해서 혼자 쓸 수도 없는 상황입니다. 문서를 작성하면서 실행취소(UNDO) 기능에 매번 감사하고 있습니다.

사무실은 점점 개선되고 있고, 우리는 충분히 더 나아질 여지가 있습니다.

아래는 추가로 생각해본 이야기들입니다.
문서를 완성하는 일, 프로그램을 완성하는 일. 제 생각에 닮은 점입니다.

처음 초안을 작성합니다.
초안을 작성한 후 문서의 오류(프로그램의 버그에 해당)를 찾습니다.
고객의 요구사항이 변경되면 다시 문서(프로그램)를 작성, 준비하거나 수정합니다.
특정한 여러 요구사항이 충족되면 문서는 완성됩니다.
(특정한 여러 요구사항의 행동명세를 수행하면 프로그램은 완성됩니다.)
가끔 오류가 있는 채로 인수가 되면, 다시 수정 작업(패치)을 합니다.
문서의 상태가 변경되고, 그 변경 기록을 문서화하여 유지하는 일이 중요합니다.
인수예정일까지 완성해야 한다는 부담이 있습니다.

닮지 않은 부분은, 문서 형식이 완전히 바뀌는 경우를 제외하고는, 일단 문서에는 이미 정해진, 또는 관례적인 형식이 존재해서 새로운 요구사항에 맞춰 특정 부분을 치환하면 됩니다.

신고
Posted by 세레

 

Agile Retrospectives: Making Good Teams Great의 번역서 애자일 회고: 최고의 팀을 만드는 애자일 기법이 출간되었습니다. 이 책은 애자일 시리즈의 5번째 책인데요. 애자일 방법론에서 말하는 '회고'를 하는 방법과 회고를 통해, 개인과 팀을 개선하는 방향으로 나아가는 길을 제시합니다.

되짚어보니 학교 중에서도 '회고'하는 프로세스가 포함되어 있습니다. 예컨대 도플러 효과에 관한 실험을 수행했는데, 그에 대한 결과보고서를 쓰도록 요구받는데요. 만약 보고서를 쓰지 않았다면, "정말 좋은 실험이었다."로 끝나게 되겠죠. 하지만 보고서를 쓰면서, 실험 과정을 한번 더 떠올려 보고, 어떤 원리 때문에 이런 결과가 나왔는지, 일치하지 않는다면 그 오차의 원인은 무엇인지 고민하게 됩니다. '중간고사'와 '기말고사'도 그냥 수업시간으로 끝날 수 있었던 과목을 스스로 정리하고 생각해 볼 기회를 준다는 점이 긍정적이죠. 나중에 과목 내용이 더 기억에 남고요.

어떤 회의에서 회고를 도입하자고 했을 때, 어려웠던 점이 생각납니다. 회고 중에 물론 잘했던 점에 칭찬도 이루어지지만, 못했던 점을 반성하는 과정이 포함됩니다. 그래서 회고는 남을 '비판'하려는 과정이 아니라 '팀'을 개선하는 길임을 납득시키는 일이 쉽지 않았는데요. 이 책에서 소개된 다양한 활동은, 보드게임처럼 즐겁고 흥미진진하게 회고를 진행하는데 도움이 될 것이라고 보았습니다. 회고를 통해 개인과 팀의 성취가 날마다 더 나아지는 경험을 겪고 싶으시다면 읽어보시길 추천합니다.

애자일 회고(애자일 시리즈5) 상세보기
에스더 더비 지음 | 인사이트 펴냄
회고, 즐겁게 돌이켜보고, 기민하게 해결하고, 강점을 살려주는 집단 점검의 시간! 모든 팀 리더와 희의 진행자(facilitator)의 필독서. '회고'는 이터레이션이나 프로젝트 말미, 혹은 프로젝트 중간 목표를 달성한 후 점검 차 팀원들이 그동안의 행적을 돌이켜보고 자료를 수집하여 문제점을 밝혀낸 뒤, 개선을 위한 아이디어와 구체적인 실행 방안을 내고 그 다음 업무에 효과적으로 이를 적용시키기 위한 모임 활동이다. 『
신고
Posted by 세레

 

PHP in Action(부제: Objects, Design, Agility)을 읽고 있습니다. 정말 좋은 책입니다.
이 책의 resource를 잠시 나열하겠습니다.
...
  1. Beck, Kent. Test-Driven Development by Example. Addison-Wesley. 2003.
    1. 테스트 주도 개발. 인사이트 2004.
  2. Evans, Eric. Domain-Driven Design. Addison-Wesley, 2004.
  3. Feathers, Micheael. Working Effectively with Legacy Code. Prentice Hall, 2005.
  4. Fowler, Martin, et al. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999
    1. Refactoring(한글판). 대청. 2002.
  5. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns. Addison-Wesley, 1995.
    1. GOF의 디자인 패턴(개정판). 피어슨에듀케이션코리아. 2007.
      ...
  6. Bushman, Frank, et al. Pattern-Oriented Software Architecture. John Wiley & Sons, 1996.
  7. Shiflett, Chris. Essential PHP Security. O'Reilly, 2006.
    1. PHP 보안: 몇줄의 코드로 안전하게. 한빛미디어. 2006.
  8. Martin, Robert C. Agile Software Development. Principles, Patterns, and Practice. Prentice Hall, 2003.
책에서는 Part 1에서 "도구와 개념"을 논하고, Part 2에서는 "테스팅과 리팩터링"에 대해 논합니다.  Part 3에서는 "웹 인터페이스 빌드하기", Part 4에서는 "데이터베이스와 인프라스트럭처"를 논하고 있습니다.
부록에서는 "테스팅을 위한 도구와 팁"(Simple Test, PHPUnit와 같은 단위 테스팅 프레임워크에 대해), "보안" (SQL injection, XSS 등에 대해)등 간과하기 어려운 주제를 간략히 서술하고 있습니다.

이렇게 파격적인 구조로 이루어진 한글로 된 PHP 책은 아직까지 발견하지 못했습니다. 국내에 들어와 있는 "무작정 따라하는" 책에서는 PHP 문법은 무엇인지 암기하도록 독려하고, 예제를 들어 독자로 하여금 따라할 것을 요구하여 왔습니다. MySQL이나 Apache와 통틀어서 한 권의 책으로 다루어지는 일도 빈번했습니다.

건강한 웹 애플리케이션을 위한 설계와 개발 원리(단위 테스팅, 리팩터링, 디자인 패턴)에 대해 특정 언어에 적용하여 설명하고 있다는 점에서, 이 책은 정말 가치 있다고 생각합니다. PHP에 대해 기초적인 지식이나, 다른 프로그래밍 언어를 다루어 본 적이 있고, PHP를 당장 실무에 적용해야 할 일이라면 이 책이 적임이라고 봅니다.
p.s.
  1. 책의 저자 중 한 명인 Dagfinn Reiersøl의 블로그 PHP in Action이 있다. 드물게 포스팅이 이루어지나, 경험에서 우러나온 유익한 글이 많아 보인다.
  2. Manning에서 제공하는 Forum: PHP in Action이 있다.

PHP IN ACTION : Objects, Design, Agility 상세보기
Reiersol, DagfINn/ Baker, Marcus/ Shiflett, Chris 지음 | Oreilly & Associates 펴냄
신고
Posted by 세레

 

Xper[각주:1] 2007년 송년회(기記년회[각주:2])를 다녀왔습니다. 난생 처음 그리스 음식도 먹어봤네요. 잊지 못할 경험이 될 듯합니다.  중간에 나온 가지에 담긴 음식이 있었는데, 정말 맛있더라고요.
 
발표자료 준비하면서, 워낙 슬라이드 준비하는 것도 그렇고 발표하는 것도 되게 어설퍼서 어떤 내용을 넣을까 고민을 해왔어요. 그런데 막상 모임 장소에 딱 도착하자마자 PyO님 앞에 앉게 되었는데, 경수님이 환한 미소로 반갑게 맞아주셔서 긴장도 좀 풀리고 저에겐 도움이 되었습니다. 경수님은 "창의성은 어디에서 오는가?"라는 주제로 발표해 주셨는데 "의식의 흐름"이라는 기법이 인상적이더라고요. 저는 이상처럼 문학가 분들만 사용하는 방식인 줄 알았는데, 슬라이드를 준비하는 데에도 충분히 적용될 수 있구나 하는 감명을 받았어요. 늴리리야 노래를 못들은게 아쉽습니다. ^^;;

따로 적어두었으면 더 선명하게 기록을 했을텐데, 두서없이 발표 내용을 나열해 보자면...

지적재산권에 관심있다고 해주신 은경님의 "목표와 목적"에 대한 발표가 공감이 많이 되더라고요. 목적을 따라가야 하는데, 어느 사이에 목표가 목적으로 바뀌어 있는 경우가 종종 있었거든요. 심정적으로 목표에만 지나치게 생각하다가 그런게 아닌가 생각했었는데, 잘 뚜렷하게 구분해야겠다는 생각했습니다. 예전에 라이센스 관련해서 궁금해가지고, CC 비영리 라이센스와 구글 애드센스는 충돌할까?라는 글을 올려본 적이 있는데 나중에 또 뵙게되면 여쭤보고 싶네요.

TRIZ 발표해주신 승백님의 발표도 인상깊었던 게 도식을 이용해서 설명하신 부분이었는데요. 사실 이전에 TRIZ라는 걸 얼핏 신문기사에서 본 느낌은 있었느데 구체적으로 그림을 보니깐 더 관심이 가더라고요. ^^

아발론 연대기 소개해 주신분 정말 감사했어요. 마침 학교 도서관에도 책이 있고 해서, 겨울 방학을 심심하지 않게 보낼 수 있을 것 같아요. 아더왕에 대한 오해나 편견도 깰 수 있는 계기가 될 것 같고요. 그리고 좋은 소설을 찾고 있던 중이었는데, 마음을 굳혔습니다. ^^

이나무님의 발표도 들었는데요. 발표에서 아내를 사랑하시는 마음이 느껴져서 감동적이었어요. 인류를 위한 사랑으로 끝맺음을 하셨는데, 정말 따뜻한 발표였습니다.

애자일 방법론으로 결혼 준비를 하셨다는 발표도 있었는데요. 아마 가장 유쾌했던 발표가 아니었나 생각하게 되었어요. 압권이었던 대목은 "요구사항이 자꾸 바뀌기 때문에..사용자 스토리도 써 가면서"(이런 내용이었던 듯)였습니다. 앞으로도 계속 행복하시길 기원합니다.

입사하셨는데 사수 분이 설명도 잘 해주지 않고 짝 프로그래밍부터 시작했다는 에피소드의 발표도 있었는데요. 발표를 듣고 나서, 다른 분이 자세히 설명해 주시는 것도 좋지만 스스로 학습한 것만큼 더 기억에 남는 건 없다는 교훈을 얻게 되었어요.

파인만은 "파인만씨 농담도 잘하시네!"도 읽고, "Lecture of Physics" 때문에 재미있고 훌륭하신 물리학자임은 알고 있었는데 "파인만 학습법"을 소개해주신 분도 정말 감사했습니다. 한번 저도 적용해보고 싶네요. "오픈 시큐리티"가 잘 되셨으면 좋겠습니다.

준석님은 P-Camp에서 이전에 한 번 뵌적 있었는데, 우연히 여기서 뵙게 되어서 반가웠어요. 슬라이드 그림이 정말 멋있었습니다. 말씀도 잘하시고, 나중에 전체적으로 발표가 끝난후 WoC 이야기도 해주시고 이모저모 감사했습니다.

선아님은 어디서 얼굴은 뵌 적이 있는 것 같은데.. 하는 느낌이 들었는데 P-Camp 2회 때 OST 마무리하면서 그 때 멀리서 뵈었다는 걸 깨닫게 되었어요. 발표를 유쾌하게 진행해 주셨는데요, 열정적인 모습이 기억에 남았어요. (저도 열정을 수혈받은 느낌이 드네요. ^^)

웹개발 2.0 루비온레일스의 저자이신 대산님도 뵈었습니다. 발표를 듣는데 공부가 즐겁다고 하셔서, "혹시 엄마친구아들이신가?" 하는 생각도 했어요. 대학 때 수학이랑 물리를 좋아하셨다고 했는데, 저도 전공이 물리라서 호감을 느꼈어요. (실력은 부족하지만 저도 수학을 좋아해요.)

정훈님은 정말 따뜻한 느낌이 나는 사람이었어요. 발표가 끝난후 단위테스트를 도입해서 쓰고 있으시다는 이야기 들었는데요, 기회가 닿는다면 좀 더 이야기를 듣고 싶네요.

창준님의 발표는 파격적인 느낌이 강했어요. 발표 시작할 때 돈키호테가 부른 노래도 들려주시고, 추천해주신 돈키호테 뮤지컬에 관심이 갑니다. "이너 골프"에 대한 이야기도 듣고, 여분의 슬라이드가 궁금하네요. 아, 그리고 아기 정말 이쁘던데요. 세상을 연결하라는 의미에서, 세연이라고 이름을 지으셨다는데 정말 좋은 의미인 것 같아요.

펭도님의 발표에서는 누구나 디자인 할 수 있다라는 것과, Brass Band를 창업하신 회사에 적용하고 있다는 이야기가 마음에 다가왔어요. 주당 16시간 근무를 목표로 근무시간을 줄여나가고 있다고 하셨는데, 긍정적인 결과로 나타나길 기원할게요. 이번 행사의 스태프로 힘써주셨는데 감사합니다. :)

박일님의 발표는 리니지 2의 Credit 화면을 보여주셨어요. 확실히 프로그램에 개발하신 분들의 이름을 적는 것은, 개발하시는 분들의 입장에서는 만들고 계신 프로그램에 대해, 더 사랑할 수 있도록 하게 되는 계기를 마련해 줄 것이라고 생각해요.

미디어아트를 하시는 승준님의 발표는, "포토 모자이크"가 여러 스케일에서 이루어지는 영상을 보여주셨는데요. 각 사진으로 큰 사진을 구성한다는 게 멋있다는 느낌이 들었습니다.

스페인어를 잘 하신다는 우경님의 발표는, 재미있게 들었어요. 온라인 학습 생태계에서 이나무님과 같이 일하시고 있다고 들었는데요. "몸을 움직이지 않으면, 살아있다는 느낌이 들지 않는다."라는 말을 인상깊게 들었습니다. 언제 한번 실력 발휘 해주셨으면 좋겠어요. ^^

세계여행을 가고 싶다고 발표해주신 분도 있었고요(정말 부러워요), 그 분의 아내 분이 커피에 대한 이야기를 해 주셨는데요. "안암동 보헤미안"이라는 곳을, 꼭 가보고 싶다는 마음을 먹게 되었습니다. 미처 그런 장소가 있는지 몰랐어요.

제일 마지막으로 발표해주셨던 미진님. XP를 먼저 경험했다가 지금은 그런 쪽과 거리가 먼 회사에서 근무를 하시니깐 주변에서 "타락한 천사"라고 부른다고 하셨다는 점이 기억에 남네요. 기년회의 스태프로 임해주셨는데 감사합니다. ^^

모든 참여자가 발표를 해서, 저도 발표를 하게 되었어요. 슬라이드 안에 포함된 이미지들은 저작권이 있는 이미지가 있고요, 발표를 할 때 슬라이드 내에서 인용의 목적으로 사용했는데 공정한 관행에 합치되지 않는 인용이라고 생각하시면 댓글이나 방명록을 통해 알려주시면 좋겠습니다. 그리고 이 이미지들은 CCL 적용을 받지 않으며, 각 저작자에게 저작권이 속합니다. 슬라이드 내에 출처 표시는 되어 있습니다.
All Images in slide are copyrighted works. I used them only for quotation (or fair use), but if you think this violates their copyright, please let me know the fact by comment or guestbook. These are not applided in CCL, and each copyrighter have their copyright on each image. I expressed source of each image in a slide by URL.


좋은 분들의 이야기도 많이 듣고 했는데, 전부 기억하지 못해서 혹시라도 포함되지 않으셨다면 양해를 부탁드려요. (--)(__)  서로의 열정과 에너지가 기년회를 통해 전파되고, 모임에 참여한 사람들이 전체 발표 세션이 끝난 이후에 편안한 분위기에서 이야기를 나눌 수 있다는 점이 좋았습니다. 발표자료를 준비하면서 한 해 전체를 회고하는 계기도 되고, 다른 분들의 회고하는 스타일과, 그 회고에서의 핵심적인 교훈들을 배웠습니다. 저는 집이 멀어서, 11시 15분 쯤에 나왔는데, 집에 도착하니 새벽 1시더라고요. 앞으로도 기회가 닿는다면 참석해서 계속 좋은 경험을 나누고 싶습니다. 감사합니다.

  1. 한국 eXtreme Programming 사용자 모임으로, <a href="http://legendre.tistory.com/199" target="_blank">익스트림 프로그래밍</a>과 같은 책이나, <a href="http://xper.org/wiki/xp/WhatIsXp" target="_blank">What is Xp</a>와 같은 글이 XP를 아시는 데 도움되실 듯합니다. [본문으로]
  2. 디벨로퍼 웍스의 <a href="http://www.ibm.com/developerworks/kr/library/dwclm/20071218/" target="_blank">망년회 대신 기년회</a>라는 글을 참조하세요. [본문으로]
신고
Posted by 세레

 

린 소프트웨어 개발을 읽었습니다.[각주:1] 도요타라는 자동차 회사에서 적용하고 있는 작업 방식(혹은 도요타 생산방식이라고 알려진)에 대해서는, 많은 경영서들에서 언급하고 있었고 이런 방식이 소프트웨어 개발에 적용될 수 있다는 점에서 이 책에 관심을 갖게 되었습니다. 책의 부제는 "애자일 실천 도구 22가지"인데, 이 부제대로 책은 각 도구를 기준으로 하여 차분히 설명하고 있습니다.

특히 흥미를 가졌던 주제는
  • 도구 1의 가치를 전달하지 않는 모든 행위를 낭비로 간주했던 점이 신선했던, 낭비 찾아내기
  • 도구 11의 시간 자원의 효율적 사용을 도와주는 대기행렬이론[각주:2]
  • 도구 13의 피상적 접근을 경계하고, 사람에 집중하는 자기 결정권
  • 6장의 통합성
    • 고객과 개발자가 동적으로 의견을 교환하도록 돕는 인식통합성,
    • 신속하고 잦은 소통이 강조되는 개념통합성
입니다. 더불어 책 중간에 예시로 소개되었던 "죽음의 행진"이라는 책에도 호기심이 생겼습니다. 22개의 도구가 여러 장에 걸쳐 소개되고 나서는, 주의사항과 환경별 사용법 등이 소개된 사용설명서와 제품보증서가 나옵니다. 책에 나왔던 여러 지침들을 실행하기 전에 이 부분을 읽어보는 것이 바람직해 보입니다. 아쉬웠던 점은, 사이드바에 제시된 주석의 양이 많고 빈번한 것입니다. 저자의 의도는 본문에 제시된 글에 대해 풍부한 참고자료나, 적절한 출처, 본문에 대한 보강설명 등을 제공하려는 것으로 보입니다. 주석을 꼼꼼하게 챙겨 보는 저같은 경우에는 본문을 읽다가, 사이드바의 주석을 읽고 다시 본문으로 돌아오려면 맥이 끊겨서, 본문에 집중하는데 어려움을 겪었습니다.

그림과 도표로 린 방식의 이해를 돕는 이 책은, 소프트웨어 개발에 관련된 다양한 역할의 분들이 '린'방식의 본질을 알고, 실천하는 데 좋은 길잡이가 될 것으로 보입니다.
린 소프트웨어 개발 상세보기
메리 포펜딕 지음 | 인사이트 펴냄
린(Lean)방식에 의한 소프트웨어 개발 방법론: 조직에 애자일 개발 방법을 적용하라! 이 책은 소프트웨어 개발 분야를 이끌어 가는 사람들을 위한 Thinking Tool에 대해 다룬다. 도요타에서 유래되어 제조뿐만 아니라 유통, 제품 개발까지 혁명적으로 변화시킨 린(Lean) 원칙들을 효과적인 애자일 방법으로 전환하기 위한 도구 모음이다. 린 원칙을 애자일 개발방법에 도입하여 더 좋고, 더 싸고, 더 빠르게 최적화 시키는 방법과

  1. 원서는 "Lean Software Development"입니다. [본문으로]
  2. 제약이론과도 연관이 있는 주제인데, 나중에 "<a href="http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=8983002530" target="_blank">The Goal</a>"과 같은 책을 찾아보고 싶네요. [본문으로]
신고
Posted by 세레

 

사용자 삽입 이미지

P-Camp 그 두번째 만남을 다녀왔습니다. 2007년 10월 10일 수요일, 코엑스 컨퍼런스센터 401호에서 열렸습니다. 시작하기 전에 신청했던 샌드위치를 먹고나서(처음에는 물이 없어서 그냥 먹다가… 나중에 물을 주셔서 다행이었습니다.) 401호로 들어갔습니다. 오프닝 튜토리얼로 김창준님 께서 "Ontogeny[각주:1] of Unit Tests in Test Driven Development"를 주제로 발표해 주셨습니다. 국제 콘퍼런스 때에 발표되었던 자료라, 발표자료가 영어로 되어 있다고 하시더군요.

Test에는 두가지 방식이 있다고 하셨는데요.
  • Support Programming Test to pass
  • Critic Programming Test to fail
이 있다고 합니다. "린 소프트웨어 개발"의 저자 중 한 명인 Merry Poppendick은 둘 다 선택하라고 하는데, 발표자료에서 다루는 건 "Test to pass"쪽에 중점을 맞춘다고 하셨습니다.

V-Model
이야기와 함께, Design Pattern에는 GoF[각주:2] 여러가지 경험을 두루 쌓은 Christopher Alexander[/footnote]물리와 화학, 수학, 건축학, 전산과학 등을 공부했다고 합니다. [/footnote]가 지었다는 4권으로 된 "Nature of Order"가 소개되었습니다. (시간 없는 분은 2권만이라도 읽으라고 추천하시더군요. 저도 도서관에 신청했습니다.) 이 책은 검증받진 못했지만, 가능성이 있다고 합니다. Best practice라기보다는, A practice로 보는 게 맞다고 하시더군요.

Living Structure의 기준은 Wholeness(전체성)가 언급되었습니다. Life에 대해서 Christopher Alexander는 A와 B를 두고 어느 것이 더 살아있는 느낌이 나는지 피실험자로 하여금 고르게 하였는데, 대부분의 사람들이 살아있다고 느끼는 선택점은 대부분 일치했다고 합니다.
Which one of these two things would I prefer to become by the day of end of life?[각주:3]
Mistake-free[각주:4], 즉 실수가 없으려면 창조(설계적)보다는 생성(단계적)으로 접근하는 게, 실수의 여지가 감소하며 살아있는 느낌을 받을 수 있다고 합니다. 이는 Community, Product, 시(Poem)에도 적용 가능하다고 합니다.

여기서 정의된 Ontogeny는, "Living Sturcture를 만드는 과정"이라고 정의되었습니다. Addition(추가)와 대치되는 Differentiation(분화)[각주:5] 즉 자라나기 전에 기미가 나타나고, 그 후에 출현한다는 모습으로 설명되더군요.

또한 Contextual(직역하면 '문맥상의')을 키워드로 하여 본래 존재하던 것의 훼손을 경계한다는 이야기를 들었습니다. "건물을 피어나게 한다"라는 생각에 약간 감동을 받았습니다. 이를 Structure Preserving Transformation이라고 하더군요. 화가 Henry Matisse의 이야기와 더불어, 살아있는 특징에 대해 몇 가지 언급되었는데요. Center는 주의를 집중하게 하고, 도드라져 보이며, 하나 이상일 수 있다고 합니다. Pattern은 Center를 생성하는 규칙이고, 이보더 더 일반적인 Sequence는 과정을 거치면 Center가 만들어지는 것을 말한다고 합니다.

Unfolding Generative 15 Properties (of Natural Morphology)가 다음에 소개되었는데요. 다음과 같습니다.
(강조된 것은 *)
  1. Levels of Scale
  2. Strong Centers *
  3. Boundaries
  4. Alternating Repetition *
  5. Positive Space
  6. Good Shape
  7. Local Symmetries
  8. Deep Interlock and Ambiguity
  9. Contrast
  10. Gradients
  11. Roughness
  12. Echoes
  13. The Void
  14. Simplicity and Inner Calm
  15. Not-Separateness[각주:6]
이는 15 transformations라고도 불리고, Refactoring(Latent Center를 찾음으로써)에도 적용될 수 있다고 합니다. 신용카드가 유효한 지 검증하는, Luhn Algorithm으로 원시적인 코드에서 Center를 강화시킴으로써 자라는 코드를 보여 주셨는데 매우 인상깊었습니다. 특색처럼, 대규모 응용에는 Process, People Relation, Online Community, Interaction Design이 언급되었습니다.

Q&A시간에는 어떻게 이런 것들을 적용하면 좋겠냐고 하셨는데,
Do once more good thing, Do it again and again…이라고 하시더군요.
작은 좋은 것들이 모여 더 큰 좋은 일에 기여한다는 것이었죠.

토론에는 "14. 효율적인 교육과 여가활용 방안"에 참석했습니다. 뵙기 힘든 다양한 분들을 만나, 진솔한 이야기를 나누고 들을 수 있어 유익한 자리였습니다. 각자 여가를 어떻게 활용하는 지에 대해 퍼실리테이터 역할을 맡으신 분의 조정으로 돌아가면서 이야기를 듣고는 했습니다. "아키텍트를 꿈꾸는 사람들"이라는 네이버 카페에서 활동하시는 분도 있으시더군요. 혼자서 하는 공부와는 다르게 여럿이 하는 스터디는 책임감에서라도 더 열심히 하게되는 동기가 주어진다는 생각을 했습니다. 하지만 토론규칙이나 형식이 지나치게 제약을 주지 않은 한에서, 더 짜임새있더라면 좋지 않았을까 하는 아쉬움도 남았습니다.

토론이 끝나고 나서는, 희망하는 조에 한해서 퍼실리테이터가 토론에서 의미있는 결론이나, 새로이 통찰할 수 있는 것들을 모아 정리해서 간단히 발표하는 시간이었습니다. 발표하는 분에게는 한정판 Geek 티셔츠(!)가 주어지더군요. 발표까지 끝나고 나자, 어느덧 저녁 10시를 약간 넘긴 시각이 되었습니다. 만나기 힘든 분들이 한 자리에 모여 서로 소통하고 배울 수 있다는 점에서 P-Camp는 가치있다고 생각합니다. P-Camp 세 번째 만남을 기대합니다.

사용자 삽입 이미지사용자 삽입 이미지
사용자 삽입 이미지사용자 삽입 이미지
  1. 개체발생(<a href="http://en.wikipedia.org/wiki/Ontogeny" target="_blank">Ontogeny</a>)으로 번역되곤 합니다. 발생생물학에서 연구되는 주제 가운데 하나. [본문으로]
  2. Gang of Four의 두문자어(acronym)로, "GoF 디자인패턴"으로 번역된 책이 있다. [본문으로]
  3. <a href="http://www.spamula.net/blog/archives/000243.html" target="_blank">http://www.spamula.net/blog/archives/000243.html</a>에서 두 번째 *** 다음 부분을 참고하세요. [본문으로]
  4. free는 무료가 아닌 없다라는 의미 무설탕(sugar-free)과 같은 맥락. [본문으로]
  5. <a href="http://en.wikipedia.org/wiki/Cellular_differentiation" target="_blank">Cellular differentiation</a>을 의미합니다 [본문으로]
  6. Nature of Order에 관한 PDF 형식의 자료를 보려면 다음을 참고합니다. <a href="http://www.dreamsongs.com/NewFiles/NatureOfOrder.pdf" target="_blank">http://www.dreamsongs.com/NewFiles/NatureOfOrder.pdf</a> [본문으로]
신고
Posted by 세레

 

익스트림 프로그래밍, 애자일 프랙티스에 이어서 (고객 중심의 요구사항 기법) 사용자 스토리를 읽게 되었습니다. 이제 '린 소프트웨어 개발'만 읽는다면, 인사이트에서 나온 애자일 시리즈 도서를 다 읽게 되는군요. 사용자 스토리는 현실을 반영하지 못하는 요구사항 명세에서, 고객과의 지속적인 대화를 강조합니다. 대화로 하여금, 모호한 문장으로 생기는 고객과 개발자 사이의 간극을 좁힐 수 있습니다. 고객으로 하여금 사용자 스토리를 작성하게 함으로써, 개발자와 고객 사이의 공통된 언어를 사용하도록 돕습니다.

고객 또는 대리사용자로부터 수집한 사용자 스토리는 2부의 '추정과 계획'에서 점수를 매깁니다. 이 스토리 점수에 따라서 이터레이션마다 어떤 스토리를 개발할 것인지 계획하고,  각 이터레이션 주기를 모니터링 함으로써 이터레이션 차트를 그리도록 합니다.

3부에서는 스토리로 오해하기 쉬운 것들과, 사용자 스토리를 써야 하는 이유, 그리고 스토리를 사용할 때 주의해야 할 점들을 다룹니다. 또한 Agile 계열의 방법론 중 하나인 Scrum에서 사용자 스토리를 사용하는 예시를 보여줍니다. 4부에서는 항해업에 종사하는 사람들을 위해 온라인 도서 판매 서비스를 제공한다는 예제를 통해, 사용자 스토리를 전체적으로 짚어봅니다. 5부에서는 익스트림 프로그래밍을 접하지 못한 사람들을 위해, 간략한 개요가 들어있고 각 장의 연습문제 해답이 들어 있습니다.

다른 서적에 소개된 요구사항 기법들에 짓눌려 있었다면, 사용자 스토리를 통해 재빠르고 가벼운 기법을 도입한다면 어떨까요?
사용자 스토리 상세보기
마이크 콘 지음 | 인사이트 펴냄
애자일(Agile) 프로그램의 활용법과 사용자가 필요한 소프트웨어 개발에 대한 내용을 담고 있는『사용자 스토리』. 이 책은 사용자 스토리를 수집하는 현실적인 방법과 상황에 따른 대처 방법, 사용자 스토리 수집 후 조직화와 순위를 부여하여 계획하고 테스트 단계에 활용하는 방법에 이르기까지 상세하게 설명하고 있다. 《사용자 스토리》에서는 사용자 스토리가 무엇인지에 대한 개념과 개요, 사용자 스토리 작성과 수집, 테
신고
Posted by 세레

 

익스트림 프로그래밍(Extreme Programing Explained 2/E)를 읽었습니다. Extreme Programming, 줄여서 XP는 "애자일 소프트웨어 개발"에서 논의되는 방법론 중의 하나입니다. 한국 eXtreme Programming 사용자 모임도 있고요.
첫 부분에 XP에 대한 설명과 1부 XP 탐험하기에 대해서는 차근차근 XP가 추구하는 가치, XP의 실천방법 등에 대해 나와 있습니다.

제일 관심있게 읽었던 부분은 "제약이론"입니다. 세탁하는 과정을 비유로 들어서 제약 이론을 설명하고 있었는데, 제약 지점을 찾는 것에 대한 이야기를 하고 있었습니다. 제약 이론은 전체적인 처리 역량을 좋게하는데 초점을 두고 있다는 점에서 좋은 방법으로 보입니다. 다만 XP를 적용함으로써 새로운 제약지점 부서는 주목받는 일을 원하지 않기 때문에, XP가 도입되기 여렵다고 하는 점에서 아쉬웠습니다.

도요타 생산 시스템이 언급되는 장도 있었습니다. 이 장에서 언급되었던 Lean Software Development가 2007년 9월 중순에 번역본으로 나왔던 소식을 들었던 터라, 반가웠습니다. 테일러주의가 보편적으로 사회에 자리잡기는 했지만, 특정 분야(이를테면 소프트웨어 개발)에서는 그에 적합한 방법을 사용하는 것이 맞다고 봅니다.

책 끝부분에 많은 참고문헌이 소개되어 있어서,
어떤 주제에 대해 관심이 있다면 찾아서 학습할 수 있도록 돕고 있습니다.

블로그에 읽었던 책을 틈틈이 정리하고는 하는데, 이번주는 정말 책을 열심히 읽었네요.
익스트림 프로그래밍(Extreme Programming) 상세보기
켄트 벡 지음 | 인사이트 펴냄
익스트림 프로그래밍 입문서 개정2판. 이 책은 XP의 소개와 운전하는 법 배우기, 가치와 원칙, 실천 방법, 제약 이론, XP확장, XP의 철학 등의 내용을 담았다. 저자는 이 책에서 소프트웨어를 개발하는 데 필요한 핵심과 실천 방법들을 소개하고, 프로젝트를 어떻게 더 잘 운영할 것인지, 사실에 기반을 둔 계획성들에 관하여 이야기한다. 《익스트림 프로그래밍》에서는 XP를 적용하여 얻게 되는 가치와 조화되는 삶에 관한 실천

신고
Posted by 세레

카테고리

분류 전체보기 (446)
Science (283)
ars boni et aequi (54)
Routine (83)
Language (23)
Q&A (1)
me2day (1)

달력

«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

티스토리 툴바