본문 바로가기
Book Review

함께 자라기 - 애자일로 가는 길

by CoachDaddy 2020. 4. 9.

함께 자라기 - 애자일로 가는 길, 김창준 지음

    -  http://www.ac2.kr/

 

    ref - 통찰, 평범에서 비범으로

  • Seeing What Others Don't: The Remarkable Ways We Gain Insights by Gary Klein (Author)

아마도 2003년도에 애자일 프로그래밍에 대해서 한참 공부했었던 적이 있다. 그 당시에 다니던 회사에서 여러가지를 시도해보기도 했었고, 저자가 개최한 작은 세미나에 참석했었던 기억도 있다. 그때 이후로도 꽤 오랜기간동안 위키를 여러가지 용도로 사용했고, 여러가지 책들도 재미있게 읽었다. 애자일 프로세스에서 제일 관심있었던 부분은 지속적으로 작은 발전을 축적해서 목표를 달성해가는 방법론이었다. TDD, UX, ... 그러다가 최근에는 학습에 대한 측면에서 다시 생각해보게 됐다. 무언가를 배우는 과정도 어떤 프로그램을 만들어 가는 과정과 닮아 있고, 학습이라는 인지활동의 공통된 부분은 특별한 영역에 국한된 것은 아니라고 생각한다. 문득, 내가 받았던 꽤나 긴 교육과정 어디에서도 이런 학습방법에 자체에 대해서 배워본 기억이 없다. 이제, 특정 교육과정이 끝나고 나서 그것보다 훨씬 더 많은 학습이 필요한 시대에 살고 있다.  모든 사람에게 적용할 수 있는 방법이란 지극히 일반론적인 방법으로 국한될 수 밖에 없고, 지극히 일반론적인 방법에서 각자 개인이 자기에게 맞는 방법을 찾아서 배우기는 너무 어렵다. 일반론 보다는 아주 특정 영역으로 제한되어 알려진 방법이라도 그 학습/배움이라는 일반 행동에 대한 공통분모를 찾을 수 있다면 충분히 다른 영역으로 확장하는 것도 가능하다. 그런 면에서, 이책은 컴퓨터 프로그래밍에 적용하는 방법들이 중심이 되지만, 충분히 다른 영역으로 확장이 가능한 책이다.

 

pp. 12

    Cognition in the Wild By Edwin Hutchins

pp. 17

    The Validity and Utility of Selection Methods in Personnel Psychology: Practical and Theoretical Implications of 85 Years of Research Findings

by Frank L. Schmidt John E. Hunter

pp. 24

Deliberate practice at work: A study with insurance agents by Sabine Sonnentag  Barbara M. Kleine

... 달리 말하면 내가 요즘에 얼마나 공부하고 수련하느냐로 내 직무 성과가 결정된다는 이야기가 됩니다.

 

pp. 28

피드백을 짧은 주기로 얻는 것, 그리고 실수를 교정할 기회가 있는 것. 

 

pp. 29

https://www.fastcompany.com/58002/expert-experts

진단 전문의는 환자를 한 번 또는 두 번 본 다음, 꽤나 난해한 증세를 해결하기 위해 평가를 내리고, 다음 환자로 넘어갑니다. 그 의사는 환자를 두 번 다시 보지 못하기도 합니다. 저는 최근에 대단히 성공적인 진단전문의를 인터뷰했는데, 그 사람은 판이하게 다르게 일을 하더군요. 그는 상당한 시간을 자기 환자를 확인하는 데에 보내면서, 진단시에 자신이 무얼 생각하는지 많은 기록을 하고, 자신이 얼마나 정확한지 나중에 확인을 하더군요. 자신이 만든 이 부차적 단계가 그를 자신의 동료들로부터 차별화하는 중요한 점입니다. 이를 통해 그는 자신이 언제, 어떻게 나아지고 있는지 잘 알 수 있습니다. 일반적으로 최고 수준의 퍼포먼스를 내는 사람들은 특별한 테크닉을 활용하는데, 그것은 널지 알려지지도 않고 많은 사람들이 실제로 행하지 않는 것이죠.

 

pp. 37

