레이블이 todo인 게시물을 표시합니다. 모든 게시물 표시
레이블이 todo인 게시물을 표시합니다. 모든 게시물 표시

2014년 10월 15일 수요일

[links] Growth Hacking, 그로스 해킹

Growth Hacking 용어가 여기저기서 사용되기에 한번 찾아 본 link들 모음.

7월에 있었던 벤 레비의 강연 영상과 요약 기사

스타트업, 앞 길이 막막하다면 그로스해킹을 하라! – 벤 레비(Ben Levy) 강연
posted by 정 새롬 
: http://besuccess.com/2014/07/ben-levy/

그로스해킹(Growth Hacking)이란?
2010년 션 엘리스(Sean Ellis)의 ‘Find your growth hacker for your startup’이라는 블로그에서 처음 사용된 용어로 제품 또는 서비스의 중요한 지표를 지속적으로 파악하고 분석하여 사용자의 흐름을 최적화하는 동시에 많은 유저를 확보하는 전략적 마케팅 기법을 뜻한다.

...

(TODO) 아래 tool들은 한번 찾아 봐야 겠음.

그외 기본적인 개념이 정리되어 있으니 위 링크를 참조해서 보는게 좋겠음.

[PT] Growth Hacking by Mattan Griffel , Founder and CEO at One Month
: http://www.slideshare.net/mattangriffel/growth-hacking
Social Media Week에서 발표된 자료 같은데 여러 기업의 예를 보여주고 있어 다소 분량이 많고 자세하다.
PT 말미에 growhack.com에서 Growth Hacking case studies 문서(WSJ, Twitter, Living Social)를 제공하고 있는데 그렇게 영양가가 있는 자료는 아니지만 이메일만 등록하면 받을 수 있음.


'Growth Hacking(그로스 해킹)'이란?, 적용 사례 by Pristones
http://sudo.pristones.com/2014/03/31/growth-hacking-1/
첫번째 링크는 개념을 간략히 정리한 것이고 두번째 PT는 실제 사례를 포함하여 설명하고 있음.



관련 서적
: http://www.amazon.com/Growth-Hacker-Marketing-Primer-Advertising-ebook/dp/B00EWPMUKM/ref=tmm_kin_swatch_0?_encoding=UTF8&sr=1-1&qid=1413268841

예전에 국내 앱 개발사의 사례가 있었는데.. 못찾겠네..

2014년 5월 12일 월요일

애자일 회고 : 최고의 팀을 만드는 애자일 기법

애자일 회고 : 최고의 팀을 만드는 애자일 기법
에스더 더비,다이애나 라센 공저/김경수 역 | 인사이트(insight) | 원제 : Agile Retrospectives :Making Good Teams Great
: http://www.yes24.com/24/goods/2813260?scode=032&OzSrank=1


애자일의 '애'자도 모르는 상태에서 이것저것 방법만 하다보니 회고에 대해서 많이 궁금했었음.
단지 스프린트 회고나 릴리즈, 프로젝트 회고에서는 그냥 별 느낌없이 시간만 보낸 듯 했고 관련 참고 글도 없었기에 도서관에서 인사이트의 애자일시리즈를 보자마자 골라서 보게 되었다.

