개발
- 스크럼과 XP 2010.05.31
- Head First Software Development 2009.01.04 4
- W데이 후기 2008.12.25 4
- WoC 2008이 시작한다고 하네요 2008.11.17 2
- Agile 소프트웨어 개발 2008.09.20
- 열씨미와 게을러의 리눅스 개발 노하우 탐험기 2008.02.17
- 린 소프트웨어 개발의 적용 2008.01.25 2
- 아키텍트 이야기 2008.01.20 2
- Professional 소프트웨어 개발 2007.12.26 4
- Xper 2007년 송년회 후기 2007.12.22 7
스크럼과 XP
Head First Software Development
"더 쉽고 재미있게 소프트웨어를 개발하는 방법"을 부제로 단 Head First Software Development를 monaca님의 애자일 3종 강탈 1탄 이벤트를 통해 읽게 되었습니다. 1장에서는 훌륭한 소프트웨어 개발에 앞서서 훌륭한 소프트웨어 개발의 정의를 짚고 갑니다. 요구사항을 주어진 시간과 비용으로 제공하는 것인데요. 그 비밀을 이터레이션이라고 소개하고 있습니다. 이터레이션을 통해 프로젝트의 방향이 고객이 원하는 목표와 맞는지 자주 점검하는 일이죠. 이터레이션의 규모를 추정하는 부분은 불확실성과 화해하는 프로젝트 추정과 계획과 유사했습니다. 딱딱해질 수도 있는 주제를 그림과 화살표로 시각적으로 표현해서 더 쉽게 다가왔습니다. 요구사항 수집 부분은 사용자 스토리를 연상하게 하는 인덱스카드와 시작했는데요. 책에서 개발자 역할을 맡은 희와 혁의 짤막한 대화가 등장합니다. 책 안에 개발자와 고객에 사진과 이름을 붙여서 중간에 제시하니깐, 내가 그 스토리에 참여하는 것처럼 몰입이 잘 되는 효과를 가져온다고 봅니다. 거만한 자세의 고객에 말풍선을 붙여 말을 넣어 두니깐, 독자의 처지에서 괜히 서늘하더라고요. 읽다가 180쪽에 "이번 장의 훼방꾼이 나타났어요" 부분 때문에 깜짝 놀랐습니다. 헤드퍼스트의 파격적인 구성 때문에 소프트웨어 개발 도서임에도, 이런 반전이 갑작스레 등장할 수 있다고 생각합니다.
객체 지향 방법론인 단일 책임 원칙(SRP)나 DRY 원칙을 통해 리팩터링도 다루고, 버전 관리를 돕는 도구인 서브버전의 필요한 사용법도 소개합니다. 빌드 자동화를 위한 빌드 도구인 Ant를 소개했는데, Ant로 빌드 스크립트를 잘 짜두면 컴파일 명령을 입력하면서 실수하는 일도 줄어들고, 빌드할 때마다 편하리라 느껴졌습니다. 블랙 박스 테스트나 화이트 박스 테스트의 이름은 얼핏 들어본 적은 있지만 무얼 뜻하는지 정확히 모르고 있었는데, 테스트를 바라보는 시선도 다르고 집중하는 분야도 다르다는 걸 알게 되었습니다. 테스트 주도 개발 규칙을 설명하고 테스트로 나온 버그는 "버그 트래커"로 관리하라고 이야기합니다. 재사용 소스 코드가 등장하면서 개발자 집단은 엉망인 상황에 부닥치지만, 차근차근 순서대로 문제를 풀어나가는 개발자 집단이 흥미로웠습니다.
테스트 주도 개발, 사용자 스토리, 빌드 자동화, 버전 관리, 디자인 패턴, 리팩터링, 추정과 계획 등 소프트웨어 개발 전반을 골고루 요약해서 다루고 있다는 점이 이 책의 강점이라고 봅니다. 각 주제를 깊이 익힐 시간은 부족하고 이런 개념들에 익숙해져야 할 때 도움이 되리라 생각합니다. 책의 이야기가 자바 언어로만 씌어 있어서 다른 언어의 관점도 소개하면 좋겠지만, 소프트웨어 개발과 관련된 책이라 다른 언어 사용자에도 적용하는 데 무리가 없으리라 예상합니다.
|
W데이 후기
2008년 12월 20일 W데이를 다녀왔습니다. 전날 송년회 회식에 다녀와서, 약간 피곤했지만 그래도 W데이를 놓치고 싶지 않아서, 부지런히 준비를 해서 가게 되었습니다. 학교에서 모여 가자는 연락을 받고, 학교에서 같이 갈 후배를 만나 가게 되었는데 제가 버스로 타자는 그른 결정을 내리는 바람에 13시 30분에 아슬아슬하게 도착했습니다. 가자마자 자리를 잡고 앉아서 김택진 대표이사님의 강연이 진행되던 중이었습니다. Winter of Code 행사의 개요 설명이 강연의 뒤를 이었습니다. 작년에 참가했던 행사의 모토는 Code your passion! 이었는데, 이번 행사는 Code your network!로 바뀌었음을 알게 되었습니다. 작년에는 보라색 티셔츠였는데, 올해는 노란색 후드티라 더 따뜻한 느낌이 났습니다.
창조 봉기를 주제로 김국현님의 강연이 있었는데 프리젠테이션 슬라이드가 손으로 그린 그림이라 더 근사하고 독특했습니다. 발표도 정말 유익했고요. 블로그도 구독해서 즐겨 보던 터라, 즐겁게 발표를 들었습니다. 그 다음에는 노정석님의 강연이 있었는데, 개발자의 테크 트리를 주제로 발표하셨습니다. 인생의 침체기와 흥행기를 그래프로 나타내서 유익한 경험도 공유해 주시고, 더 열심히 노력해야겠다는, 힘이 되는 발표였습니다.
쉬는 시간에 샌드위치를 먹어 허기를 달래고, 다음 강연을 들었습니다. 다음 강연은 조광제님이 Global Resume을 주제로 발표해 주셨습니다. 오픈 소스를 프로그래밍하는 게 왜 중요한지, 이력서에 얼마나 좋은 영향을 끼치는지 짜임새있게 발표해주셨습니다. 그 다음 강연은 윤종수님의 크리에이티브 커먼즈와 오픈 컬처를 주제로 발표가 진행되었습니다. 크리에이티브 커먼즈 라이선스와 GNU 퍼블릭 라이선스의 차이점을 대조하여 설명한 부분이 인상적이었습니다.
개발자 IT 트렌드를 그 이후에 들었는데, 웹을 Social, Mobile, Data 세 방향으로 범주화하여 설명한 부분이 기억에 남습니다. 발표자료에 많은 정성을 쏟으신 점이, 발표를 들으면서 알게 되었습니다. 점점 더 사람과 밀접해지는 웹의 경향이 앞으로 세상에 어떻게 표현될지 궁금해졌습니다.
멘토와 네트워킹 시간에는 개발자 IT 트렌드와 멘토와 네트워킹 시간이 행사 지연으로 겹쳐서 스프링노트와 메모 강연 부분을 듣고, Python 3.0으로 작성하는 경량 웹 프레임워크 자리에서 이야기를 들었습니다.
W데이 참석하길 잘 했다고 생각하고, 좋은 분들도 뵙고, 기념품도 받게 되서 좋았습니다. 작년보다 참여하시는 분들도 더 많아져서, WoC를 향한 관심이 얼마나 커졌는지 보는 것 같아 기뻤습니다. 수고하셨습니다.
WoC 2008이 시작한다고 하네요
Agile 소프트웨어 개발
- 41쪽 밑에서 4번째 줄
프트웨어 -> 소프트웨어 - 242쪽 9번째 줄
민접하고 -> 밀접하고 또는 민첩하고 - 289 6번째 목록(14번째 줄)
동기 부여가된 -> 동기 부여가 된
|
열씨미와 게을러의 리눅스 개발 노하우 탐험기
저자가 서문에서 밝히고 있는 것처럼, 이 책의 대상 독자는 초급에서 중급으로 넘어가는 단계의 리눅스 개발자에게 매우 도움이 될 수 있는 주제로 꾸며져 있다. 각 스토리를 읽으면서 실제 리눅스 개발에서 일어났던 좌충우돌 이야기라는 느낌이 들었다.
예전에 리눅스 데스크탑 환경을 설치해 놓고, 무선랜 드라이버를 설치하려고 노력했던 적이 있었는데 랜카드 회사 측에서는 바이너리 버전을 제공해주지 않았다. 그래서 무슨 뜻인지도 모르고 검색했던 웹 페이지에 쓰인 대로 configure와 make를 사용해서 설치를 하려고 여러 날에 걸쳐 시도했던 적이 있었다. 하지만 이 책을 읽고 configure가 등장하게 된 배경과 어떻게 사용되는 배우게 되었다.
각 스토리 말미에는 '더 읽어 볼 만한 책과 URL'이라는 섹션이 있어서, 이 주제에 더 알고싶은 독자들의 지적 호기심을 충족시켜 주고 있다. 이 책을 통해 현명하게 "게을러"지는 건 어떨까?
cf. 이 글은 제가 컴퓨터와 인터넷 리뷰에서 썼던 내용을 옮긴 것입니다.
린 소프트웨어 개발의 적용
기억에 남는 부분은 "프로세스 가치 효율"에 관한 부분이었습니다. 이는 "실제로 가치를 더하는데 사용된 시간의 비율이 얼마인가?"라는 의문에서 출발한 개념인데요. 이는 기업에서도 주요한 개선이 될 수 있겠지만, 개인에게도 적용하기에 좋다고 생각했습니다. 짧은 시간 안에, 자신의 능력을 끌어올려서 높은 가치를 얻는다면, 그것은 다른 사람보다 가용시간이 많은 것과 비슷한 효과를 가져오기 때문입니다.
이 책은 총 11개 장으로 나누어져 있는데요, 서문을 제외하고는 각 장의 말미에 "시도해 볼 것"이라는 부분이 있습니다. 이 "시도해 볼 것"에서는 여태까지 그 장에서 다루었던 모델, 통념 등에 대해 실제 조직에 적용하기 알맞은 형태로 배열되어 있습니다. 이는 수업을 듣고, 그 수업의 이해를 돕기 위해 주어지는 숙제와 유사해 보였습니다. 책 표지 바로 뒤에 위치한, 파란 속지 "린 소프트웨어 개발의 원칙"이 2쪽에 걸쳐 깔끔하게 정리되어 있어서 유익했습니다.
프로젝트에 관련된 여러 사람에게 도움이 되겠지만, 특히 관리쪽에 관련이 깊은 분이라면 이 책을 통해 인상적인 통찰을 얻을 수 있을 것이라고 생각합니다.
아키텍트 이야기
한국에서도 아키텍트라는 직업은 이제 낯선 이름이 아니게 된 듯합니다. 네이버 카페 아키텍트를 꿈꾸는 사람들에서는 스터디와 캠프 등 활발한 활동을 펼치고 있습니다. 문제를 풀기 위해 기술을 판단한다는 점에서 아키텍트란 직업은 매력이 있습니다. 다만, 훌륭한 아키텍트가 되기 위해서는 끊임없이 기술을 학습하고 의사소통을 잘 하는 법을 익히는 등 많은 노력이 필요할 것 같습니다. 아키텍트에 대한 전반적인 정보를 듣고, 아키텍트와 개발자 사이의 차이를 인지하는 데 도움을 주는 책이라고 봅니다.
Professional 소프트웨어 개발
책을 읽고 나서 곰곰이 생각하게 된 것은, 컴퓨터과학과 소프트웨어공학 사이의 격차인데요. 일단 컴퓨터과학은 현업에서 그 가치가 크게 인정받지 못하더라고, 다른 과학자와 주로 관련을 맺는 점에 반해, 소프트웨어공학은 현업에서 실제로 소비자와 부딪치기 때문에 여러가지 제약 조건들을 숙지하고 있어야 한다는 점이 인상적이었습니다.
마지막 파트인 업계의 프로정신에서 다루어진, "혁신의 확산"에 대한 그래프가 있었는데요. 선각수용자와 전기 다수의 캐즘(chasm)을 다루고 있는 부분이 있었습니다. 혁신자보다는 적은 위험을 안는 선각수용자들은 XP나 스크럼 등 애자일 방법론을 적용하는 쪽이고, 전기 다수인 사람들은 역량 성숙도 모델(CMM) 종류를 적용하는 것이라고 생각했습니다. 책에서는 Code&Fixing(일단 코드를 작성하고, 나중에 고치는)을 가장 피해야 한다고 했는데, 이 부분에서 가책을 느꼈습니다.
책의 역자서문에서는 Rapid Development나 Code Complete를 스터디하기 전에, 다소 추상적인 에세이들이 모인 이 책을 먼저 읽을 것이 추천되고 있습니다. 소프트웨어공학 분야를 아우르면서, 동시에 "프로페셔널"하다는 것에 논한다는 점에서 신선한 자극을 주는 책이락 생각합니다.
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를 아시는 데 도움되실 듯합니다. [본문으로]
- 디벨로퍼 웍스의 망년회 대신 기년회라는 글을 참조하세요. [본문으로]