뭔가를 뒤로 남겨두고 앞으로 나아간다는 뜻의 진보라고 하는 치명적 메타포는 성장이라는 진짜 아이디어를 완전히 가려버렸는데, 성장은 우리 안에 뭔가를 남겨도 커진다는 뜻이다.

-Fancies Versus Fads by G. K. Chesterton (Author) <The Romance of Rhyme> http://www.gkc.org.uk/gkc/books/Fancies_Versis_Fads.txt

 

pp. 40

... 사이클 타임을 줄여라. 새로운 정보를 얻었다면 1년 후에 크고 완벽한 실험을 하려고 준비하기 보다는 1달 혹은 1주 후에 작게라도 실험해 보는 것이 좋다. 순환ㅇ률을 높여라.

  • Lean Thinking: Banish Waste and Create Wealth in Your Corporation by James P. Womack  (Author), Daniel T. Jones (Author)

pp. 48

THE FUTURE OF EMPLOYMENT: HOW SUSCEPTIBLE ARE JOBS TO COMPUTERISATION? by Carl Benedikt Frey and Michael A. Osborne

... 컴퓨터화에 병목이 되는 카테고리 3개 - 지각과 조작, 창의적 지능, 사회적 지능...

  • 독창성 - 주어진 주제나 상황에 대해 특이하거나 독창적인 생각을 해내기, 혹은 문제를 해결하는 창의적인 방법들을 만들어내기

  • 사회적 민감성 - 타인의 반응을 알아차리고 그 사람들이 왜 그렇게 반응하는지 이해하기

  • 협상 - 사람들을 화해시키고 서로 간의 차이를 조정하려고 노력하기

  • 설득 - 다른 사람들이 마음이나 행동을 바꾸게 설득하기

  • 타인을 돕고 돌보기 - 개인적 도움, 치료, 감정적 지지, 혹은 동료, 고객, 환자 같은 타인들에 대한 기대의 개인적 도움을 제공하는 것

pp. 55

특정 영역에서 개인이 성취할 수 있는 최고 수준의 퍼포먼스는 경험을 오래한다고 해서 자동으로 얻을 수 있는 것은 아닙니다.

The Role of Deliberate Practice in the Acquisition of Expert Performance by K. Anders Ericsson, Ralf Th. Krampe, and Clemens Tesch-Rome

 

pp. 56

    Think 싱크!

  • Think!: Why Crucial Decisions Can't Be Made in the Blink of an Eye by Michael R. LeGault  (Author)

pp. 57

<Conditions for intuitive expertise: a failure to disagree.> by Daniel Kahneman, Gary Klein

  • 타당성과 피드백

  • 직관이 적용되는 영역에 어느정도 인과관계와 규칙성이 존재해야 한다

  • 직관적 판단에 대해 빨리 피드백을 받고 이를 통해 학습할 기회가 주어지는 환경이 필요하다

pp. 58

  • Expert Political Judgment: How Good Is It? How Can We Know? by Philip E. Tetlock (Author)

  • Superforecasting: The Art and Science of Prediction by Philip E. Tetlock (Author), Dan Gardner  (Author)

 

pp. 64

    <Expert Performance in Sports: Advances in Research on Sport Expertise> by Janet L. Starkes and K. Anders Ericsson

  • <A Search for Deliberate Practice : An Examination of the Practice Environments in Figure Skating and Volleyball> by Janet L. Starkes,  and K. Anders Ericsson,  

세계 대회 수준의 선수는 지역 대회 수준의 선수에 비해 몇 배 더 많은 트리플 악셀을 연습했습니다. 지역 대회 수준의 선수는 자신들이 이미 익숙하고 자신 있는 '예술적 표현' 등의 연습에 시간을 ㄷ ㅓ썼습니다. 그러고는 트리플 악셀을 많이 연습했다고 착각했습니다. ... 뛰어난 선수는 자기 기량보다 어려운 기술을 연마하지만 그렇지 못한 선수는 이미 잘하는 걸 더 연습한다는 두 그룹의 차이를 잘 보여준 연구입니다.

 

