관리자 권한 계정이 아니면 달력도 못 보여주는 윈도의 '날짜 및 시간 등록 정보', 삭제할 때마다 전 세계인의 시간을 낭비하게 하는 삭제 확인 대화 상자. UPS의 국가 선택 페이지와, 구글이 IP를 추적하여 자동으로 국제화된 페이지를 보여주는 방식. 사례에 많은 공감이 갔다. 이런 사용성을 바꾸기 위해서, 개선을 요청하는 일이 마지막 즈음에 나왔다. 예를 들면, 네이트온의 리눅스/맥 버전 요구, 오픈웹(openweb) 운동이 여기서 말하는 요청에 부합하는 듯 하다. 또한, 사용성 테스트는 아무리 기간이 부족해도 필수적임을 강조했다.
소프트웨어 누가 이렇게 개떡같이 만든 거야 상세보기
데이비드 S. 플랫 지음 | 인사이트 펴냄
『소프트웨어 누가 이렇게 개떡같이 만든 거야』는 왜 사용자가 소프트웨어를 사용하기가 어려운지에 대해 이야기한다. 소프트웨어를 어렵게 느끼는 이유는 무엇인지, 누구 때문에 이러한 일들이 발생하는지,...
Posted by 세레
사랑하지 않으면 떠나라!라는 책의 출간 예정 소식을, 인사이트 출판사 블로그에서 처음 접하게 되었습니다. 실용주의 프로그래머가 저를 만든 책이었다면, 사랑하지 않으면 떠나라는 저를 이끄는 책이라고 생각합니다. 정말 필요성을 느끼고 있었던, 또 훌륭한 멘토링 책입니다.
08 가장 못하는 사람이 되라
내용을 읽기 전까지는 가장 의아했던 실천 가이드였습니다. 하지만 내용을 되새겨보면, 정말 옳은 이야기입니다. 동네 기원에서만 바둑을 두는 것만으로 늘 수 있는 실력에는 한계가 있어 보입니다. 루비세미나에 계속 참가하는 것은 "가장 못하는 사람이 되는 상황"에 스스로를 처하도록 하는 거라서, 가능하다면 꾸준히 갈 생각입니다.
12 멘토를 찾으라
LIFT evening Seoul에서 현재 기업에 근무하시는 분께 비록 긴 시간은 아니었지만, 조언을 들은 적이 있었습니다. 그때 추천받았던 과목들을 지난 학기에 들었는데, 과목을 공부하는 자세가 조금은 더 진지해지고, 더 집중도 잘되었습니다. (결과적으로 예측했던 것보다 더 큰 성과를 거두었다고 봅니다.) 그 때 추천받았던 Professional 소프트웨어 개발과, 소프트웨어 공학의 사실과 오해라는 책을 읽는 계기가 되었습니다. (프로젝트 데드라인이 아직 남아있지만요.)
또 하나는,Winter of Code라는 행사에 대해서 더 폭넓게 이해하게 된 것입니다. 크게 보면, 이는 오픈소스에 대한 인식 확산과 기여에 있지만, 참여하는 멘티로서는 정말 훌륭한 멘토 분들을 만날 기회라고 보게 되었습니다. 이런 기회를 받게 되어 정말 기뻤습니다.
21 누구를 위해 일하는지 기억하라
자신이 하고 있는 일의 목표를 전체 회사의 목표와 맞추라는 조언입니다. 오랜 시간 견디는 튼튼한 성당을 짓는 사람들은, 비록 자신이 벽돌 한 장을 나르고 있더라도 완성된 성당의 이미지를 마음속에 간직했다고 합니다. 관리자와 자신의 성공을 떼어내지 말라는 이야기는 회사가 당신에게 알려주지 않는 50가지 비밀에서도 언급되었던 이야기라 더욱 공감했습니다.
35 적절한 표현으로 말하기
자신이 흥미를 느끼는 언어와, 고객이 쉽게 이해할 수 있는 언어 사이의 간극을 차드 파울러는 자신과 조카 사이의 대화를 통해 잘 지적하고 있습니다. 어쩌면 평범하게 넘어갈 수 있었던 대화에서 이런 통찰력을 얻을 수 있다는 사실이 의미있게 느껴졌습니다.
48 남인도의 원숭이 덫
여기서 언급된 원숭이 이야기를 생각해보니, "욕심쟁이 원숭이"라는 동화가 생각났습니다. 그 동화책에서는 항아리에 원숭이가 손을 집어넣고, 바나나를 가득 쥐었다가 손이 빠져나오지 못하는 상황을 겪지요. 그러다가 현명한 부엉이의 도움을 받아 손에 힘을 빼고 원숭이는 자신의 욕심을 뉘우친다는 요지의 이야기인데요. 자신의 주장을 억지로 부정함으로써, 더 다양한 도구를 통해 좋은 코드를 만드는 법을 배우는 것과 연관되어 있었습니다.
차드 파울러의 사랑하지 않으면 떠나라(원서명:My job Went to India)는 개발자로서 경력의 시작을 준비하고 있거나, 개발자의 위치에 있을 때 마주치게 되는 어려움을 극복할 수 있는 지침을 제시하고 있습니다. 중간에 나타나는 미국 IT 업계에 관한 이야기를 읽을 때면, IT 업계는 국경에 상관없이 공통적인 부분이 있음을 느끼기도 합니다. 주변에 IT 업계에 관심을 갖고 있는 분이 있다면, 이 책을 통해 당신을 정말 소중하게 여기고 있다는 것을 표현하는 건 어떨까요?

