소프트웨어 개발의 모든 것 (All of software project) (2009/01/04)
김익환,전규현지음| 2008.11.10 | 페가수스 | ISBN 9788996091738 (13560)


PMBOK를 읽어서 그런지, 프로젝트를 조감할 수 있게된 지금 이 책은 나에게 어떤 효용이 있을까?! 그러다 실제 읽게 된 것은 책 앞날개에 저자 두명의 이메일을 통해 컨설팅 회사( http://www.abcswcon.com/ )를 다닌다는 것을 알고나니, 컨설턴트가 되는게 목표라 잡게 되었다.
알고보니 [대한민국에는 소프트웨어가 없다]를 쓴 김익환씨의 최신작이기도 하네!

큰 프젝은 안해본 것 같은데도 IBM clearcase 빌드 매니저 1명, vss 빌드관리자 1명 있는 곳에서 개발해 본 나에게 어쩌면 전체를 조감할 수 있는 기회가 되지 않을까!란 기대 시작.

책 처음이 차별화의 전부가 아닐까 싶기도 하다. 소프트웨어 개발 역량표(http://www.abcswcon.com/services.htm)라는 것을 통해 개발자 자신의 수준을 정리할 수 있어 좋다. 책엔 꼼꼼히 더 많이 설명한다.

앞부분은 시스템,인간,툴(소스관리,빌드관리,버그관리...)의 기본을 언급하고 파트2에선 소프트웨어 개발을 성공으로 이끄는 법에 대해 언급하고 있다.

개념 위주 보다는 타이틀 만으로도 어느 정도 이해가 되는 내용이었다. 거기에 소프트웨어를 언급하고 용어 정리를 하는 부분은 반쪽이다 싶다. 제대로 사용법을 알려주는 것도 아니고, 찜찜한 그자체다!

물론, http://books.pragprog.com/titles 이런 좋은 책들이 있기에 Part1에서 설명한 것은 조감도 성격 말고는 없는 것 같다. 다만, 그림도 많아 좋았다. 소프트웨어 프로젝트 나무 그림이 특히 인상 깊다.

[기억에 남는 구절]
소프트웨어 프로젝트 나무에서 보다시피 프로젝트의 기둥은 SRS다. 프로젝트에서 가장 중요한 것이 무엇이냐고 하면 단연 SRS이다. SRS없이 설계를 하고, 구현을 하는 것은 나무의 몸통이 없이 나뭇가지와 나뭇잎이 허공에 둥둥 떠다니는 것과 같다.

SRS Template 소개
1. Introduction(개요)
2. Overall Description(전체 설명)
3. Environment(환경)
4. External Interface Requirement(외부 인터페이스 요구사항)
5. Performance Requirement(성능 요구사항)
6. Non-Functional Requirement(기능 이외의 요구사항)
7. Functional Requirement(기능요구사항)
=> 삼성중공업ERP에 투입되었을때, 실력없는 정사장의 경우 5번을 빼 먹은 것이 틀림없다.물론, 그위엔 을이 있어 면피했을 수도 있겠으나......
저작자 표시
Posted by iarchitect

사랑하지 않으면 떠나라(2008/06/13)
차드 파울러Chad Folwer지음/송우일옮김|인사이트|2008.1.11|ISBN 9788991268357


제목에 때문에 잡히지가 않았다. 사랑이란 감정은 2-3년짜리 유통기한이 있는 걸 믿는 나로선 말이다. 다행히 원제가 "My Job went to India: 52 Ways to save your job"이라서 시작했다. 경영이 아닌 프로그래머가 쓴 자기 계발서는 그리 만나기 힘들기에 ... 거기다 데이비드 토마스가 써보라고 했다니 귀가 솔깃할 수 밖에.

자기계발서를 많이 읽지 않은 프로그래머라면 한번 읽어보길 권한다.

미국인으로서 인도에서 겪은 일을 쓴 것이다. 거기엔 서양인이 동양에 살아보고 컨버전스 할 수 있는 이야기가 제법 많다. 하지만, 착하지 않는 책 가격은 예전 [http://blog.jrcho.com/1485] 과 마찬가지로 구입하기엔...... 물론, 도서관에 보였기에 잡았다는 게 우선이겠지만.

윤석철 교수의 책과 비슷하게 책이 한 주제를 향해 가지만, 꼭지별로 나뉘어 있어서 흐름이 딱 맞다고 볼 수 없는 경우도 있고, 자기계발서에서 재미난 스토리텔링으로 읽어 그런지 신선하지는 않았다.
 
하지만, 프로그래머가 읽는다면 동의하며 읽어내긴 할 것이다. 자기계발서란 생각보다 프로젝트나 프로그래밍이 사람/문화/기술에 대한 고찰로 바라보면 말이다. 나 역시 술술 읽었다. 하지만, 뭐뭐 해라는 식의 작은 꼭지 제목들은 기억해낼 수도 없고, 금방 잊혀져 버린다는 것이 이런 포맷으로 된 책들의 아쉬운 부분이지 않을까! 생각해 보았다.

멘토에 관한 이야긴 재미났을 것이다.

[기억에 남는 구절]
만기일까지 뭘 하도록 요구 받았나? 무슨 약속을  했나? 자신이 무시당했다면 자신이 생각했던 것과 받아들여진 것들 둘다 기록하라. 언제 마무리했는지 기록하라
"인식 주체가 인식대상은 어떻게 인식하느냐" /주체(인간)-인식(언어)-세계(대상) 개념어사전에서... 연결되어
치우쳐있음을 인정하라
비지니스 분야 경험을 자신의 능력중 중요한 부분으로 생각해야 한다.- DDD와 관련 있다. 이건 어찌보면 암묵지를 늘여야 살아남을 수 있다는, 높은 급여를 받고 살 수 있다는 메세지로 들였다.
정체된 비지니스 분야에서 개발 일을 계속 하는 것은 고이자율 예금 상품이 나왔는데, 이자율이 낮은 계좌에 예금을 계속 내버려두는 것과 같은 좋지 않은 투자 선택이다.-45
전설적인 재즈 기타리스트 팻 패스니(Pat Mathney)는 젊은 연주자들에게 조언을 한마디 했다. "속해 있는 밴드에서 항상 가장 못하는 사람이 되라"-75 역설적 조언.
무언가 정말 자신이 가치 있게 되기 위해서는 피, 땀, 눈물 그리고 돈을 쏟아 부어야 한다.-89
지난 수년간 함께 일했던 최고 소프트웨어 개발자 중 많은 이가 자신의 도메인에서는 몇 명 비지니스 고객보다 더 전문가가 됐다-93
'맨 아랫줄(bottom line)'이 왜 당기순손익을 의미하게 됐는지 알아보자-97
마틴 파울러(각주에 친척이 아니라고 적음)가 방갈로드에서 개발자들에게 강연하는 것을 봤다. 그는 무엇에 대해 정말 배우고 싶을 때마다 그것에 대해 글을 쓴다고 이야기 했다.-105
MDA에 대해 조사하라. 몇가지 사용할 수 있는 도구를 써보라
'배움의 의자에 안주하지 말고 떨쳐 일어나 일을 끝맺어야 함을 의미한다.-133

참고] http://pragprog.com/titles/mjwti/my-job-went-to-india

한글차례
1. 당신의 시장을 선택하라.
2. 자신에게 투자하라
3. 실행
4. 마케팅은 높으신 분들만 하는게 아니다.
5. 자신의 강점을 유지보수하라
6. 그들을 이길 수 없다면
영어차례
1. Choosing YourMarket
2. Investing in Your Product
3. Executing
4. Marketing...Not Just for Suits
5. Maintaining Your Edge
6. If You Can’t Beat ’Em
Posted by iarchitect

소프트웨어 장인정신 (2002/12/31)
Pete McBreen저/강경인역|피어슨에듀케이션코리아|2002년12월|ISBN8945071415

개발자가 느끼는 것을 잘표현책이라 생각된다.특히,
대학4년때 소프트웨어 공학을 배우며 의문 생겼던 것을 해결해 주었다.
또한, windows 2000 배포(100대에 인스톨) 같은 세미나 역시 책을 읽고나서야
고민했던 부분을 해결 할수 있었다.


이책에서 표현되어는지는 소프트웨어공학이란 것은 70년대의 대형
프로젝트를 의미한다고 되어있다. 개발 프로세스에 대한 생각들도
그렇게 표현되어졌는데,
이책에선 공학적 측면보다는 한사람의 프로그래머로서 개발되어야
할 것을 이야기 하고 있다. 거기에 도제방식으로 키워진다는 말에
요새 관심이 있는 extreme programming과도 연관이 있음도 알았다.

-정리중-

기억에 남는구절]
장인 기술의 완성은 그 장인기술을 전수할 책임을 내포한다.-p.86

목차]
제 I 부 소프트웨어 엔지니어링이란?
1 소프트웨어 엔지니어링의 이해
2 소프트웨어 엔지니어링에 관한 문제
3 소프트웨어 개발의 이해
4 소프트웨어 엔지니어링보다 더 좋은 비유를 발견하는 것

제 II 부 소프트웨어 장인정신
5 사람을 소프트웨어 개발에 다시 참여시키는 것
6 장인정신은 자격증을 받는 것과는 반대의 개념이다

제 III 부 소프트웨어 장인정신의 함축된 의미
7 장인정신이 시스템의 사용자에게 미치는 영향
8 고객과 장인과의 관계
9 장인을 관리하는 것
10 소프트웨어 장인이 되는 것
11 장인기술을 마스터하는 것
12 도제 개발자
13 중간 장인 개발자

제 IV 부 소프트웨어 엔지니어링의 재평가
14 소프트웨어 엔지니어링 프로젝트
15 소프트웨어 엔지니어링 비유의 위험
16 소프트웨어 엔지니어링으로부터 배우는 것

제 V 부 월요일 아침에 해야 하는 것
17 경험 ― 프로젝트 성공의 최상의 지표
18 테스트와 유지보수를 위한 디자인
19 끊임없는 배움

이책은 구입하지 않고 서서 전부 읽었던 기억이 난다. 다시금 정리하면서

생각해보니 ... 다시 한번 읽어볼 책!!

Posted by iarchitect