pp. 70

    수학과 개연추론 1/2

  • Mathematics and Plausible Reasoning, Volume 1: Induction and Analogy in Mathematics by G. Polya (Author)

  • Mathematics and Plausible Reasoning, Volume 2: Logic, Symbolic and mathematical by G. Polya (Author)

 

pp. 72

두 그룹은 서로 순서만 다르지 동일한 문제를 풀었습니다.. 작성시간에서는 유의믜한 차이가 없었으나 결함 수에 엄청난 차이가 있었습니다. B(easy->hard)그룹이 A(hard->easy) 그룹보다 절반 이하의 결함을 만들었습니다. 난이도를 낮춘 결과 학습 효과, 동기 강화, 스트레스 감소, 자기 효능감 증가 등의 긍정적인 효과가 생겨 이득을 얻은 것으로 볼 수 있습니다. 유사한 연구로 유지보수 작업에서 어려운 작업을 먼저 시작하냐, 쉬운 작업을 먼저 시작하느냐에 따른 수행시간과 정확도 비교 연구에 따르면 쉬운 작업을 먼저 할 경우 수행 시간 차이는 없으나 정확도는 높아졌습니다.

  •  <The effect of task order on the maintainability of object-oriented software> by Alf IngeWang, Erik Arisholm

pp. 73

그런 면에서 자기가 지금 어떤 상태인지 살피는 '알아차림(mindfulness)'이 꼭 필요합니다. 메타인지 전략이라고도 하는데, ... 공부를 잘하는 사람들의 중요한 특징 중 하나로 꼽습니다. 또한, 공부를 넘어서서 모든 분야의 전문성에 있어서도 메타인지는 핵심적 요소로 인정을 받고 있습니다.

pp. 77

    <신발이 내 몸을 망친다>

    Clean Language

pp. 82

    인지적 작업 분석(Cognitive Task Analysis) 

pp. 83

    Active Reading 

pp. 84

자연 언어 교육과는 다르게 프로그래밍 언어 교육에서는 읽기보다 쓰기를 더 강조하는 경향이 있습니다. 프로그래밍 언어를 가르칠 때 읽기를 교육하는 경우는 극히 드물죠. 하지만 프로그래머가 실제로 업무를 할 때에는 코드를 읽는 시간이 쓰는 시간을 압도합니다. 좋은 코드를 읽어봐야 좋은 코드를 쓸 수 있기도 하고요.

 

pp. 87

많은 연구를 통해 전문가들이 이런 종류의 질문에 그다지 유용하지 않은 답을 주는 것으로 밝혀졌기 때문입니다. 이런 질문을 받았을 때 전문가들은 너무 일반적인 답을 하거나, 실제 자신의 행동과는 다른 이론적인 답을 하는 경향이 있습니다.

 

    Cognitive interviewing

pp. 89

    <Trust and Betrayal in the Workplace: Building Effective Relationships in Your Organization> by Dennis Reina Ph.D. (Author), Michelle Reina (Author)

pp. 92

  • <Organizational Error Management Culture and Its Impact on Performance: A Two-Study Replication> by Cathy van Dyck, Michael Frese, Markus Baer, Sabine Sonnentag

우선 회사의 문화가 실수 예방보다 관리에 가까울수록 그 기업의 혁신 정도가 더 높습니다. 그리고 실수 관리 문화일수록 회사의 수익성이 더 높습니다. 왜 이런 현상이 나타날까요? 이유는 간단합니다 . 실수가 없으면 학습하지 못합니다. 이는 학습이론의 기본입니다. 즉, 실수 관리를 하는 문화일수록 학습을 더 잘합니다.

교육 쪽에는 실수 훈련이라는 개념이 있습니다. 보통 교육에서는 학생들이 실수를 최소화할 수 있도록 설계합니다. 교육 중에 실수를 적게 해야 실전에서 실수가 적을 거 아니겠냐는 논리죠. 하지만 연구결과는 반대입니다. 교육 중에 실수를 더 유도해야 오히려 학습 전이가 더 잘 일어납니다. 다양한 실수를 경험하는 걸 격려하고, 실수 사례를 배우고, 실수 시에 어떻게 대처하는가를 가르치는 교육이 더 효과적이라는 연구 결과가 많습니다. 그래서 전문가에게 실수 대처법을 배우는 것이 중요하지요.

 

