본문 바로가기
독서&그 외

'함께 자라기 (애자일로 가는 길)' 을 읽고

by winteringg 2022. 8. 7.

 이 글은 김창준님의 '함께 자라기 (애자일로 가는 길)'을 읽고, 책 내용 중에서 지금 현재 나에게 필요하다고 생각하는 부분들을 책에서 발췌하여 정리한 글이다. 이 책은 시간이 조금 지난 후에 다시 읽어보고 싶다. 그 때의 깨달음과 지금의 깨달음이 또 다를 것 같다.

 

함께 자라기 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com


자라기

 우리가 일반적으로 학교에서 배우는 '학교 학습'과는 반대되는 개념으로 '야생 학습' 이 있다. 특징은 아래와 같다.

  • 야생 학습은 대부분 협력적이다.
  • 야생 학습은 대부분 비순차적이다.
  • 야생 학습은 대부분 자료에 한정이 없다.
  • 야생 학습은 대부분 명확한 평가가 없다.
  • 야생 학습은 대부분 정답이 없다.
  • 야생 학습은 대부분 목표가 불분명하고 바뀌기도 한다.

 나는 이것을 간단하게 보자면 '야생 학습은 불확실성이 높다' 고 보았다. 그렇다면 불확실성이 높은 상황에서는 어떤 방식으로 학습해야 할까? 어떻게 학습해야 효율적이고 효과적일까?

 몇 년 전, '1만 시간의 법칙'이 유행했던 때가 있었다. 나는 이 법칙이 어떠한 분야에 전문가가 되기 위해서는 1만 시간만 투자하면 된다, 고 이해했었는데 이 책을 보고 나서 그게 아니라는 것을 깨달았다. 1만 시간의 법칙을 만든 안데쉬 에릭손은 1만 시간의 법칙을 '자신의 기량을 향상시킬 목적으로 반복적으로 하는 수련' 으로 정의했다. 그냥 무조건 시간만 투자하는 것이 아닌 기량을 향상하려는 목적으로 하는 의도적 수련인 것이다. 예를 들어, 골프 퍼팅 연습을 하는데 공이 어디로 가는 지 보지도 않고, 내 자신의 폼이 어떠한지, 잘못된 그립으로 공을 치고 있지는 않은 지 살피지 않은 채 냅다 1,000개의 공만 친다고 생각해보자. 이 사람은 그냥 잘못된 방식으로 1,000개의 공을 치는 연습을 하는 사람이 된 것이다. 정확한 포즈로 내가 원하는 곳으로 공이 갈 수 있도록 하는 부분은 전혀 연습되지 않을 것이다. 왜냐하면 피드백이 없으면 행동을 조정할 수 없기 때문이다. 피드백 시점 역시 중요하다. 일주일 뒤, 한 달 뒤, 1년 뒤가 아니라 즉시 그 순간 피드백을 받아야 한다.

복리의 비밀

 매일, 자주 하는 자기 계발이란 참 중요하다. 이게 축적이 되면 자신이 습득한 지식이나 능력은 복리로 이자가 붙기 때문이다. 더글러스 엥겔바트 라는 사람은 작업을 세 가지 수준으로 구분한다. A, B, C 작업이다.

