애자일
- 스크럼과 XP 2010.05.31
- 컨텍스트를 생각하는 디자인 2008.11.15 2
- 스크럼 2008.11.01
- 개선하기 2008.08.29
- 애자일 회고: 최고의 팀을 만드는 애자일 기법 2008.02.25 2
- 린 소프트웨어 개발의 적용 2008.01.25 2
- Xper 2007년 송년회 후기 2007.12.22 7
- 린 소프트웨어 개발 2007.10.27
- 사용자 스토리 2007.10.08 3
- 익스트림 프로그래밍 2007.09.21
스크럼과 XP
컨텍스트를 생각하는 디자인
Rapid Contextual Design의 번역서이자, UX Insight 시리즈의 첫 책입니다. 책 제목에 포함된 rapid 1라는 단어에 걸맞게, 이 책은 실무에 어떻게 적용하는 지를 이야기하는 데 집중합니다. 이 책에서는 허용된 시간에 따라 세 가지의 과정을 제안합니다. 세 가지를 시간이 적게 걸리는 순서로 나열하면 속전속결, 속전속결 플러스, 집중 래피드 CD 2입니다. 일정 별로 각 과정에 포함된 할 일과 피할 일을 대조하여 설명합니다. 책에서는 어피니티 3, 아티팩트 4, 페르소나 5, 목업, 랩업 등과 같이 컨텍스추얼 디자인에서 쓰이는 용어와 그 의미를 소개합니다. 컨텍스추얼 디자인에 배경지식이 없고 생소한 용어들이 많이 등장해서 쉽지는 않았습니다. CD를 적용한 이초크, 애자일런트 등의 사례를 이론 부분 이후에 자세하게 제시해 줘서 유익했습니다. 정규 교과과정 중에서 컨텍스추얼 디자인을 포함하는 교육기관, 관련 강좌나 웹사이트 등을 소개하는 참고 자료가 부록으로 들어 있다면 더 좋았을 거라고 생각합니다. 6
|
- 번역서의 제목인 컨텍스트를 생각하는 디자인에서 컨텍스트는 외래어표기법에 맞지 않다. Context를 발음기호와 외래어표기법 규정에 맞게 표기하면 칸텍스트(미)/콘텍스트(영)이 되며 컨텍스트라는 발음은 없다. 참고로 Contextual은 컨텍스추얼로 표기하는 게 맞다. [본문으로]
- 빠른, 급한, 신속한 등을 의미한다. [본문으로]
- Contextual Design의 축약형으로 책에 자주 등장한다. [본문으로]
- 어피니티는 외래어표기법에 맞지않다. affinity를 발음기호와 외래어표기법에 맞게 표기하면 어피너티가 된다. 어피니티라는 발음은 없다. [본문으로]
- 외래어표기법에 맞게 표기하면 아터팩트가 옳다. [본문으로]
- 영어 외래어표기법에 맞게 표기하면 퍼소너이고, 국립국어원 표준국어대사전에서는 persona를 페르소나(라틴어)로 기독교, 미술 분야에서 쓰이는 전문용어로 설명한다. [본문으로]
스크럼
|
개선하기
직장 부서에 어떤 상사가 있냐에 따라, 그 부서의 분위기가 좌우됩니다. 최근에 직장상사가 바뀌고 나서 재미있는 경험을 겪었는데요. 전임 상사는 하나의 팀은 항상 뭉쳐야 된다는 좌우명으로, 모두가 각자의 일이 끝날 때까지 사무실에 있어야 했습니다. 새로 온 상사는 "왜 불필요하게 그렇게 해야하지?"라면서 잔업을 처리하는 데 필요한 사람만 남고, 남는 사람을 당번으로 돌아가도록 하게 했습니다. 부서 구성원의 만족도는 높아졌고, 일은 똑같이 처리되었고 잉여 인력의 낭비는 없어졌습니다.
부서 특성 상 다양한 종류의 서류를 상신하게 되는데, 그 전까지는 완전히 구분된 업무 영역으로 일을 처리해서 각 일에 대한 전문성은 다소 높아졌지만, 담당자가 결근할 경우 고객이 자신의 요구사항을 충족하지 못하고 돌아가거나, 오래 기다리는 불편함이 있었습니다. 하지만 이번에는 서로 각자가 담당하고 있는 업무를 멘토링하면서 타인이 담당하고 있는 업무도 이해하고 유연성 있게 일을 처리할 수 있도록 되었습니다. 정보를 공유한 이후, 저도 상대방이 담당하고 있는 서류들을 '읽을' 수 있게 되기 때문에(그 전까지는 '볼' 수만 있었던) 요구사항이 불충분한 서류를 빨리 확인하고 효율적으로 업무를 진행하게 됩니다.
사무실에 인트라넷으로만 접근 가능한 위키나, 버전 관리 시스템 도입을 제안하고 싶은데 새 구성원들이 학습해야 하는 부담 때문에 걱정입니다. 그렇다고 비허가 소프트웨어를 설치해서 혼자 쓸 수도 없는 상황입니다. 문서를 작성하면서 실행취소(UNDO) 기능에 매번 감사하고 있습니다.
사무실은 점점 개선되고 있고, 우리는 충분히 더 나아질 여지가 있습니다.
아래는 추가로 생각해본 이야기들입니다.
문서를 완성하는 일, 프로그램을 완성하는 일. 제 생각에 닮은 점입니다.
처음 초안을 작성합니다.
초안을 작성한 후 문서의 오류(프로그램의 버그에 해당)를 찾습니다.
고객의 요구사항이 변경되면 다시 문서(프로그램)를 작성, 준비하거나 수정합니다.
특정한 여러 요구사항이 충족되면 문서는 완성됩니다.
(특정한 여러 요구사항의 행동명세를 수행하면 프로그램은 완성됩니다.)
가끔 오류가 있는 채로 인수가 되면, 다시 수정 작업(패치)을 합니다.
문서의 상태가 변경되고, 그 변경 기록을 문서화하여 유지하는 일이 중요합니다.
인수예정일까지 완성해야 한다는 부담이 있습니다.
닮지 않은 부분은, 문서 형식이 완전히 바뀌는 경우를 제외하고는, 일단 문서에는 이미 정해진, 또는 관례적인 형식이 존재해서 새로운 요구사항에 맞춰 특정 부분을 치환하면 됩니다.
애자일 회고: 최고의 팀을 만드는 애자일 기법
Agile Retrospectives: Making Good Teams Great의 번역서 애자일 회고: 최고의 팀을 만드는 애자일 기법이 출간되었습니다. 이 책은 애자일 시리즈의 5번째 책인데요. 애자일 방법론에서 말하는 '회고'를 하는 방법과 회고를 통해, 개인과 팀을 개선하는 방향으로 나아가는 길을 제시합니다.
되짚어보니 학교 중에서도 '회고'하는 프로세스가 포함되어 있습니다. 예컨대 도플러 효과에 관한 실험을 수행했는데, 그에 대한 결과보고서를 쓰도록 요구받는데요. 만약 보고서를 쓰지 않았다면, "정말 좋은 실험이었다."로 끝나게 되겠죠. 하지만 보고서를 쓰면서, 실험 과정을 한번 더 떠올려 보고, 어떤 원리 때문에 이런 결과가 나왔는지, 일치하지 않는다면 그 오차의 원인은 무엇인지 고민하게 됩니다. '중간고사'와 '기말고사'도 그냥 수업시간으로 끝날 수 있었던 과목을 스스로 정리하고 생각해 볼 기회를 준다는 점이 긍정적이죠. 나중에 과목 내용이 더 기억에 남고요.
어떤 회의에서 회고를 도입하자고 했을 때, 어려웠던 점이 생각납니다. 회고 중에 물론 잘했던 점에 칭찬도 이루어지지만, 못했던 점을 반성하는 과정이 포함됩니다. 그래서 회고는 남을 '비판'하려는 과정이 아니라 '팀'을 개선하는 길임을 납득시키는 일이 쉽지 않았는데요. 이 책에서 소개된 다양한 활동은, 보드게임처럼 즐겁고 흥미진진하게 회고를 진행하는데 도움이 될 것이라고 보았습니다. 회고를 통해 개인과 팀의 성취가 날마다 더 나아지는 경험을 겪고 싶으시다면 읽어보시길 추천합니다.
린 소프트웨어 개발의 적용
기억에 남는 부분은 "프로세스 가치 효율"에 관한 부분이었습니다. 이는 "실제로 가치를 더하는데 사용된 시간의 비율이 얼마인가?"라는 의문에서 출발한 개념인데요. 이는 기업에서도 주요한 개선이 될 수 있겠지만, 개인에게도 적용하기에 좋다고 생각했습니다. 짧은 시간 안에, 자신의 능력을 끌어올려서 높은 가치를 얻는다면, 그것은 다른 사람보다 가용시간이 많은 것과 비슷한 효과를 가져오기 때문입니다.
이 책은 총 11개 장으로 나누어져 있는데요, 서문을 제외하고는 각 장의 말미에 "시도해 볼 것"이라는 부분이 있습니다. 이 "시도해 볼 것"에서는 여태까지 그 장에서 다루었던 모델, 통념 등에 대해 실제 조직에 적용하기 알맞은 형태로 배열되어 있습니다. 이는 수업을 듣고, 그 수업의 이해를 돕기 위해 주어지는 숙제와 유사해 보였습니다. 책 표지 바로 뒤에 위치한, 파란 속지 "린 소프트웨어 개발의 원칙"이 2쪽에 걸쳐 깔끔하게 정리되어 있어서 유익했습니다.
프로젝트에 관련된 여러 사람에게 도움이 되겠지만, 특히 관리쪽에 관련이 깊은 분이라면 이 책을 통해 인상적인 통찰을 얻을 수 있을 것이라고 생각합니다.
Xper 2007년 송년회 후기
발표자료 준비하면서, 워낙 슬라이드 준비하는 것도 그렇고 발표하는 것도 되게 어설퍼서 어떤 내용을 넣을까 고민을 해왔어요. 그런데 막상 모임 장소에 딱 도착하자마자 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시더라고요. 앞으로도 기회가 닿는다면 참석해서 계속 좋은 경험을 나누고 싶습니다. 감사합니다.
- 한국 eXtreme Programming 사용자 모임으로, 익스트림 프로그래밍과 같은 책이나, What is Xp와 같은 글이 XP를 아시는 데 도움되실 듯합니다. [본문으로]
- 디벨로퍼 웍스의 망년회 대신 기년회라는 글을 참조하세요. [본문으로]
린 소프트웨어 개발
특히 흥미를 가졌던 주제는
- 도구 1의 가치를 전달하지 않는 모든 행위를 낭비로 간주했던 점이 신선했던, 낭비 찾아내기
- 도구 11의 시간 자원의 효율적 사용을 도와주는 대기행렬이론 2
- 도구 13의 피상적 접근을 경계하고, 사람에 집중하는 자기 결정권
- 6장의 통합성
- 고객과 개발자가 동적으로 의견을 교환하도록 돕는 인식통합성,
- 신속하고 잦은 소통이 강조되는 개념통합성
그림과 도표로 린 방식의 이해를 돕는 이 책은, 소프트웨어 개발에 관련된 다양한 역할의 분들이 '린'방식의 본질을 알고, 실천하는 데 좋은 길잡이가 될 것으로 보입니다.
사용자 스토리
고객 또는 대리사용자로부터 수집한 사용자 스토리는 2부의 '추정과 계획'에서 점수를 매깁니다. 이 스토리 점수에 따라서 이터레이션마다 어떤 스토리를 개발할 것인지 계획하고, 각 이터레이션 주기를 모니터링 함으로써 이터레이션 차트를 그리도록 합니다.
3부에서는 스토리로 오해하기 쉬운 것들과, 사용자 스토리를 써야 하는 이유, 그리고 스토리를 사용할 때 주의해야 할 점들을 다룹니다. 또한 Agile 계열의 방법론 중 하나인 Scrum에서 사용자 스토리를 사용하는 예시를 보여줍니다. 4부에서는 항해업에 종사하는 사람들을 위해 온라인 도서 판매 서비스를 제공한다는 예제를 통해, 사용자 스토리를 전체적으로 짚어봅니다. 5부에서는 익스트림 프로그래밍을 접하지 못한 사람들을 위해, 간략한 개요가 들어있고 각 장의 연습문제 해답이 들어 있습니다.
다른 서적에 소개된 요구사항 기법들에 짓눌려 있었다면, 사용자 스토리를 통해 재빠르고 가벼운 기법을 도입한다면 어떨까요?
익스트림 프로그래밍
첫 부분에 XP에 대한 설명과 1부 XP 탐험하기에 대해서는 차근차근 XP가 추구하는 가치, XP의 실천방법 등에 대해 나와 있습니다.
제일 관심있게 읽었던 부분은 "제약이론"입니다. 세탁하는 과정을 비유로 들어서 제약 이론을 설명하고 있었는데, 제약 지점을 찾는 것에 대한 이야기를 하고 있었습니다. 제약 이론은 전체적인 처리 역량을 좋게하는데 초점을 두고 있다는 점에서 좋은 방법으로 보입니다. 다만 XP를 적용함으로써 새로운 제약지점 부서는 주목받는 일을 원하지 않기 때문에, XP가 도입되기 여렵다고 하는 점에서 아쉬웠습니다.
도요타 생산 시스템이 언급되는 장도 있었습니다. 이 장에서 언급되었던 Lean Software Development가 2007년 9월 중순에 번역본으로 나왔던 소식을 들었던 터라, 반가웠습니다. 테일러주의가 보편적으로 사회에 자리잡기는 했지만, 특정 분야(이를테면 소프트웨어 개발)에서는 그에 적합한 방법을 사용하는 것이 맞다고 봅니다.
책 끝부분에 많은 참고문헌이 소개되어 있어서,
어떤 주제에 대해 관심이 있다면 찾아서 학습할 수 있도록 돕고 있습니다.
블로그에 읽었던 책을 틈틈이 정리하고는 하는데, 이번주는 정말 책을 열심히 읽었네요.