김창준 님의 글(http://agile.egloos.com/4122099)에서도 나와 있듯이 회고의 다양한 방법에 대해서 소개하고 있고 개인적으로도 회고의 목적, 절차 방법들이 잘 정리되어 있어 좋았다.

개인적으로 소장하며 두고 보면 좋을 것 같은 정도로 괜찮은 방법들이 많았음.
아래는 책 보면서 동감하거나 느낀 점에 대해서 대충 적음.

- 다나가 진행한 회고의 구조는 다음과 같다.
1. 사전 준비를 한다.
2. 자료를 모은다.
3. 통찰을 이끌어 낸다.
4. 무엇을 할 지 결정한다.
5. 회고를 마무리한다.


... 그러니 절대로 사전 준비 단계를 건너뀌거나 시간을 줄이지 않기 바란다.

=> 사전 준비를 소흘히 했던것 같다. 단지 현황 정도만 있었고 Feeling, Finding에 대해서는 거의 생각하지 않았던 것 같다..


- 두 시간짜리 회고를 어떤 식을 진행하는지 알아보자.

. 사전 준비를 한다. 5%  6분
. 자료를 모은다. 30-50% 40분
. 통찰을 이끌어낸다. 20-30% 25분
. 무엇을 할지 결정한다. 15-20% 20분
. 회고를 끝낸다. 10% 12분
. 여유 시간 10-15% 17분

=> 일반적으로 한나절을 할 때가 많았던것 같다. 회고에서 다음 스프린트 백로그 도출까지 했으니..

- 활동은 다음과 같은 장점이 있다.
. 동등한 참여를 독려한다.
. 대화에 집중한다.
. 새로운 괌점을 장려한다.
 > 회고에서 유용하게 사용하는 활동으로는 브레인스토밍(Brainstorming), 점 투표(Voting with Dots), 체크인(Check-Ins), 짝 인터뷰(Pair Interviews)등이 있다.
=> 점 투표와 짝 인터뷰.. 팀원이 적당하면 재미있을 것 같다.

- 회고 진행자인 여러분이 가장 큰 책임을 느껴야 할 부분은 내용이 아니라 프로세스다. 프로세스라고 해서 뭔가 어려운 방법론을 이야기하는 것은 아니다. 여기서 말하는 프로세스는 수행할 활동을 꾸리고 집단역학(group dynamics)과 시간을 관리하는 것을 의미한다.
=> 아하! 집단역학 공부해야지..

(TODO) 집단역학 찾아보기..

- 그후 나도 회고를 진행할 때 체크인 활동을 수행했는데 크게 두가지 이점이 있었다. 분위기가 부드러워지는 것과 현재 사람들이 느끼는 감정을 알게 되어 회고를 어떻게 진행해야 할지 감을 잡을 수 있다는 점이다.
=> 나같은 진지남에게는.. 회의 진행 시 꼭 필요할 듯. 1. 질문 제시, 각자 대답, 2. 평가 덧붙이지 않기

- 브레인 스토밍 지침
. 많은 양을 얻으려 노력하라. 최고의 아이디어가 처음부터 나오는 경우는 거의 없다.
. 바보 같은지 아닌지 재단하지 말고 모든 아이디어를 내라.
. 터무니없고, 웃기고, 거칠고, 창의적이 되어라.
. 다른 사람들의 아이디어에 살을 붙여라.
. 판단하거나, 평가하거나, 비판하지 않는다. 거르는 것은 나중에 한다.
. 아이디어를 눈에 보이도록 기록하자.
=> 다아는 것 같으면서도 항상 잊어버리는...

나머지 괜찮은 방법들은 꽤 많아서.. 책 사서 두고 두고 볼것임...

2014년 2월 21일 금요일

코딩 호러가 들려주는 진짜 소프트웨어 개발 이야기


코딩 호러가 들려주는 진짜 소프트웨어 개발 이야기 : 엉터리 개발자에서 벗어나 진정한 개발자로 거듭나라! 제프 앳우드 저/임백준 역 | 위키북스 | 원제 : How to Stop Sucking and Be Awesome Instead (Hyperink)

이전 코딩 호러의 이펙티브 프로그래밍(http://imhallower.blog.me/90178246899)을 읽고
재미있는 충고들이 많아서 다음 책도 보게 되었음.
비록 오래된 블로그글들을 모아서 책으로 정리한 것이겠지만 나같이 귀찮은 사람들에게는 한꺼번에 몰아서 보기에 도움이 된다.

주요 chapter는 다음과 같다. 
1부 쓸데없는 일을 줄이는 법
2부 프로그래밍
3부 웹 디자인의 원칙
4부 테스트
5부 당신의 사용자를 알라

6부 우리가 관심을 둬야 할 것들
7부 게이밍

8불 읽어볼 만한 내용

보시다시피 책의 부제는 "엉터리 개발자에서 벗어나 진정한 개발자로 거듭나라" 이고 관련된 내용을 정리하였지만
전 책에 비해 각 챕터별 주제와 글들이 좀 탄탄하지 못하고 걸러낸 글들을 모아서 주제를 이래저래 맞춘것 같다.
내용면에서는 좀 실망이다. 3,4,5 챕터는 그냥 감흥없이 읽어 버렸다. 다만 마지막 챕터는 흥미를 끌었음.
아래에서 관심 글들을 정리하니 reference하는 책들이나 article이 어마어마하다....

아래는 읽으면서 개인적으로 해당되거나 동감이 가는 충고들을 정리한 내용과 개인 의견이다.

1부 쓸데없는 일을 줄이는 법

당신이 매일 아침 일어날 때, 신이 제작한 완벽하게 독창적인 장치인 유기적인 두뇌를 이용해 그날 해야 할 가장 중요한 일 세 가지를 떠올릴 수 없다면 그 상황을 진지하게 개선할 필요가 있다.
당신에게 중요한 일이 무엇이고, 무엇이 당신에게 동기를 부여하는지 알아내야 한다는 말이다.
=> 회사에서 뭘 할지 몰라 그냥 무의미하게 흘려 버리는 시간이 있다. 나도 회사도 손해이다....

나는 해마다 '버밍험 감옥으로부터의 편지(Letter from a Birmingham Jail)를 다시 읽는다. 그것이 가장 설득력 있는 에세이라고 생각하기 때문이다.... 당장 읽어보라.
(TODO) => 한번 읽어보자.
때로는 프로젝트 자체가 성공을 거두더라도 당신은 실패하게 되는 경우가 있다. ... 여기에 참여했던 엔지니어들이 모두 궁극적으로 실패를 넘어 생존했을뿐더러 이후에 더 엄청난 성공을 향해 나아가기도 했다는 점이다.... 실패는 놀라운 선생님이다.

당신보다 재능이 있는 개발자가 수천 명 있다는 사실에 기죽지 말라. 당신에게 열정이 있는 데 재능이 무슨 필요란 말인가?
=> 감사하게도 희망을 주는 말이다. 하지만 열정이 그냥 열심은 아니겠지..

- 연습하라, 연습하라, 연습하라!
- 경험과 전문성을 혼동하지 말라.
- 민간풍습을 믿지 말라. 하지만 그것을 배우기는 해라.
- 아무것도 절대적으로 믿지 말라. 자신만의 방법론을 세워야 한다.
- 자가 학습을 주도하라. 아무도 대신 해주지 않는다.
- 명성 = 돈. 스스로의 명성을 구축하고 보호하라.
- 자원, 자료, 도구를 끊임없이 확보하라.
- 자신민의 기준과 도덕률을 확립하라.
- 장인적 기술을 사소한 것으로 만드는 자격증을 피하라.
- 항상 노력하는 동료를 곁에 둬라.
- 쓰고, 말하고, 항상 자신이 보기에 진실인 것만을 발언하라.

(TODO) => 꼭 기억하자.
(TODO) => 읽어보자. 자격증 관련

"실천가를 위한 실용주의 프로젝트 관리: 위대한 관리의 비밀(Behind Closed Doors: Secrets of Great Management)"
(TODO) => 읽어보기, 현재 절판임.

이 소프트웨어 개발자는 자기가 해야 하는 일의 전체 목록을 가지고 있지 않다. 즉, 당당하게 99퍼센트의 일이 완성됐다고 주장하고 있기는 하지만 앞으로 남은 일에 얼마나 더 많은 시간을 쏟아 부어야 할지에 대해서는 전혀 모르고 있다!

=> 저자는 할일을 자세히 나열해 보라라고 말하고 있음.. 하긴 나도 개발 결과를 말할때 대충 다 끝나다고 말을 하지만 이것저것 손볼게 남아 있는게 사실이다. 대략적으로 생각해서 결과를 말하곤 하는데 정량적인 방법을 쓰던 다른 방법을 쓰던 자세히 따져 볼 수 있는 방법을 터득하는게 맞겠다.

Roger Session의 "엔터프라이즈 아키텍처를 향한 더 나은 길(A Better Path to Enterprise Architecture)"




2부 프로그래밍
프로그래밍: 사랑하지 않으면 떠나라.
지난 20여 년 동안 나는 돈을 받으면서 프로그래밍할 자격이 없는 것처럼 보이는 사람들과 일한 경험이 아주 많다. 나는 평균적인 수준의 프로그래머를 말하고 있는 것이다. 우리는 모두 인간이고, 그래서 많은 실수를 범한다.
=> 연차가 좀 되니 자존심을 내려 놓고 끊임없이 배우는 자세가 필요하다..... 하지만 자존심을 내려 놓는 것은 어려운 건 사실이다.

많은 사람들이 자기가 쓴 글에 '낙타는 혹이 두개다 The camel has two humps"라는 학술 논문에 대한 링크를 달고 있다.
(TODO) => 읽어 보자.

최근에 스티븐 예그 Steve Yegge의 방대한 글들을 뒤적이다가, 2005년에 작성된 프로그래밍 훈련하기 Practicing programming라는 글을 읽게 됐다.
(TODO) => 읽어 보자.

코드카타(노력이 담긴 학습을 실천하고 프로그래밍 기술을 연마하는 방법에 해당되는)의 예를 보고 싶다면 스티브가 쓴 글은 탁월한 출발점을 제공한다. 스티브는 그것을 실전 훈련 practice drills 이라고 불렀다.
(TODO) => 위 링크에서 항목들을 반복 읽기

칼 위거스 Karl Wiegers가 쓴 탁월한 책인 "소프트웨어에서의 동료 간 검토: 실전가이드 Peer Review in Software: A Practical Guide"는 2002년 이래로 훌륭한 가이드 역할을 수행해 왔다.
(TODO) => 읽고 정리하기


3부 웹 디자인의 원칙
소프트웨어 프로젝트의 사용성과 관련해서 입문자들을 위한 '물을 끓이는 방법' 수준의 쉬운 글을 읽고 싶다면 이 책을 읽는 것을 중단하고 지금 당장 "스티브 크룩의 사용성 평가, 이렇게 하라! Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Proglems"를 구입해서 읽어보기 바란다.
(TODO) => 빌려서 읽어라.

조엘 스폴스키는 자신의 탁월한 책인 "프로그래머를 위한 사용자 인터페이스 디자인 User Interface Design from Programming"에서 사용성과 학습용이성의 차이를 설명했다.
(TODO) => 읽기

. 그냥 '아니오'라고 말하라.
이런 식의 경험을 하고 나서 많은 소프트웨어 개발자들이 그냥 '아니오'라고 말하라는 원칙을 내면화하게 된다는 생각을 하게 됐다. 양극단의 생각은 모두 위험하다. 하지만 나는 모든 것에 '예'라고 말하라는 원칙이 프로젝트 전체를 실패하게 하는 데 더 큰 위험성을 안고 있다고 생각한다. 둘중에서 어느 한 쪽을 선택해야 한다면 단순함을 추구하는 쪽에 서는 것이 좋다.

5부 사용자를 이해하라

. 개발자에게 UI를 만들게 했을 때 일어나는 일
모든 소프트웨어 개발자의 내면 깊숙한 곳에는 커밍아웃을 기다리는 그래픽 디자이너가 한 명씩 살고 있다. 그 디자이너가 바깥세상으로 나오게 한다면 심각한 문제가 발생한다.
=> 동감이다.. ㅜㅜ , UX, UI, GUI는 디자이너들에게..

게임화 gamification라고도 할 수 있는 이런 방법, 즉 동료를 통한 자극은 정말로 효과가 있다. 하지만 이러한 시스템은 총기류와 같다. 너무나 강력한 힘을 지니고 있어서 그것을 다루는 사람이 방법을 제대로 알고 있지 않으면 위험할 수 있는 것이다.
=> Gamification은 부가적인 기능으로는 매력적이다. 이 책 참고 (http://charlie0301.blogspot.kr/2014/02/gamification.html)

. 반사회적인 사람들을 위한 사회적 소프트웨어 만들기
열 개의 '무시무시한 아이디어', 우리는 이러한 아이디어를 스택 오버플로우를 만들 때 기본요소로 활용했다.
1. 참여를 가로막는 잣대의 수준을 혁신적으로 낮춰라.
2. 사용자들을 (적어도 일부는) 신뢰하라.
3. 우리의 인생 자체가 세계에서 가장 규모가 큰 MMORPG 게임이다.
4. 나쁜 일들은 일어나기 마련이다.
5. 사랑은 금전적 동기보다 우선한다.
6. 규칙은 재미있고 사회적일 수 있다.
7. 현대의 웹사이트 디자인은 모두 게임 디자인이다.
8. 사려 깊은 게임 디자인은 지속 가능한 커뮤니티를 형성한다.
9. 커뮤니티가 항상 옳은 것은 아니다.
10. 약간의 중재는 필요하다.
=> 재미있는 아이디어들 조직에 적용하면 유연하게 만들 수 있지 않을까?


6부 우리가 관심을 둬야 할 것들

.망중립성의 중요성
망중립성은 파일 공유보다 훨씬 더 많은 것을 의미한다. 그런 면에서 팀 우 Tim Wu의 책인 "마스터 스위치: 정보 제국의 흥망과 성쇠 The Master Switch: The Rise and Fall of Information Empires"는 천재적이다.
(TODO) => 읽어 보자.


7부 게이밍

게임 프로그래밍이 이러한 초창기 시절로부터 얼마나 많이 변화했는지에 알고 싶다면 제임스 헤이그의 1997년판 전자책인 "할키온 시절: 고전 컴퓨터와 비디오 게임 프로그래머와의 인터뷰 "Halcyon Days: Interviews with Classic Computer and Video Game Programmers"를 읽어보길 바란다.
(TODO) => 읽어 보자.


8불 읽어볼 만한 내용

. 프로그래머는 책을 읽지 않지만 당신은 읽어야 한다.
=> 몹쓸 기술 서적으로 인해 책을 읽는 것을 피하게 되었지만 좋은 책들을 읽을 때는 경험이 되고 더 깊은 통찰력을 준다고 말함.. 나도 동의하는 바이다. 다만 최신 기술을 습득하기에는 부적합 하지만 단시간에 자신의 경험으로 만들고 다른 방법을 배우는 것에는 효과적이라고 생각한다. 오픈 소스 공부가 최고지만..
(TODO) => 아래 책 읽기
. 코드 컴플리트 2 
. 상식이 통하는 웹 사이트가 성공한다. Don't Make Me Think
. 피플웨어 Peopleware http://charlie0301.blogspot.kr/2014/02/blog-post.html
. 실용주의 프로그래머 Pragmatic Programmer
. 소프트웨어 공학의 사실과 오해 Facts and Fallacies of Software Engineering

앞에서 인용했던 그 사람도 자기계발서 가운데 놀랍게도 5퍼센트에 해당하는 책은 쓰레기가 아니라는 결론을 내릴 수 있었다.
권장하는 책은 "59초: 순식간에 원하는 결과를 끌어 내는 결정적 행동의 비밀"59 Seconds: Think a Little, Change a Lot"
(TODO) => 읽자.

.컴퓨터 범죄, 그 과거와 현재
개과천선한 해커 중 한 명인 케빈 폴슨 Kevin Poulson이 쓴 '킹핀'은 대단히 흥미진진한 독서 경험을 제공한다.
(TODO) => 읽자.

. 사람에게 말을 하는 방법
내가 단지 10페이지 정도만 읽고도 충격을 받을 정도로 도움되는 책이 있음을 깨닫게 된 책이 있다. 당신이 나이가 2세에서 99세 사이에 있는 아이를 다뤄야 하는 입장이라면 지금 당장 가서 "어떤 아이라도 부모의 말 한마디로 훌륭하게 키울 수 있다. How to Talk So kids Will Listen So Kids Will Talk"를 구입하기 바란다. 우리는 이미 이 책을 세 권 가지고 있다. 당신도 읽어야 한다.
(TODO) => 읽자.


. 기본기 다지기: 새루운 튜링 승합차
우리의 CEO인 스콧 스탠필드 Scott Standfield는 고전적인 컴퓨터 공학 퍼즐을 연구하다가 나를 "새로운 튜링 승합차: 66일간의 컴퓨터 공학 여행 The New Turing Omnibus: 66 Excursions in Computer Science"으로 인도 했다. 정말로 믿을 수 없을 정도로 흥미로운 책이다.
(TODO) => 재미 있겠지, 읽자.

2014년 2월 4일 화요일

게이미피케이션 Gamification : 웹과 모바일 앱에 게임 기법 불어넣기

게이미피케이션 Gamification : 웹과 모바일 앱에 게임 기법 불어넣기

게이브 지커맨,크리스토퍼 커닝햄 공저/정진영,송준호,김지원 공역 | 한빛미디어 | 원제 : Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps

http://www.yes24.com/24/goods/6775080?scode=032&OzSrank=1



Gamification에 대해서 대략적인 정의만 들어봤지 자세한 개념이나 사용예에 대해서는 찾아본 적이 없이 그냥 결과물에 적용을 한적이 있었다가 서비스 기획 관련 책을 찾다 보니 눈에 띄어서 보게된 책임.

책에서는 개념, 사용할 수 있는 게임적인 기법들, 적용 업체와 동향, 실제 적용하기들을 다루고 있음.

Gamificiation을 이해하기 위해 기반된 history나 이론을 간략히 다루고 시작하고
사례를 중심으로 법칙이나 이론을 뒷받침 하는 구성으로 되어 있어
관련 지식이 전무한 상황에서도 부담없이 읽을 수 있다.
Gamification을 궁금해 하거나 관련 기획 입문자에게는 적합하지 않을까 생각한다.

그리고 또한 인상 깊었던 것은 옮긴이의 말이었는데
정진영님께서 작성하신 옮긴이의 말을 보면 Gamification은 너무나 매력적이지만 아직 걸음마 단계라 책에서 나오는 논리를 맹목적으로 따라가지 말고 호기심을 키워가는 계기로 삼으라고 하고 있는데.. 동감한다. 특히나 지금 포스퀘어를 보면 더 동감한다.

아래는 책을 읽으면서 공감되거나 인상 깊었던 사항에 대해서 정리함.

p.45, SAPS
Status(지위), Access(접근권), Power(권력), Stuff(물품)
보상시스템이며 앞쪽에 위치할 수록 더 많은 사람이 원하고 집착하는 보상책
 . Status > Badges, Levels and leader-boards
 . Access > loyalty에 따라혜택을 제공하거나, CEO와의 식사, VIP 좌석 제공 등
 . Power > forum에서 moderator 역할
 . Stuff > reward, prize보다는 덜하지만 사용자가 게임을 지속할 수 있도록 주는 공짜 아이템

p.52, Flow
게임이 성공한 요인의 중심에는 '플로우flow'라는 개념이 있습니다. 플로우는 행복과 창의성 연구로 유명한 심리학 교수 미하이 칙센트머하이 Mihaly Csikszentmihalyi가 주창했습니다.
플로우 상태란 플레이어가 지나친 열망과 과도한 권태감 사이에서 적정한 수준의 동기유발이 되고 있음을 의미합니다.

=> 피플웨어서 언급된 내용인데 출처는 알지 못했었음.
http://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi#Flow

In his seminal work, Flow: The Psychology of Optimal Experience, Csíkszentmihályi outlines his theory that people are happiest when they are in a state of flow— a state of concentration or complete absorption with the activity at hand and the situation. It is a state in which people are so involved in an activity that nothing else seems to matter. The idea of flow is identical to the feeling of being in the zone or in the groove. The flow state is an optimal state of intrinsic motivation, where the person is fully immersed in what he is doing. This is a feeling everyone has at times, characterized by a feeling of great absorption, engagement, fulfillment, and skill—and during which temporal concerns (time, food, ego-self, etc.) are typically ignored.

TED Talk : 미하이 칙센트미하이의 몰입
: http://www.ted.com/talks/mihaly_csikszentmihalyi_on_flow.html

사용자가 Anxiety Area와 Boredom Area 사이에서 Flow를 지속할 수 있는 것을 보여주는 도표


p.64
다니엘 핑크 Daniel H. Pink의 책 "드라이브Drive: 창조적인 사람들을 움직이는 자발적인 동기부여의 힘(청림출판, 2011)"

(TODO) => 보자

p.117, 소셜 몰입 루프
소셜 몰입 루프는 핵심적인 상품 디자인으로 플레이어가 몰입하고 다시 돌아오게 만드는 모델입니다.

Motivating Emotion > Social Call to Action > Player Re-Engagement > Visible Progress/Reward > Motivating Emotion (반복)

Novice Twitter Player의 예
• Motivating emotion = Connecting and expressing
• Player re-engagement = @Mentions
• Social call to action = Tweets
• Visible progress/reward = Followers

초보 사용자가 사람들과 소통하기 위해 Twitter를 사용하게 될 경우 (Motivating emotion)
Tweet을 통해 의견을 개진하고 (Social call to action)
멘션을 통해 더욱 참여하며 재 몰입하게 된다. (User Re-engagement)
결과로 팔로워라는 결과(보여주는 성과)를 얻게 됨 (Visible progress/reward)

Expert Twitter Player의 예
• Motivating emotion = Collecting and ranking
• Player re-engagement = Tweets and re-tweets
• Social call to action = Follows re-tweets
• Visible progress/reward = Listing followers

숙련 사용자는 수집하고 평가하려는 욕구를 가져 (Motivating emotion)
리트윗을 팔로우 하게 되며 (Social Call to Action)
트윗과 리트윗으로 통해 재 몰입 되고 (User Re-engagement)
결과로 얻어진 팔로워의 수를 통해 성과를 확인한다. (Visible Progress/Reward)

http://www.quora.com/User-Acquisition/How-has-Turntable-fm-grown-so-rapidly-with-no-marketing
: http://lucyhong.blogspot.kr/2012/06/blog-post.html

p.135(영문 P.80), 게임 기법
책에서 12가지의 게임 기법이 표로 정리되어 있는데 참고하면 좋을 것 같다.

Google에서 검색한 pdf 파일  : ftp://ivacuum.ru/i/WooLF/[2011]%20Gamification%20by%20Design.pdf

2014년 1월 27일 월요일

개인적으로 찾아봐야 할 항목들 정리

[비지니스모델의 탄생]
 : http://onlinebiz.kr/archives/96


[새로운 미래가 온다 다니엘 핑크]
 : http://blog.daum.net/hpjlove/7355256
 : http://colanut.com/uploaded/book_digest../pdf/(%EC%9A%94%EC%95%BD%EB%B3%B8)%EC%83%88%EB%A1%9C%EC%9A%B4%20%EB%AF%B8%EB%9E%98%EA%B0%80%20%EC%98%A8%EB%8B%A4.pdf


[소유의 종말]
 : http://blog.daum.net/thrive1009/5136053


[메디치 가문, 메디치 효과]
 : http://whitelake.tistory.com/180
 : http://m.daewooenc.co.kr/webzine/2013/03/52.pdf
 : http://ko.wikipedia.org/wiki/%EB%A9%94%EB%94%94%EC%B9%98%ED%9A%A8%EA%B3%BC

- 대상인으로 부를 축척한 메디치 가문이 이후 메디치 은행(대부업?)을 하게되고
  이를 합리화 하는 방안으로 문화, 예술, 학문에 대해 막대한 후원을 하게 되어 르네상스의 황금기를 이끄는 원동력이 된다.
- 후원을 받은 예술인들은 도나텔로, 기베르티, 부르넬레스키, 보티첼리, 레오나르도 다 빈치, 미켈란젤로, 라파엘로 등..
- 메디치효과 : 서로 다른 이질적인 분야를 접목하여 창조적·혁신적 아이디어를 창출해내는 기업경영방식이다. 서로 관련이 없을것 같은 이종 간의 다양한 분야가 서로 교류, 융합하여 독창적인 아이디어나 뛰어난 생산성을 나타내고 새로운 시너지를 창출 할 수 있다는 경영이론이다.


[소프트웨어 잉여와 공포]
http://sangminpark.wordpress.com/2011/08/23/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EC%9E%89%EC%97%AC%EC%99%80-%EA%B3%B5%ED%8F%AC/

- 해커 문화의 근원과 결과에 대한 설명
 . 실리콘밸리의 뿌리는 해커 문화
 . 해커 문화에서 발생된 것들은 Altair 8080, Basic (MS의 시작), App le I (Ap ple 의 시작), Linux 등
- 해커 문화는 잉여(Abundance)의 산실이다.
 . 재미, 기여, 명성, 여유
- 하지만 한국의 기본 정서는 공포임.
 . 그나마 잉여의 생산지로 볼 수 있는 것은 dcinside.
e0014726_475b5941c724f


[소프트웨어 크리에이티비티]
 => 도서 예약


[내가 살아가는 이유 김어준]
 : http://mlbpark.donga.com/mbs/articleV.php?mbsC=bullpen&mbsIdx=3541520&cpage=&mbsW=&select=&opt=&keyword=
 : http://blog.daum.net/wjsauddhr333/7

- 자신의 욕망의 주인이 되고 행복은 언제 어느때나 가능한게 아님 지금 행복해야 한다.
- 안하고 후회할거면 일단 해보고 후회해라.


[닐스플래깅 - 언리더쉽]
 : http://www.slideshare.net/dooookagnes/introduction-of-niels-pflaeging

2014년 1월 1일 수요일

Teach Yourself Programming in Ten Years, Peter Norvig

이전 블로그에서 이전 함 (원본 글 2014/01/01 작성)

Teach Yourself Programming in Ten Years, Peter Norvig

이전 오픈소스 책에서 Interviewee가 묻는 질문 중 하나여서 찾아봄.

처음에 한 책(3일안에 C++ 배우기)을 언급하며 
여러 분야에서 전문가가 되기 위해서는 오랜 시간 (보통 10년)이 걸리는데 
우리는 프로그래밍 기술을 배우는데 왜 이리 급하냐라고 묻고 있음.

그리고 프로그래머로 성공?(그냥 좋은 프로그래머가 되는 것이라고 보고 싶다.)하기 위한 방법을 소개하고 있음. 내용과 개인적인 생각을 함께 정리하자면 다음과 같다.

- 10년 혹은 10000 시간 동안 프로그래밍에 관심을 가지고 뭘 해봐라.
 : 대학생때에 이렇게 해보지 못한걸 좀 후회한다.. 휴학을 하고 좀 배우긴 했지만 학부때 놀아버린 것을 만회하진 못했다. 그리고 CS 전공 과목을 모두 숙지하지 못한것도..

- 프로그램을 만들어보는 것이 최고의 배움 방법이다.

- 프로그래머들과 교류하거나 다른 코드를 공부하라.
 : 좀 이르긴 하겠지만 대학생 때 Open Source community에 참가하는 것도 좋겠다는 생각이 들고 아니면 소프트웨어 멤버쉽 같은 것도 좋고.. 다만 방산이나 취직은 좀 일단 학부 때 취직하면 전공은 소흘해 지니까. 

- Computer Science 학위는 좀더 다양한 일을 선택할 수 있게 해주고 좀 더 깊은 지식을 얻게 해주겠지만 직업을 가지고 일을 하면서도 같은 경험을 얻을 수 있다. 
 : The New Hacker's Dictionary 책을 언급하며 말함.

- 다른 프로그래머와 함께 일을 하며 최고의 프로그래머가 되어 프로젝트를 이끌어 보고 최악의 프로그래머가 되어 리더가 어떻게 하는 지를 배우라.

- 다른 프로그래머를 이어서 일을 해보라. 다른 사람의 코드를 도움 없이 이해하고 유지보수를 경험하며 어떻게 하면 유지보수성이 높은 프로그램을 설계할지를 고민해 보라.

- 적어도 여섯개 정도의 프로그래밍 언어를 배우라, 예시... class abstraction 지원 언어(Java, C++ 같은)나 functional abstraction 지원 언어(Lisp, ML 같은), syntactic abstraction 지원 언어(Lisp 같은), declarative specifications 지원 언어(Prolog, C++ templates 같은), co-routines 지원 언어(Icon, Scheme 같은), parallelism 지원 언어(Sisal 같은) 많기도 하다..

- Computer Science에서 Computer가 내부적으로 어떻게 동작하는 지를 생각해 보라. 
 : 내 생각으로는 이건 프로그래밍 뿐만 아니라 내면?의 부분에도 관심을 가지고 이해하라는 얘기 인듯. 사실 application 개발자로 살면서 middleware나 operating system 이면을 들여다 보지 못하면 performance를 이해할 수 없게 되는 것과 같이 그런 부분을 지적한 것이 아닌 가라는 생각.

- 프로그래밍 언어 표준화에 참가해보라. ISO C++ 표준을 만드는 것이나 내부적인 coding style을 정하는 것도 상관없다. 다만 다른 사람들이 생각하는 언어와 왜 그렇게 생각하는지에 대해서 경험하라.

- 프로그래밍 언어의 표준화(표준화 보다는 규칙이나 룰이 아닐까?)를 벗어나는 경험을 해보라. 


그리고 마지막으로 Fred Brooks의 에세이인 "No Silver Bullet"에서 언급된 Great software designer를 찾는 세가지 방법을 소개하며 누구나 great software designer가 되는 자질은 가지고 있으나 다만 조급함을 버리고 지속적으로 연습하는 노력이 필요한 것이다라고 다시 한번 말하고 있다.. 

자신이 good software designer가 아닌 great software designer가 되고자 한다면 아래의 방법을 뒤집어 생각하고 지속적인 노력이 필요할 것으로 보인다. (본인은 grate software designer가 모두를 먹여 살린다에 동의하지는 않는다.)

1. 신속하고 체계적으로 top designer를 찾으십시요.
 : 주변의 능력있는 개발자(wannabe?)를 찾고 영향을 받는게 중요하겠음.

2. 해당 인력의 경력을 세심히 관리하고 가능성을 개발할 수 있는 Career mentor를 지정하라.
 : 멘토까지는 아니더라도 선배니 동종 업계에서 근무하는 사람들의 조언을 받는 것도 방법 이겠다.

3. 인력들 간에 software designer로서 교류하며 동기부여하며 성장할 수 있는 기회를 제공하라.
 : 교류.. 사실 우물안 개구리 처럼 책만 보면서 있다간 초보적인 기술만 보게 될 것이고 능력 증대를 배가하기 위한 방법은 다른사람의 잘짜여진 코드를 보는 것임.

2013년 12월 31일 화요일

꾸준히, 자유롭게, 즐겁게 : 한국 오픈 소스 개발자들 이야기

이전 블로그에서 이전 함 (원본 글 2013/12/31 작성)

 
꾸준히, 자유롭게, 즐겁게 : 한국 오픈 소스 개발자들 이야기
송우일 저 | 인사이트(insight) | 2013년 10월



인터넷으로 도서 구매 중 저렴해서 사게 되었다.
책 내용도 모른채 그냥 IT 서적에서 가격순으로 나오는 책 중 좀 깔끔한 것으로 구매하다보니 선택이 된 책

책 사이즈가 A5 사이즈?정도로 작고 페이지도 300 페이지가 되지 않는다.
게다가 내용은 6명의 오픈소스 개발자들의 인터뷰 내용이라 대화체로 부담없이 맘 먹으면 2-3시간에 모두 읽을 수 있겠다.

인터뷰의 내용으로는 오픈소스에 관심을 가지게 된 동기, 오픈소스 커뮤니티에 참가하게 된 과정, 오픈소스를 하면서 얻게된 것들과 변화된 상황 그리고 개발자를 위한 조언들이다.
내용을 정리하면 여러가지 항목들이 나오겠지만 책의 챕터에서 대충은 느낄 수 있는 것 같다.

목차
1. 허태준 - 가장 의미 있고 즐거운 개발
2. 김정균 - 자신을 발전시키는 소중한 공부
3. 이희승 - 도전과 점진적 개선, 그리고 변화에 열린 마음
4. 류창우 - 그냥 부담 없이 취미로
5. 허준회 - 더 나은 세상을 위한 소통
6. 최준호 - 프로그래밍의 깊은 세계로 들어가는 길

책을 읽으면서 인상 깊었거나 느끼게 된것들은 1. 무엇을 하든지 일정 시간의 몰입이 필요하다. (10000시간 법칙 처럼), 2. 관심에서 그치지 않고 죽이 되든 밥이 되든 해봐야 얻는게 있다. 3. 잉여로운 삶의 필요. 4. 어릴때의 주변 환경의 중요함. 들이다.

그리고 책에 동의 하는 내용들로는

여유를 가지는 것이 중요한 것 같다. 잉여로움으로 부터 발생되거나 진보된 것들이 많은데 대다수 우리나라 IT 개발자들은 삶의 무게에 눌려 있는 것 같다.

또한 결혼 후에는 시간의 여유가 없어지는 것은 당연해서 자신이 시간을 만들어 내서 잉여로움을 즐기는 것이 중요하고 되도록이면 결혼 전, 20대, 30대 초반에 몰입을 하는 것이 필요하다는 생각임. 

후반부 최준호님께서 강조한 사용하는 solution들의 내부를 들여다 보고 어떻게 만들어 졌는지 어떻게 돌아가는지를 아는게 중요하다는 의견에 동의 한다. Network application 단 개발 중인데 사실 하부 protocol stack들이 어떻게 동작하는지를 이해하고 있느냐 없느냐에 따라서 개발 결과물의 디자인이나 성능이 결정된다고 봐도 될것 같다. 공부해야겠음... ㅜㅜ

다음은 독서 중 확인한 TODO list 들이다.

(done) - 피터 노빅 [Teach Yourself Programming in 10 Years] 찾아서 보기

- DevOps 찾아서 정리 하기

(done) - coursera(https://www.coursera.org) 에서 과정 수강하기

- 잉여 시간 만들어 활용하기 (어렵겠지만..)

(doing) - C++11 정리하기


이건 검색하다 보니 찾게 된 PT. 추천

당신의 인생에 오픈소스를 더하라 - OSCON 발표자 뒷담화
by Sungju Jin, Manager at KT / Apache Software Foundation on Oct 14, 2013

2013년 12월 5일 목요일

테크니컬 리더 : 혁신, 동기부여, 조직화를 통한 문제 해결 리더십, #1

이전 블로그에서 이전 함 (원본 글 2013/12/05 작성)


 
테크니컬 리더 : 혁신, 동기부여, 조직화를 통한 문제 해결 리더십
제럴드 M. 와인버그 저/조승빈 역 | 인사이트(insight) | 원서 : Becoming a Technical Leader: An Organic Problem-Solving Approach


코딩 호러의 이펙티브 프로그래밍 책을 보고 읽기 시작한 책이다. (http://imhallower.blog.me/90178246899)

아직 다 읽지는 못했지만 
책에서는 제목과는 달리 테크니컬한 리더에 대한 설명 보다는 
리더의 정의에 대해서 다시 한번 생각 할 수 있게 해주고  "한달 만에 리더되기" 와 같은 방법이 아닌 리더가 되기 위한 기초를 다질 수 있는 방법이나 동기부여를 주기 위한 방법들이 있는 것 같다.
자세한 것은 더 읽어봐야 하겠지만 읽을 수록 흥미 있고 동기부여되는 책임은 틀림없음...

아래는 책에서 읽고 인상 깊은 조각들을 되새김 차원에서 내 의견들을 정리함.

---------------------------------------------------------------------------------

p.52, MOI 리더십 모델
M: 동기부여 motivation - 위협하거나 보상하거나, 밀거나 당겨서 관련 있는 사람을 움직이도록 만드는 일
O: 조직화 organization - 아이디어 실현이 가능하도록 만드는 구조
I: 아이디어 ideas 또는 혁신 innovation - 씨앗, 실현될 것의 이미지

=> 이 책에서 전반적인 챕터에서 설명하고 있는 항목들로 혁신을 위한 리더의 덕목이라 말하고 자기 사례를 드는데 reasonable 하고 나도 계속 기억하며 실천하는게 좋겠다.


p.54, 테크니컬 리더의 특징
- 문제를 이해하기
- 아이디어의 흐름을 관리하기
- 품질을 유지하기


p. 61, 명세서를 매우 주의 깊게 읽는다.
"문제 해결형 리더는 이 사실을 잘 알기 때문에 세부 사항에 주의를 기울인다. 이와 반대로, 해커는 괜찮은 해결책을 찾아내자마자 지루해 하며 바로 다른일을 하고 싶어 한다."

=> 나도 문제에 대해서 근본적인 원인 및 발생 원인을 찾기 보다는 무턱대고 회피책이나  간단한 fix만 생각 했었고 재발에 대해서는 별로 생각하지 않았었다. 책에서 말하는 내용과는 좀 다른 논점이지만 무엇을 하던 정확한 이해 위에서 모든 개발이 이뤄져야 한다고 생각한다..


p.84, 협곡에서 살아남아야 한다.

"이런 메타 학습을 이루려면 먼저 협곡에서 살아남아야 한다. .. 옛 친구들 중에는 첫 번째 고원으로 다시 돌아가서 끊임없이 자신의 어셈블리 언어 코딩 실력을 갈고닦아 나름대로 잘 지내는 사람도 있다...."

=> 챕터에서 위와 같은 그림을 보여 주며 성장에 있어서는 연습으로 인한 실력 축적, 협곡으로의 추락, 도약 과 같은 순환을 가직 된다고 하는데 맞는 말 인것 같다. 협곡을 피하면 성장이 없을 것이고 그것은 도태로 이어질 것이다.


p.89, 조직의 원동력과 리더쉽
운영체제의 성격을 잘못 이해하고 있는 소프트웨어 관리자는 별로 없겠지만, 사람이 포함된 시스템에 대해서는 오해하는 관리자는 많다. "팀의 생산성이 충분하지 못하면 관리자는 이렇게 판단한다. '리더쉽을 발휘하지 못하는 사람을 교체하면 돼. 그러면 팀은 더 빠른 속도로 일할 수 있을 거야.'"

=> 맞는 말... 강압적으로 향상시키더라도 얼마지나지 않아 반토막..


p.93, 나는 리더 유형이 아니다.
여러분은 스스로를 리더에 적합한 유형이 아니라고 생각할 수 있다. ... 나는 내가 이미 러더가 되어 있다는 사실을 알아 차리지 못했는데, ... 이것은 동기부여에 의한 리더십도 아니고, 조직화에 의한 리더십도 아니다. 그것은 혁신에 의한 리더십, 즉 조직이 일을 완수하는 방법에 새로운 기술을 더하는 것이다.

=> 나도 내가 리더가 될 수 없다고 생각하는데.. 장점과 단점을 곰곰히 다시 생각해볼 필요가 있겠다.


p.96, 성장에 대해서
문제 해결형 리더는 자신이 변화의 어떤 단계에 있더라도, 순수한 기술 혁신 리더를 영웅으로 생각하는 마음이 여전히 남아 있다. ... 기술력이 약해졌음을 인정한다는 것이 스스로에게 얼마나 고통스러운지 잘 알고 있다. ... 굉장히 힘들고 어려운 오르막을 만날 때에는, 불가피한 상황이 아니라면 결코 다시 변화를 추구하지 않겠다고 맹세하는 일도 있다. ... 달성하고자 하는 목표가 없다면 어떤 리더십 스타일이 더 좋다고 할 수 없다. ... 다시 한번 강조하지만, 리더가 되기 위해 꼭 책임자가 될 필요는 없다. 


p.109,


p.119, 혁신을 방해하는 세 가지 큰 장애물
1. 자신에 대한 무지 : 자신의 행동을 보지 못하고, 그 때문에 변화의 기회가 사라진다.
2. 문제 없어요 증후군 : 자신은 이미 모든 문제의 답을 알고 있다고 스스로 믿는다.

=> 3번도 있는데 난 잘 동의가 가지 않아서.. 1, 2번을 나에게서 쉽게 볼 수 있음. 

p.124, 동기부여 테스트
지금부터 시작해서 3개월간, 매일 5분씩 일기를 작성한다.

=> (TODO) 한번 써보자
  
p.137, 해결책에 관해
모든 문제에는 아직 아무도 찾아내지 못한 다른 해결책이 존재한다.

=> 진짤까?


p.139, 
훔치는 행위에는 한 사람의 아이디어를 훔치는 것(이것을 '표절'이라고 한다.)과 많은 사람들의 아이디어를 훔치는 것(이것은 '조사'라고 한다.)이 있다. ... 내가 좋아하는 또 한가지 요소는 오해하는 능력이다. 아이디어를 훔칠 때 잘못 가져오는 경우가 있는데, 때때로 그 오류가 가장 창조적이고 가치 있는 부분이 되기도 한다. 원래 아이디어를 낸 사람에게 훔친 아이디어를 변형해서 돌려주기도 하는데, 그 사람이 거기에서 대단한 가치를 찾아내는 경우도 있다.

=> 긍정적인 말이긴 하지만 공식적으로는 쉽게 피력할 수 없는 의견인듯. 개인적으로는 맞다고 보고 개인 개발 측면에서 나도 이렇게 하려고 한다. 

p.151, 중요한 것은 사건이 아니라, 사건에 대한 반응이다.
토니는 자신의 이력선에 '롤러코스터'라는 이름을 붙였다. ... 한 가지 재미있는 사실은 이력선에 있는 동일한 사건에 대해서 어떤 사람은 정점으로 생각하고 어떤 사람은 밑바닥으로 생각한다는 것이다. 

=> 가까이서 보면 비극이지만 멀리서 보면 희극이라는 말이 있듯이 저런 과정을 통해 사람이 성장하는 것 같다. 그때는 고통스럽겠지만


p.155, 성공한 테크니컬 리더는 모두 개인 비전이 있다는 점이다.
p.157, 비전이 없는 사람은 다른 사람들에게 큰 영향을 미치지 않는다. 

=> 맞는말 특히나 윗사람들이 비전을 제시하지 못하고 밑에서 제시하기를 바란다면 그건 암울한 조직인것 같다.

2013년 10월 26일 토요일

Dreaming in Code (드리밍 인 코드), "천국과 지옥을 넘나드는 소프트웨어 개발 이야기"

이전 블로그에서 이전 함 (원본 글 2013/10/26 작성)


드리밍 인 코드 :
천국과 지옥을 넘나드는 소프트웨어 개발 이야기
스콧 로젠버그 저/황대산 역 | 에이콘출판사



"Software is Hard."
책의 첫 챕터에서 나오는 글이고 
이 문구가 책의 결론이자 모든 S/W 개발 프로젝트의 결론인것 같다.

S/W 개발을 주업으로하는 입장에서 상당히 공감가는 글이고 국내, 해외, 개발자의 역량을 떠나서 S/W 프로젝트의 여러 시행 착오와 어려움을 엿볼 수 있는 책이다. 저자가 3자의 입장에서 프로젝트를 관찰하고 집필한 책이므로 객관적인 입장에서 볼 수 있어 좋은 것 같고 또한 S/W 프로젝트에서 manager, architecture, engineers, tester외에도 librarian이 별도로 있으면 좋겠다는 생각도 들기도 한다.

책의 내용은 OSAF (Open Source Application Foundation)에서의 Open Source PIMS application인 챈들러를 개발하는 과정을 기록한 내용이다. 하지만 저자가 챈들러 프로젝트의 끝까지 참여하지 못해 베타테스팅 까지만 기록 되어 있다.

책에서 보던 중 공감하는 일부를 개인적인 생각과 정리하여 나중에 보려고 함.


P.23
"소프트웨어는 골칫덩이다. ... 우리는 더 나은 소프트웨어를 꿈꾼다. 소프트웨어 프로젝트 관리 분야의 창시자라고 할 수 있는 프레데렉 P. 브룩스는 1987년 '은총알은 없다 No Silver Bullet'란 유명한 에세이에서 다음과 같은 말을 했다. "컴퓨터 프로그램을 개발하는 작업은 정말 어렵지만, 이를 한순간에 획기적으로 개선하는 방법은 영어 나타나지 않을 것입니다. 그저 수수한 정도의 점진적이고 꾸준한 진전만이 가능할 것입니다."

=> No Silver Bullet. 뭐든지 한번에 모든 것을 해결하는 것은 없다고 생각한다 더구나 보이지 않는 실체를 만들어야 하는 S/W 개발에서는 더더욱..
(TODO) 다시 읽어보기 


P.31
소프트웨어 시간에 관한 최초의, 그리고 가장 명쾌한 설명은 1975년에 프레데릭 브룩스가 쓴 "맨먼스 미신 The Mythical Man-Month"에서 찾아볼 수 있다. ... 개발 과정은 수많은 일정 지연과 비용 초과로 얼룩져 있었다. ... 브룩스의 팀은 일정 지연에 당황해서 마치 전투 인원을 증파하듯이 추가 개발자를 계속 투입했다. 하지만 놀랍게도 이렇게 투입된 인력은 프로젝트가 당면한 문제를 해결하기는 커녕 더 많은 문제들을 만들어낼 분이었다. 

=> 추가로 투입되는 인력은 프로젝트에 대한 이해와 개발환경 설정등의 비용이 발생하여 오히려 개발에 방해가 된다. 하지만 일정 지연으로 답답한 관리자 입장에서는 달콤한 방법이 아닐 수 없을 듯... 책은 다소 오래된 내용이고 따분하다.


P.39
성당과 시장

=> 사실 읽어보지는 않았으나 상당히 언급되는 책
(TODO) 읽어보기


P.70
이 장르의 최대 역작은 로버트 브리처의 "The Limits of Software"이다. ... 소프트웨어 프로젝트 역사상 최악의 실패로 손꼽히는 미 연방 항공국의 '진보된 자동화 시스템 AAS, Advanced Automation System" 프로젝트의 개발자 중 한 명이었다.

=> AAS는 S/W 개발 위기를 언급할 때 언제나 나오는 단골 프로젝트이다..
(TODO) 관련 논문 찾아보기


P.82
프레데릭 브룩스는 새로운 기술이나 설계를 도입할는 어떤 프로젝트에서도 "첫 번째 버전은 과감히 내다버릴 계획을 세워야 한다"고 충고했다. 첫번째에 마음에 쏙 드는 물건을 만드는 건 불가능에 가깝기 때문이다.

=> 보통 prototyping의 산출물로 나오는 prototype은 Throw-away prototype으로 생각하는게 맞다. 하지만 처음 결과물을 기반으로 개선해서 가는 형태의 Evolutionary prototyping가 더 reasonable하다고 생각할지 모르지만 나중에 뜯어고치는 비용도 만만치 않다.


P.113
파이썬과 조프 개발자들이 이미 만들어 놓은 것을 무시하고 새로 개발하는 일은 없었으면 좋겠습니다. 파이선과 조프는 이미 수년의 개발 과정을 거쳐왔으며, 이들 툴박스 안에는 훌륭한 기술이 보물처럼 잔뜩 숨어 있습니다.

P.119
원래 사용되는 질문은 "자체적으로 개발할 것인가, 상용 제품을 사다가 쓸 것인가, 기존 것을 빌려다 쓸 것인가?"이다. 하지만 기술적인 관점에서 '사서 쓰는 것'과 '빌려 쓰는 것'은 크게 다르지 않다. 이는 단지 상용 솔루션을 사용할 것인가, 오픈소스 솔루션을 쓸 것인가의 차이일 뿐이다.)

=> 새로운 solution을 사용할 때는 신중해야 한다. 개발 기간이 짧은 경우 당연히 숨겨진 버그나 부족한 feature로 고생을 하게 되고 개발 기간이 길더라도 유지보수가 제대로 되지 않는 경우 전자와 마찬가지라고 생각한다. 


P.125
종종 소프트웨어 개발자들은 '자사에서 직접 개발하지 않은 소프트웨어 사용을 거부하는' NIH Not Invented Here 신드롬에 시달리기도 한다.

=> 사실 좀 어려운 이슈다. 개발자라면 자기가 직접 만들기를 원할 것이고 가져다 쓸때는 비용과 시간을 절약하기 위해서 일 것이다. 상황에 따라서 다르겠지만 만약 직접 개발해서 적용하는 제품이 오랜시간동안 사용되어 유지보수 기간이 길어진다면 직접 개발하는 것도 괜찮다고 개인적으로 생각하고 가져다 쓸 경우 해당 소프트웨어가 2-3번의 상품화를 통해 검증 되었다면 가져다 써도 상관없을 것이라 생각되고...


P.159
소프트웨어 프로젝트를 관리하는 일에 있어 커다란 아이러니는 프로그래머들이 작업하는 대상이 한치 오차도 없는 완벽한 정확성으로 작동함에도 불구하고, 소프트웨어 개발 과정을 측정하는 일은 놀라울 정도로 어렵다는 점이다. ... 개발자의 업무량을 가장 계량적으로 측정하려면 코드의 줄수를 세면 된다. 하지만 이는 불충분할 뿐만아니라 지독할 정도로 오해의 여지가 많은 지표다.

허츠펠드는 매킨토시 개발 역사에 관해 쓴 "Revolution in the Valley, 실리콘 밸리의 혁명"에서 이렇게 말한다. "앳킨슨은 가능한 한 적은 양의 코드 줄 수를 평가의 척도로 사용하는 것은 불필요하게 긴 엉터리 코드를 작성하도록 장려하는 일이라고 생각했죠".

=> 앳킨슨의 의견에 절대 공감이다. 하지만 S/W 개발 경험이 있는 관리자도 자주 이런 방법을 사용한다는게 현실이다.


 P.162
어쩌면 문제의 근원은 관리 테크닉에 있는 것이 아니라, 소프트웨어 개발을 하는 사람들의 기질에 있는 것이 아닐까 하는 두려움이다. ... 프로그래머들과 커뮤니케이션하는 것은 놀라울 정도로 어렵다 ... 그들은 천재 괴짜이며 문제아다.

=> 일반적인 S/W Engineer가 아닌 geek, guru 같은 애들을 말하는 것이라고 생각한다. 기존 논문을 봤을 때는 생각보다 MBTI 결과에서 외향적인 성격을 가진 S/W engineer가 꽤 있었고 실제 S/W 개발에서는 외향적인 사람들이 더 좋은 역할을 보여줬던 것으로 기억한다. 
(TODO)  관련 논문확인 필요


 P.189
"모질라의 결과물은 우리보다 훨씬 앞서 있습니다. 이들 중 일부를 활용하면 우리의 개발 속도를 획기적으로 높이게 될 겁니다."

=> 앞에서 말한 것 처럼 상황에 따라서 다르겠지만 상품화 단계의 프로젝트에서는 단지 앞서 개발된 결과물이라고 완성되지 않은 것을 그냥 가져다 쓰면 검증에 문제가 될 가능성이 크다고 생각한다.
 (TODO) 모질라 재단 open source 프로젝트 확인하기

 P.245
2003년 11월 마이클 토이가 더난 후로 케이퍼는 비전을 제시하는 역할 뿐만 아니라 디자인과 개발에 있어 실질적인 관리자 역할을 맡고 있었다. ... 업무의 범주가 넓어져만 갔다. ... 케이퍼가 참석해야 할 미팅의 수는 늘어났고 이들 미팅에서 그가 눈에 띄게 힘들어하는 모습도 쉽게 눈에 띄었다. 

=> 개인적인 생각으로 프로젝트에서 관리자가 관리할 수 있는 팀원의 수는 7-8명이 적절한 것 같다. 사람이 많아지면 많아 질 수록 관리의 역할, 업무가 늘어나고 의사소통의 비용이 늘어나서 오히려 역효과를 내는 것 같다. 


 P.253
"개밥 먹기는 ... 서버 릴리스 시 마지막 몇개의 버그를 잡기 위해 내부적으로 상당히 적극적으로 수행하는 활동입니다. 제품 개발 초기 단계에서 부터 품질을 높이는 데 있어 큰 동기를 부여해 준다는 사실을 깨달았습니다."

=> 비록 모든 기능을 구현하여 문제를 발견하지 않도록 테스트 한다는 게 단점이긴 하지만 제품 개발에 열정을 가진 사람들이 이런 역할에 적절할 것 같다. 즉 자발적 동기를 가진 사람들.. 윗선으로 부터 타 부서에서 개발한 제품을 대상으로 베타테스팅을 하는 경우가 있는데 대부분 배타적이다.


P.270
"우리 관리자들이 종종 빠지곤 하는 함정은," ... "엔지니어들은 일을 마쳤다고 하는데 아파나와 디자인팀은 어리둥절해하는 상황입니다." 다르게 말하면, 기능은 동작할지도 모른다. 하지만 수많은 버그가 있고 인터페이스에는 디자인이 입혀져 있지도 않고, 아직도 산더미 같이 할일이 남아 있는 것이다.

=> 반성한다..ㅜㅜ 시작이 반이고 기능구현이 반이니.. 보통 기능 구현하면 끝이라고 생각한다. ㅜㅜ


P.302
2001년 워드 커닝햄과 켄트 벡 등 이 분야의 리더 17명이 유타주의 스키 리조트에 모여 일련의 연관성을 띠지만 저마다 다른 접근 방식에서 공통점을 찾으려 했다. ... 이 회합에서 사람들은 좀더 그럴듯한 이름을 만들어냈다. '애자일 소프트웨어 개발 방법론.' 그리고 다음과 같은 선언문도 발표했다.

=> 애자일 개발 방법론은 찾아봤지만 관련 역사는 몰랐었는데.. 애자일 관련 책을 읽어봐야 겠음. 
(TODO) 애자일 관련 기본 개론, 역사 책 찾아보기 

P.332
만약 당신이 프로그래머에게 버그를 보고한다면, 당신이 들을 첫마디는 이 말일 것이다. "그 문제가 반복해서 나타나나요?" .... 만약 그렇지 않다면 아마도 프로그래머는 어깨를 으쓱하면서 그 문제를 하드웨어 문제나 아니면 우주 광선 때문에 일어난 일 정도로 치부해 버릴지도 모른다.

=> 역시나 반성한다.. 난 이것 보다 더해서 확인하기 전에 먼저 화를 낸다 ㅜㅜ


P.368
2004년에는 마이크로소프트 윈도우 2000의 소스코드 일부가 인터넷을 통해 유출된 적이 있다. ... 매우 놀라웠던 것은 마이크로소프트의 프로그래머들이 소스코드에서 그들 자신과 그들의 도구, 그들의 동료, 그들이 개발한 제품을 심하게 꾸짖었다는 것이다

=> 재밋겟다. 나중에 나도 해봐야지 ㅎㅎㅎ
 (TODO) 해보기

 P.394
소프트웨어 개발에 있어 수많은 문제와 마찬가지로 챈들러의 반복되는 일정을 어떻게 처리할 것이냐는 문제는 '나누고, 정복하고, 미룬다 divide, conquer and punt'라는 방법으로 해결될 수 있음이 드러났다.

=> 스크럼 방법론을 쓰면서 정말 잘 와닫고 공감하는 것 중 하나이다. 다만 회사에서는 일정과 산출물을 정해두고 한다는게 함정.. ㅜㅜ