- A 작업은 원래 그 조직이 하기로 되어 있는 일을 말한다.
- B 작업은 A 작업을 개선하는 것을 말한다.
- C 작업은 B 작업을 개선하는 것을 말한다.

 더글라스 엥겔바트는 "A 작업 이후의 B 작업 없이는 효과적인 A 작업은 불가능할 것이다. ··· 하지만 ··· 궁극적으로는 C 작업의 품질이 ··· 우리가 제공하는 제품과 서비스의 품질을 결정짓는다." 고 말했다.

  위의 사진의 '일반 조직'인 왼쪽 그림처럼, 그저 매달 결과물만 만들어 내는 것은 저번 달과 이번 달의 차이와 발전을 만들 수 없다. 오른쪽의 '복리 조직' 처럼 첫 주기에 만들어내는 결과물을 계단 삼아 다음 주기에는 더 높은 품질의 결과물을 만들어 내어야 성장이라는 단계의 도구가 된다. 그렇다면 이 A 작업을 개선하기 위해서는 어떻게 해야 할까? 저자가 책에서 밝힌 힌트는 아래와 같다.

  • 자신이 이미 갖고 있는 것들을 잘 활용하라. 내가 그 지식을 얼마나 어떻게 활용하는지 반성하라.
  • 외부 물질을 체화하라. 계속 내부 순환만 하다 보면 일정 수준에 머무를 위험이 있다. 주기적인 외부 자극을 받되, 빨리 그것을 자기화해라.
  • 자신을 개선하는 프로세스(회고/반성)에 대해 생각해 보라. 나를 개선하는 과정(B 작업)을 어떻게 하면 더 개선할 수 있을 지(C 작업) 고민하라.
  • 피드백을 자주 받아라. 일찍, 그리고 자주 실패하라. 실패해서 학습하라.
  • 자신의 능력을 높여주는 도구와 환경을 점진적으로 만들어라. 좋은 컨디션 등의 완벽한 도구와 환경을 갖추는 데에 집착하지 마라.

가장 학습하기 힘든 직업이 살아남는다.

 내가 가장 공감이 되었던 파트이다. 짧다면 짧고, 길다면 긴 시간 동안 몸 담고 있던 이전 직무를 떠나 새로운 직무로 옮기게 된 계기이기도 하다. 저자는 요즘 같은 인공지능 시대에 대비하려면 '컴퓨터가 배우기 힘든 것'에 집중하라고 말한다. 특징은 아래와 같다.

  • 목표가 모호하고 주관적일 수 있으며 동적이다.
  • 매 순간 선택할 수 있는 행동/선택의 종류가 불확실하다.
  • 매 순간 내가 목표에 얼마나 근접했는지를 알기 어렵다.
  • 주로 열린 시스템(예상하지 못한 요소가 생김) 속에서 일한다.
  • 과거의 선택과 결과에 대한 구조화된 기록이 별로 없다.

 사실 이 리스트만 보면 정말 힘든 일일 것 같고, 피하고 싶은 느낌이다. 하지만 이 페이지의 주제처럼 가장 학습하기 힘든 직업이 살아남는 법이다. 이런 직업에서 중요한 역량은 '독창성, 사회적 민감성, 협상, 설득, 타인을 돕고 돌보기 같은 것들' 이다. 이 역량들이 바로 학습하기 쉽지 않은 것들이며, 컴퓨터화하기 힘든 역량이다. 남들이 시킨 일만 반복적으로 해내는 것은 매너리즘에 빠지기 쉽고 컴퓨터화하기 쉬운 스킬과 경력만 계속 쌓이기 쉽다.

의도적 수련의 필수조건, 적절한 난이도

 실력을 높이기 위해서는 의도적 수련이 중요하다. 이 의도적 수련에서도 양적인 부분 (1만 시간의 법칙 등) 보다는 질적인 부분, 더 효과적인 인 수련을 하는 것이 더 중요하다. 의도적 수련이 되려면 나의 실력과 작업의 난이도가 비슷해야 한다. 본인이 업무 시간에서 불안함이나 지루함을 느끼는 때가 대부분이면 실력이 늘지 않는 환경에 있는 것이다.

* 지루함을 느끼는 경우 :  a1 실력 낮추기
 - 평상시 쓰던 보조도구 사용하지 않기 (마우스 없이 키보드로만 작업, 컴파일 횟수 줄이기)
 - 지루하던 작업이 몰입하는 작업이 되고 실력이 늘게 된다.

* 지루함을 느끼는 경우 : a2 난이도 높이기
 - 익숙한 작업을 새로운 언어로 진행해보기
 - 리팩토링 하기, 남들보다 일을 더 효율적으로 할 수 있는 자신만의 도구나 방법 개발해보기