사랑하지 않으면 떠나라 상세보기
차드 파울러 지음 | 인사이트 펴냄
개발자의 자기계발과 경력관리를 위해! 소프트웨어개발자 차드 파울러의 『사랑하지 않으면 떠나라』. 회사, 기술, 경제, 가치 등이 정신없이 바뀌는 오늘, 개발자로서 맞닥뜨리게 될 변화에 적절하게 대처할 수 있도록 인도한다. 이 책은 내일도 제대로 파악할 수 없는 상황을 끝없이 만나게 되는 개발자의 자기계발과 경력관리를 위한 52가지 가르침을 전하고 있다. 가르침마다 '실천하기'를 담아 우리가 일상생활에서 쉽게
Posted by 세레
프로그래밍 심리학(원서명:The Psychology of Computer Programming, POCP)을 읽었습니다. 이 책은 25주년 기념판이 번역된 것인데요, 제랄드 M. 와인버그가 기념판을 펴낼 때 원서 자체에서 내용을 덧붙이는 형태로 펴냈기 때문에 예제로 사용되었던 PL/1이나 APL 언어들을 볼 수 있습니다.
지금으로서는 찾아 보기 힘든 천공카드에 대해 얽힌 이야기라거나, 실행시켜볼 코드를 보내놓고 회송시간을 기다린다거나 하는 이야기들이 있어서 이 책을 읽는게 지금에 와서 무슨 소용일까라고 생각할 수도 있습니다. 그러나 책을 보면, 과거의 프로그래머들이 해 왔던 고민들이나 어려움들이 현재의 기술도구로 해결되지 않는 부분이 상당함을 알 수 있습니다.
저자는 각 장에 후기를 보태며, 자신이 전에 펴냈던 내용에 대한 아쉬움을 밝히거나, 기저에 깔려 있던 이야기들을 고백하고 있습니다. 어쩌면 딱딱하게 보일 수 있는 주제임에도, 책 중간에 곁들여지는 제랄드 M. 와인버그의 유머는 그런 긴장을 풀어줍니다.
쓰는 사람의 내공이 나타나는 책을 읽을 때마다, 저자의 생각을 이렇게 먼 거리에서 책이라는 매개체로 나눌 수 있다는 점이 독자로서 느낄 수 있는 큰 행복입니다. 관리자, 프로그래머, 테스터 등 소프트웨어 관련 업계에서 일하고 계신 분이라면, 자신이 평소에 유지하던 "프로그래밍"이라는 행위에 대한 생각의 외연을 넓힐 수 있는 기회라고 생각합니다.