pp. 95

전문가가 특정 수술법을 학생에게 가르칠 때, 의료적 지식, 무엇을 어떻게 해야 할지에 대한 행동 단계, 의사결정 단계 등 자신이 해당 과제를 수행할 때 사용하는 지식 중 70%는 가르치지 않는다는 분석이 거듭해 나왔습니다. 가르치는 능력을 인정받고 한 번 이상의 '탁월한 교사상'을 받은 사람임에도 그랬고, 되도록 단계나 지식을 빠짐없이 가르쳐 주라는 특별한 주문을 받았음에도 그러했습니다. 심지어는 수업이 끝나고 "혹시 빠뜨린 것이 있습니까"하고 물은 후 그걸 추가해도 여전히 70% 정도는 빠트렸습니다. 그 기술을 성공적으로 해내기 위해 필요한 것의 30%만 가르쳐 놓고 자신은 다 가르쳤다고 생각하는 겁니다.

<The use of cognitive task analysis to reveal the instructional limitations of experts in the teaching of procedural skills.> by Sullivan ME1, Yates KA, Inaba K, Lam L, Clark RE.

 

pp.100

<The Science of Trust: Emotional Attunement for Couples> by John M. Gottman Ph.D. (Author)

 

pp.115

소프트웨어 개발을 잘 관리하기 위한 3가지 능력

  1. 복잡한 상황을 이해하는 능력: 프로젝트를 계획한 다음 관찰하고 행동하며 계획에 맞게 프로젝트가 진행되게 하거나 계획을 바꿀 수 잇어야 한다.

  2. 관찰하는 능력: 무엇이 벌어지고 있는지를 관찰할고, 효과적인 적응 행동을 하기 위해 자신이 관찰한 것이 어떤 의미인지 이해할 수 있어야 한다.

행동하는 능력: 어려운 대인 상황에서 우리가 심지어 혼란스럽거나 화가 나거나 아니면 무서워서 도망쳐 숨어버리고 싶을 때에도 적절하게 행동할 수 있어야 한다.

  1. Quality Software Management: Systems Thinking

  2. Quality Software Management: First-Order Measurement

  3. Quality Software Management, Vol. 3: Congruent Action

  4. Quality Software Management: Anticipating Change

  • http://geraldmweinberg.com/

  • The Psychology of Computer Programming by Weinberg, Gerald, (Author)

  • The Secrets of Consulting: A Guide to Giving and Getting Advice Successfully by Gerald M. Weinberg  (Author), Virginia Satir (Foreword)

pp. 117

    <Software Engineering Economics> by Barry W. Boehm  (Author)

pp. 122

<The Emergence of Abstract Representations in Dyad Problem Solving> by Daniel L. Schwartz

... 혼자서 작업한 경우는 14%만이 추상화 규칙을 찾아냈습니다. 반면 둘이서 함께 작업한 경우 58%나 추상화 규칙을 찾아냈습니다. ... 두 사람이 한 팀으로 작업하되 서로 인터렉션하지 않았고, 그들의 결과물 중 더 나은 것을 택하는 방식이라면? 이 경우는 확률적으로 계산할 수 있는데, 26%나 됩니다.

 

pp. 126

    All problems in computer science can be solved by another level of indirection - Butler Lampson

    Computer science is a science of abstraction - A. Aho and J. Ullman

    ...the entire history of software engineering can be characterized as one of rising levels of abstraction - Grady Booch

    In the development of the understanding of complex phenomena, the most powerful tool available to the human intellect is abstraction. Abstraction arises from the recognition of similarities between certain objects, situations, or processes in the real world and the decision to concentrate on these similarities and to ignore, for the time being, their differences. - C.A.R. Hoare

 

pp. 127

워드 커닝햄이 개발한 위키위키의 중요성은 그 기술에 있지 않습니다. 기술이 만들어낼 사회 구조의 변화와 기술이 이끌어 낼 사람들 간의 대화에 있습니다. 그리고 그 대화는 우리가 혼자서는 생각하지 못했던 것들을 만들게 해 줄 것입니다.

 