* 불안함을 느끼는 경우 : b2 실력 높이기
 - 나보다 뛰어난 전문가의 도움 얻기, 짝 프로그래밍, 튜토리얼 문서의 진행 순서대로 따라가 보기 (사회적 접근)
 - 괜찮은 디버거, 코드 분석툴, 오픈소스 라이브러리 등 내 능력을 확장시켜줄 수 있는 다른 도구들 써보기 (도구적 접근)
 - 비슷한 일을 했던 경험을 머릿속에서 되살려 보기 (내관적 접근)

* 불안함을 느끼는 경우 : b1 난이도 낮추기
 - 가장 간단한 결과물, 즉 아기 버전 (0.0.1 버전) 을 첫 번째 목표로 삼기. 쉬운 작업을 먼저 한 후 어려운 작업으로!

→ 지속적으로 자신의 감정 상태를 살피면서(메타인지 전략) 지루함이나 불안함을 느끼는 경우 네 가지 전략을 적절히 사용해야 한다.

 현재 내 감정상태를 잘 살피면서 적재적소에 전략 사용하기,,참 어려운 부분인데 현재 나에게 가장 필요한 것 같다. 나는 미리 걱정하고 쉽게 불안함을 느끼고 그것은 나중에 '해탈, 실패하는 것에 대한 두려움, 그렇기 때문에 현재 상태에 머무르는 것에 만족' 으로 이어지기도 하기 때문이다. 내가 나 자신을 인지하는 것은 어떻게 할 수 있을까? 자신을 객관적으로 바라보는 것이 가능할까? 제일 좋은 방법은 계속 스스로에게 물어보는 것 같다. "정말 내가 이것을 알고 있나? 이렇게 넘어가도 되나? 남에게 설명해줄 기회가 있을 때 매끄럽게 설명이 가능한가?"

실수는 예방하는 것이 아니라 관리하는 것이다.

 일반적인 회사에서는 크게 두 가지 실수 문화가 있다. 사회생활을 서로 다른 회사에서 3번 정도 경험한 나로서는 정말 공감이 되는 부분이었다. 

 실수 예방 문화는 행동에서 실수로 가는 경로를 차단하는 것, 즉 실수를 하지 말라고 요구하는 것이다. 실수 예방 문화에서는 실수를 한 사람을 색출하고, 비난하고, 처벌하기 때문에 실수를 감추게 되고 그에 대해 논의하기 꺼리며 문제가 생겼을 때 협력도 덜 하게 된다. 실수에서 배우지 못하고 감추기 급급하게 된다. 내가 두 번째 회사에서 경험한 것이다. 실제로 나는 입사 후 처음 배우는 일에 있어서 실수를 하였고, 이것을 바로 사수에게 알렸다. 하지만 불행하게도 그는 당시 기분이 좋지 않았고, 실수를 바로 잡는 것보다는 그저 누가 원인이였는 지 색출한 후에 약 6시간의 비난을 한 후 당시 나의 실수였던 보고서의 오타 하나를 바로 잡는 것으로 마무리 했다. 한 번의 가벼운 실수와 그에 따른 심각한 결과를 맞이한 나는 같은 실수를 몇 번 더 하며 멘탈이 붕괴되었으며, 그러한 실수를 알리는 것에 대해 두려움이 생겼고 이것이 당시 나의 성장에 심각한 장애물이 되었다는 것에 확신한다.

 실수 관리 문화는 실수가 나쁜 결과를 내기 전에 빨리 회복하도록 돕고, 실수를 공유하고 실수에 대해 서로 이야기하며 배우는 문화이다. 실수 관리 문화에 가까울수록 그 기업의 혁신 정도가 높다. 사실 실수가 없으면 학습하지 못한다. 나는 이 문화 또한 세 번째 회사에서 경험했다. 마지막 회사에서의 사수는 실수를 공유하는 것에 있어서 무척 너그러운 사람이었고, 그 실수를 함께 해결하는 것을 즐기는 사람이었다. 그 결과 나는 그 경험을 발판 삼아 점점 같은 실수를 하지 않게 되었고, 오히려 어떻게 하면 일을 더 효율적으로 할 수 있을지 사수와 함께 고민하며 토론하는 시간이 더 많아지게 되었다. 지금은 회사를 그만두게 되었지만 내 인생에서 가장 좋은 경험이었고 평생 가져가고 싶은 인맥이 생겼다는 것에 행복감을 느끼고 있다. 

 실수가 없으면 학습하지 못한다. 이는 학습이론의 기본이며 실수 관리를 하는 문화일수록 학습을 더 잘한다. 불확실한 상황에서 실수는 피할 수 없기 마련이다. 실수를 배우고, 실수 시에 어떻게 대처하는 지를 학습하여야 한다. 실패를 두려워하지 말자.....제발...!