프로그래밍 심리학(프로그램 프로그래밍 프로그래머 4) 상세보기
제랄드 M. 와인버그 지음 | 인사이트 펴냄
프로그래밍도 사람이 하는 일이다! '프로그램 프로그래밍 프로그래머' 시리즈, 제4권 『프로그래밍 심리학』. '프로그래밍도 사람이 하는 일'이라는 당연하지만 현실에서는 인정받지 못하는 문제 인식을 바탕으로 저술된 것이다. 이 책은 프로그래밍을 둘러싼 여러 영역의 사람들이 가지는 마음의 이치를 다루고 있다. '인간 행위로 보는 프로그래밍', '사회 활동으로 보는 프로그래밍', '개인 행위로 보는 프로그래밍' 등으로
Posted by 세레
아키텍트 이야기를 읽고 있습니다. 처음에는 딱딱하고 어려운 책 아닌가 생각했었는데, 설명 중간에 줄거리가 되는 이야기가 있어서 책을 읽을 때 흥미를 꾸준히 느낄 수 있도록 합니다. 책에서는, 아키텍트란 소프트웨어 개발과 관계되어, 기술적 결정을 하는 최고 책임자라고 정의합니다. 프로그래머의 정년은 다른 직업보다 짧게 이야기되곤 하는데요, 이 책에서는 그에 대한 대안으로 아키텍트라는 역할을 제시합니다. 줄거리가 되는 이야기의 등장인물들은 이니셜을 가지고 등장하는데요. C라는 인물이 아키텍트로서 마주하는 상황들이 재미있으면서도 현실적으로 느껴졌습니다. 이는 저자가 다양한 시스템을 개발한 경험을 가지고 있는 데에서 기인한 듯합니다.

한국에서도 아키텍트라는 직업은 이제 낯선 이름이 아니게 된 듯합니다. 네이버 카페 아키텍트를 꿈꾸는 사람들에서는 스터디와 캠프 등 활발한 활동을 펼치고 있습니다. 문제를 풀기 위해 기술을 판단한다는 점에서 아키텍트란 직업은 매력이 있습니다. 다만, 훌륭한 아키텍트가 되기 위해서는 끊임없이 기술을 학습하고 의사소통을 잘 하는 법을 익히는 등 많은 노력이 필요할 것 같습니다. 아키텍트에 대한 전반적인 정보를 듣고, 아키텍트와 개발자 사이의 차이를 인지하는 데 도움을 주는 책이라고 봅니다.
아키텍트 이야기 상세보기
야마모토 케이지 지음 | 인사이트 펴냄
개발자들을 위한 아키텍트 이야기를 담은『아키텍트 이야기』. 이 책은 아키텍트가 프로젝트의 흐름에 따라 어떠한 역할을 하고 어떻게 프로젝트를 성공시키는 가에 대하여 가상의 아키텍트를 통하여 상세하게 설명한다. 《아키텍트 이야기》에서는 아키텍트의 요구 분석 단계 업무와 설계방법, 아키텍처로 문제를 해결하는 방법, 왜 아키텍트가 돌파구인가에 대한 내용으로 구성했다.
Posted by 세레
Professional 소프트웨어 개발을 읽었습니다. 스티브 맥코넬 씨가 지은 책인데요, 번역서가 2003년에 초판이 발행되었네요. 책의 용어를 사용하자면 이 책은 SWEBOK(Software Engineering Body of Knowledge)에서 변하지 않는 범주에 속하는 책이라고 여겨집니다.

책을 읽고 나서 곰곰이 생각하게 된 것은, 컴퓨터과학과 소프트웨어공학 사이의 격차인데요. 일단 컴퓨터과학은 현업에서 그 가치가 크게 인정받지 못하더라고, 다른 과학자와 주로 관련을 맺는 점에 반해, 소프트웨어공학은 현업에서 실제로 소비자와 부딪치기 때문에 여러가지 제약 조건들을 숙지하고 있어야 한다는 점이 인상적이었습니다.

마지막 파트인 업계의 프로정신에서 다루어진, "혁신의 확산"에 대한 그래프가 있었는데요. 선각수용자와 전기 다수의 캐즘(chasm)을 다루고 있는 부분이 있었습니다. 혁신자보다는 적은 위험을 안는 선각수용자들은 XP나 스크럼 등 애자일 방법론을 적용하는 쪽이고, 전기 다수인 사람들은 역량 성숙도 모델(CMM) 종류를 적용하는 것이라고 생각했습니다. 책에서는 Code&Fixing(일단 코드를 작성하고, 나중에 고치는)을 가장 피해야 한다고 했는데, 이 부분에서 가책을 느꼈습니다.