pp. 130

http://www.subjectivevalue.com/

http://subjectivevalue.com/images/SVI_Information_and_Items.pdf

http://web.mit.edu/curhan/www/docs/SVI_teaching_note.pdf

 

pp. 140

    데카르트의 오류 - 감정, 이성, 그리고 인간의 뇌

  • Descartes' Error: Emotion, Reason, and the Human Brain by Antonio Damasio (Author)

    <Deciding Advantageously Before Knowing the Advantageous Strategy> by Antoine Bechara, Hanna Damasio, Daniel Tranel, Antonio R. Damasio

 

pp. 157

페닝턴의 연구(1987 , Comprehension strategies in programming) 에 따르면, 프로그램을 이해할 때 고수는 상호 참조 전략(cross-referencing strategy)를 쓰는 반면, 하수는 그렇지 않았습니다. 고수는 프로그램을 연구하면서, 프로그램에서 이해한 것을 도메인 어휘로 번역합니다. 그러고는 도메인 어휘를 프로그램상의 어휘로 다시 바꿔서 검증합니다. 이를 상호 참조 전략이라고 합니다. 추상과 구상의 차원을 자주 오가는 것이죠. 반면 하수는 '두 세계'를 빈번히 연결하려는 노력을 하지 않으며, 종종 둘 중 한쪽에만 집중합니다. 

 

pp. 160

    사용자 경험의 요소 - 변하지 않는 UX 디자인 원리

  • The Elements of User Experience: User-Centered Design for the Web and Beyond by Jesse James Garrett  (Author)

  • http://www.jjg.net/elements/

추상화의 단계를 다섯 면(phase)으로 나눕니다.

  • 전략(strategy)

  • 범위(scope)

  • 구조(structure)

  • 뼈대(skeleton)

  • 표면/비주얼(surface/visual)

pp. 167

 

 

  1. 팀에 누가 있는지(전문가, 내향/외향, 지능 동)보다 팀원들이 서로 어떻게 상호작용하고 자신의 일을 어떻게 바라보는지가 훨씬 중요했다.

  2. 5가지 성공적 팀의 특징을 찾았는데, 그중 압도적으로 높은 예측력을 보인 변수는 팀의 심리적 안전감(Psychological Safety)이었다.

  3. 팀 토론 등 특별히 고안된 활동을 통해 심리적 안전감을 개선할 수 있었다.

pp. 168

    티밍 : 조직이 학습하고 혁신하는 스마트한 방법

  • Teaming: How Organizations Learn, Innovate, and Compete in the Knowledge Economy by Amy C. Edmondson  (Author)

심리적 안전감이란, 내 생각이나 의견, 질문, 걱정, 혹은 실수가 드러났을 때 처벌받거나 놀림받지 않을 거라는 믿음을 말합니다. 

 

pp. 172

<Speeding Up Team Learning> by Amy C. Edmondson, Richard Bohmer and Gary P. Pisano

 

pp. 181

    불확실한 상황에서의 판단

 

pp. 217

... '생명이 있는 느낌'이 드는 무언가를 만드려면 이런 식으로 주변 환경을 받아들이면서 그 환경과 어우러져 자라는 '생성적' 과정이 중요하다고 합니다. 저는 프로세스 역시 생명의 느낌이 필요하다고 생각하며, 따라서 생성적 과정이 필요하다고 말합니다.

    패턴 랭귀지 - 도시 건축 시공

  • A Pattern Language: Towns, Buildings, Construction by Christopher Alexander  (Author), Sara Ishikawa  (Author), Murray Silverstein  (Author), Max Jacobson  (Author), Ingrid Fiksdahl-King (Author), Shlomo Angel (Author)

  • https://www.patternlanguage.com/

'Book Review' 카테고리의 다른 글

일취월장  (0) 2020.06.26
Best Self  (0) 2020.04.19
탤런트 코드 / Talent Code  (0) 2020.03.30
대통령의 글쓰기  (0) 2020.03.20
라틴어 수업  (0) 2020.02.16