함께

협력을 통한 추상화

 일반적으로 실력이 뛰어난 개발자는 보통 실력의 개발자에 비해 커뮤니케이션, 협력 능력이 뛰어나다. 그냥 협력이라고 다 좋은 것은 아니고 몇 가지 전제 조건이 필요하다. 예를 들어, 두 사람이 시각화 없이 협력하는 것(전화나 문자 등)보다 중간 매개(화이트 보드, 종이 등)를 두고 협력하는 것이 훨씬 낫다.

 짝 프로그래밍은 추상화를 높일 수 있는 좋은 방법이다. 짝 프로그래밍은 두 사람이 한 컴퓨터를 사용해 함께 프로그래밍하는 것인데, 대화하고 같이 그림도 그리며 협력하는 것을 통해 추상화를 높이고, 이것을 토대로 소스코드를 구체화하며 검증한다. 이 부분에서 "아하!" 가 터져 나온다. 

구글이 밝힌 탁월한 팀의 비밀

 구글에서 연구한 뛰어난 팀의 특징은 아래와 같다.

  • 팀에 누가 있는지(전문가, 내향/외향, 지능 등)보다 팀원들이 서로 어떻게 상호작용하고 자신의 일을 바라보는지가 중요함
  • 심리적 안전감이 높아야 함
  • 팀 토론 등 특별히 고안된 활동을 통해 심리전 안전감을 개선함.

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

현실에서 실천하기

 그래서, 배운 것을 어떻게 실천할것인가? 일단 자신의 학습 환경을 만들어야 한다. 실험이 실패한다고 좌절하지 말자. 일단 계획부터 짜고 내일부터 시작한다? 지금 당장 하지 않으면 내일부터 할 확률은 절반 이하로 떨어진다.

애자일

일단 애자일을 업무적인 측면이 아닌, 나의 성장이라는 키워드로 애자일의 핵심을 보자면 다음처럼 생각할 수 있을 것 같다.

  • 성장하고자, 실력을 개선하고자 하는 동기
  • 구체적이고 즉각적인 피드백
  • 실수를 관리할 수 있는 기회

 실패하고 학습하여 피드백의 순환율을 높이자. 실수에서 끝나지 않고 그것을 학습하여 내것으로 만들자. 나를 개선할 수 있는 프로세스(회고)를 만들고, 그것을 더욱 개선하자. 생각하는 것들을 복수개로 공유하자. 협력하는 것을 통해 추상화를 높이고, 이것을 토대로 구체화하며 검증하자.

'독서&그 외' 카테고리의 다른 글

Git-flow, GitHub-flow 정리  (0) 2022.08.16
IntelliJ 단축키 for Mac OS  (0) 2022.08.16
Apple 의 감성 반도체 M1 에 관하여  (0) 2022.08.04
PC 견적 맞춰보기  (0) 2022.08.03
컴퓨터 구조 이해  (0) 2022.08.03

댓글