책의 역자서문에서는 Rapid Development나 Code Complete를 스터디하기 전에, 다소 추상적인 에세이들이 모인 이 책을 먼저 읽을 것이 추천되고 있습니다. 소프트웨어공학 분야를 아우르면서, 동시에 "프로페셔널"하다는 것에 논한다는 점에서 신선한 자극을 주는 책이락 생각합니다.
Posted by 세레
실용주의 프로그래머를 위한 단위테스트 with JUnit를 읽었습니다. 실용주의 서가에서 나온 책인데요, 데이비드 토머스와 앤드류 헌트가 실용주의 프로그래머의 실천편이라고 보시면 될 듯합니다. 테스트는 코드를 다 작성하고 나서 발견하지 못한 오류를 찾기 위해 나중에 작성하는 것이 아닌가라고 생각하시는 분이 꽤 되리라고 생각합니다. 시간과 공간 자원에 제약이 걸린 일반적인 프로젝트의 경우에는, 동작하는 코드를 만들기에 급급해서 테스트라는 부분을 소홀히 하는 경우도 드물지 않을 것입니다. 그리고 그때 테스트를 수행한다고 해도 그건 요구사항에 적합한지 확인하는 인수 테스트(acceptance test)이죠.

이 책은 단위테스트를 왜 도입해야 하는가에 대해 서론에서 매우 설득력 있게 설명하고 있습니다. 원천적으로 오류가 없는 소프트웨어란 매우 어렵습니다. 목적은 매 순간의 코드를 단위테스트를 통해 검증함으로써 나중에 일어날 수 있는, 즉 찾지 못한 오류가 누적됨으로써 발생하는 재앙을 막아보자는 데 있습니다. 이런 패턴적 문제 해결은 애자일 쪽과 통하는 면이 있습니다. 코드를 작성함으로써 부산물로 나오는 단위테스트 코드는, 그 코드를 후에 인수할 사람들에게는 좋은 문서이자, 참고자료, 나침반이 됩니다.

이 책에서는 JUnit으로 테스트를 작성하는 근본적인 부분부터, 테스트의 대상은 무엇인지, 모의 객체는 어떻게 사용하는지, 프로젝트에서는 테스트를 어떤 식으로 할 것인지 등에 대해 차근차근 다루고 있습니다. 재치있는 약자를 통해 쉽게 책의 내용을 숙지할 수 있도록 돕는 것도 책의 장점입니다. 이를 테면 Right-BICEPCORRECT가 있습니다.

사실 이 책을 고른 이유는, 책의 서문에서 비록 이 책이 예제는 Java를 사용하고 JUnit 프레임워크를 사용했지만 다른 60개가 넘는 언어에서 비슷한 테스트 프레임워크가 지원된다고 했기 때문입니다. c2.com에서 Testing Framework라는 문서를 통해 다양한 프레임워크가 있다는 것을 알 수 있습니다. 개인적으로 SmlUnit[각주:1]이라는 테스팅프레임워크를 다루어 보려고 하다가, 막막해서 JUnit에 대한 책이 나와 있으니 이 책을 우선 참고하는게 어떨까 하는 생각이었죠.

프로젝트에 단위테스트를 도입하여 꾸준한 피드백으로 잘 조직화된 코드를 작성한다면, 유지보수성이 높고 안정적인 결과물이 나오지 않을까 생각해 봅니다.
단위 테스트 (실용주의 프로그래머를 위한) 상세보기
데이비드 토머스 외 지음 | 인사이트 펴냄
소프트웨어 개발의 생산성을 증대하기 위한 기본 도구들을 다룬 '시작 도구 시리즈'의 두번째 책으로 JUnit를 이용한 단위테스트 방법을 소개한다. 이 책은 테스트를 통해 요구사항을 좀더 명확히 하고 질 높은 소프트 웨어를 개발하고자 하는 테스트 주도 개발에 중점을 두고, 자동화 테스트 기구인 JUnit을 이용하여 무엇을 어떻게 테스트할 것인지 구체적이고 실용적인 방법을 제안하고 있다.

  1. SML#, SML/NJ, MLton을 지원하는 Standard ML 버전 프레임워크. <a href="http://www.pllab.riec.tohoku.ac.jp/smlsharp/?SMLUnit" target="_blank">SML#-SMLUnit</a>에서 JUnit의 이식된 버전임을 밝히고 있다. SML#의 도구로 포함되어 있다. SML#은 SML에서 C와의 한결같은 상호운용성, 레코드 다형성, 랭크1 다형성 등을 확장한 것이다. 도호쿠 대학 전기통신 연구소에서 일본 문부과학성 등의 후원을 받고 있다. [본문으로]
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 세레
익스트림 프로그래밍, 애자일 프랙티스에 이어서 (고객 중심의 요구사항 기법) 사용자 스토리를 읽게 되었습니다. 이제 '린 소프트웨어 개발'만 읽는다면, 인사이트에서 나온 애자일 시리즈 도서를 다 읽게 되는군요. 사용자 스토리는 현실을 반영하지 못하는 요구사항 명세에서, 고객과의 지속적인 대화를 강조합니다. 대화로 하여금, 모호한 문장으로 생기는 고객과 개발자 사이의 간극을 좁힐 수 있습니다. 고객으로 하여금 사용자 스토리를 작성하게 함으로써, 개발자와 고객 사이의 공통된 언어를 사용하도록 돕습니다.

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

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

다른 서적에 소개된 요구사항 기법들에 짓눌려 있었다면, 사용자 스토리를 통해 재빠르고 가벼운 기법을 도입한다면 어떨까요?
사용자 스토리 상세보기
마이크 콘 지음 | 인사이트 펴냄
애자일(Agile) 프로그램의 활용법과 사용자가 필요한 소프트웨어 개발에 대한 내용을 담고 있는『사용자 스토리』. 이 책은 사용자 스토리를 수집하는 현실적인 방법과 상황에 따른 대처 방법, 사용자 스토리 수집 후 조직화와 순위를 부여하여 계획하고 테스트 단계에 활용하는 방법에 이르기까지 상세하게 설명하고 있다. 《사용자 스토리》에서는 사용자 스토리가 무엇인지에 대한 개념과 개요, 사용자 스토리 작성과 수집, 테
Posted by 세레
(우리가 미처 알지 못한) 소프트웨어 공학의 사실과 오해(원서명: Facts and Allacies of Software Engineering)을 주변에서 추천해 주셔서, 읽게 되었습니다. 소프트웨어 컨플릭트 2.0의 저자이기도 한 로버트 L.글래스가 지은 책입니다. 책은 사실 55가지와 오해 5+5가지를 다루고 있습니다. [각주:1]

제일 감명 깊게 읽은 곳은 오해의 마지막 부분입니다. 교육에 관련된 오해인데요. 저도 처음에 프로그래밍 언어를 배울 때나, 아니면 특정한 프로그래밍 언어를 가르쳐 주는 책을 볼 때면 이런 이런 문법을 설명해 줍니다. 그 다음에 연습문제로 이런 이런 코드를 짜 보라고 하죠. 이렇게 많은 책에서 설명하고 있기 때문에, 그렇게 프로그래밍 언어를 학습하는 일이 당연한 것처럼 느꼈습니다. 우리가 어떤 언어를 학습할 때에 쓰기는 가장 끝 부분에 배웁니다. 읽는 법을 알아야, 쓰고 나서라도 자신이 쓴 문장을 읽는 일이 가능합니다. 그런데 프로그래밍 언어를 가르치는 쪽의 경우에, "코드 읽기"라는 부분에 대해 관심도가 떨어진다는 느낌이 듭니다. "코드 읽기"는 다른 사람이 썼던 코드를 인수받아야 할 경우나, 아니면 자신이 몇 달 전에 작성했던 코드를 분석할 때와 같이 쓸 일이 있음에도 말이죠.

이 책에서는 각각의 사실 또는 오해에 대해 "토의-논쟁-출처-참고문헌"의 구조로 짜임새 있게 이루어져서 자신이 관심있는 사실 또는 오해를 더 탐구할 수 있도록 열어두고 있습니다. 특히 오해 부분에서는 이 오해들을 읽더라도 화를 내지 말 것을 주문하는 문장이 기억에 남았습니다. 소프트웨어 부문의 문제를 지적하고, 설명하며, 문제를 보는 새로운 관점을 건넨다는 점에서 유용한 책이라고 생각합니다.
  1. 10을 굳이 5+5로 풀어 쓴 이유는 <span style="color: rgb(0, 0, 255);">F</span>ifty <span style="color: rgb(0, 0, 255);">F</span>ive, <span style="color: rgb(0, 0, 255);">F</span>ive + <span style="color: rgb(0, 0, 255);">F</span>ive 처럼 F의 반복을 통해 저자가 책을 멋지게 보이려고 한 노력입니다. 자세한 내용은 책의 서론을 참고하시기 바랍니다. [본문으로]
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 세레

카테고리

분류 전체보기 (260)
Science (122)
Routine (31)
Language (2)
Q&A (1)
me2day (104)

달력

«   2008/08   »
          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