[함께 자라기 : 애자일로 가는 길] 독서 노트
[함께 자라기 : 애자일로 가는 길] - 김창준 / 인사이트
단순히 개발 방법론으로써의 애자일이 아닌, '함께' + '매일매일' + '성장' 하는 관점으로 목차를 구성하여 바로 선택
IT업계에서 이야기하는 좁은 의미의 애자일 너머, '함께', '매일', '성장'하는 방법론에 관해 탄탄하게 정리되어 있다
성장을 고민하든, 팀워크/조직관리를 고민하든, 혹은 정말 개발팀의 일원으로서 애자일을 고민하든, 한 번은 꼭 읽어봄직
단순히 원론적인 방법론 너머, 구체적인 사례와 근거를 탄탄히 제시하기 때문에, "우리 사정도 모르는 사람이 원론적인 얘기 하네" 같은 식으로 냉소적으로 반응하기 어려울 거라 생각.
1. 자기 계발, 성장에 관심이 많은 누구나
2. 개발 방법론으로서의 애자일 너머에 자리한 진짜 맥락과 목적을 이해하고 싶은 PM , 팀 리더, 애자일 코치
세상과 직업 환경은 더욱 빠르게, 더 크게 변화함 → 이에 따라 실수와 실패는 당연한 거고, 다만 그럼에도 성장 마인드셋, 학습은 필연인데
빠르게 변화하는 환경에 맞추기 위해 학습도 애자일 agile 해야. 내 현재 상황/위치를 확인하고 + 변화하는 환경에 맞춰 목적지와 경로, 방법을 지속적으로 재수정, 재설계.
이를 위해 무엇이든 큼직하게, 워터폴/탑다운으로 하려 하지 말고, 1) 작은 단위로 빨리 실행해 보고 2) 그때마다 주기적으로 구체적인~적절한 피드백을 통해 수정, 개선해 나가
이를 위해 업무 단위와 기간을 스프린트 sprint단위로 작게 설정하고, 상황을 확인하고 집단지성과 도움을 활용하기 위해 스크럼 scrum을 하는 거고
궁극적으로 원하는 바, 답을 얻고 싶은 질문, 확인하고 싶은 가설은 애초에 정해져 있으니 이 과정을 (단순히 속도를 빠르게 하는 것 너머) 단계를 건너뛰고 먼저 or 더 효율적으로/저비용으로 할 방법을 고민하는 것
그리고 이러한 '학습을 애자일 하게' 하는 과정을 하는 문화를 찾아나가는 조직이 애자일한 조직 (애자일에 프레임, 정답 없다)
결국 변화하는 세상, 환경, 목적에 맞춰 최대한 효율적으로 + 적은 리스크로 원하는 바를 얻고자 하는 전략으로써, '함께' '학습' 하는 전략이 애자일.
1. 기술 발전으로 세상과 직업 환경은 더욱더 불확실해지고 그 주기가 더욱 짧아짐
"일반적으로 불확실성이 높은 경우일수록 학습이 중요합니다. (...) 요즘 세상은 많은 것이 불확실해진 것 같습니다. 기술이 발전할수록 우리의 관심은 더욱 불확실한 쪽으로 옮겨가게 되었죠. 그래서 이 시점에서 학습의 중요성이 더욱 부상하는 것 같습니다."(12-13p)
"달리 말하면 내가 요즘에 얼마나 공부하고 수련하느냐로 내 직무 성과가 결정된다는 이야기가 됩니다."(24P)
2. 따라서 단순히 지금 잘한다, 보다는 계속 자라나는 성장 마인드셋이 중요
"더 중요한 것은 지금 잘하냐가 아니라 지금 자라냐는 것입니다. 실제 바깥세상에서는 한 번의 판가름으로 나의 미래가, 우리의 미래가 갈리는 경우보다는 수백, 수천 번의 누적 위에서 서서히 정해지는 경우가 더 많습니다."(6p)
3. 이때의 성장이란 애자일한 접근이 필요
예전 같으면 A포인트에서 B포인트로 이동한다, 즉 현재 상황과 목적지가 고정되어 있었고 + 이를 빠르게/저비용으로 가는 게 중요했지만
지금은 B포인트라는 목적지마저도 변화는 환경
그렇다면 처음에 세운 계획을 고수하기보다는 중간중간 빠르게 현재 상황을 점검하고 변화된 목적지를 확인하고
이에 맞춰서 새로운 방법, 새로운 지식을 쌓아야
세상, 판도, 전제가 바뀌니 → 당연히 목적지도 바뀔 수 있는 거고 → 그럼 당연히 방법론, 실행 안, 지식 등도 바뀌어야
"애자일 프로젝트에서는 지금 내가 한 행동의 피드백을 10분 후, 한 시간 후, 하루 후, 일주일 후 등 여러 주기를 통해 지속적으로 얻을 수 있습니다. 그리고 그때 저지른 실수는 바로 다음 주기에서 교정할 수 있습니다. 피드백을 짧은 주기로 얻는 것, 그리고 실수를 교정할 기회가 있는 것."(28p)
4. 이런 환경에서 단순히 연차로써의 경력은 무의미하고 ▶ 내가 배우는 것들이 중요
배움이 중요한 이유는, 자산 투자의 원리처럼, 자기 계발도 투자. 장기적으로 복리로 돌아와 지수함수를 그리며 기하급수적으로 증가하기 때문이고
또한, 단순히 실행 프레임 이 잘하기 에 초점을 맞춘다면, 학습 프레임 은 자라기 에 초점을 맞추고, 후자는 같은 상황에서도 학습과 성장의 기회를 찾고 유리하게 활용하기 때문
"자기 계발이 왜 중요하다고 생각하냐면, 현재 나에게 무엇을 투자했느냐가 1년, 혹은 2년 후의 나를 결정한다고 느끼기 때문입니다. (...) 무서운 사실은 이게 축적이 되면 엄청난 차이를 만들 거라는 점이지요. 자기가 습득한 지식이나 능력은 복리로 이자가 붙기 때문입니다."(31-33p)
"이렇게 작업할 때 어떤 효과가 날까요? 매일 내가 더 나은 내가 되어갑니다. (...) 이런 증가를 지수적 증가라고 부릅니다. 앞에서 말했듯이 기하급수적이라고도 하죠."(37p)
"실행 프레임은 사람들이 현재 주어진 과업이 뭔가 좋은 성과를 내는 걸로 생각하는 틀을 말합니다. 학습 프레임은 현재 주어진 과업이 내가 얼마나 배우느냐로 여기게 되는 틀을 말합니다. (...) 동일한 자극/조건이 주어졌을 때 어떤 사람음 더 많은 학습과 성장의 기회를 찾고 오히려 그 조건을 자신에게 유리한 조건으로 생각하기도 하더군요."(43p)
5. 다만, 잘 배우기 위해서는
단순히 무의식적으로~습관적으로 하는 게 아니라, 의식적 훈련을 통한 것. 즉, 소위 "1만 시간의 법칙"이란 건 노력의 양 quantity을 이야기하는 게 아니라 질 quality을 이야기하는 것. (그렇게 치면 다들 세수, 양치의 전문가겠네...)
배움의 주기를 빠르게 가져가기 위해 피드백을 1) 구체적으로 2) 짧은 주기로 받을 수 있어야 하고
(더글러스 엥겔바트의 A, B, C 작업처럼) 단순히 결과물을 내놓는 것 너머, 그걸 하기 위한 방법론과 그 방법론을 만드는 사고방식 등 더 상위 개념인 B, C 작업을 개선해야! "The better we get at getting better, the better and the faster we'll get better"
따라서 단순히 더하기 개념으로 접근하지 말고 Ex: 잠 덜 자기, 시간 늘리기, 효율화하기
복리의 개념과 A, B, C작업의 사례처럼 곱하기 개념으로 생각해야 Ex: 집단지성, 협력
그리고 이 곱하는 비율(이자율)을 늘릴 수 있어야
6. 가령....
단순히 배우는 것, 지식을 그러모으는 데 위안하지 말고 ▶ 실제로 얼마나 적용, 응용했는지?
이를 위해 이미 갖고 있는 지식은 구조화하고 서로 연결시키고
틈틈이 새로운 자극을 받아들이고 + 내재화하고
기존에 알던 것과 상충된다면, 거기서 정반합을 만들어내고
A작업을 돌아보는 회고/반성의 시간과 (B작업) + 이를 다시 개선하는 방안 (C작업)을 생각해 보고
타인에게서든, 스스로든 반드시 피드백을 받고
7. 그렇다면 무엇을 배워야 하느냐, 의 문제에서는 결국 모호하고 불확실하고 변동하는 것들 ▶ 직관, 암묵지의 영역
인공지능은 목표가 확실하고 + 옵션이 분명하고 + 목표치에 얼마나 도달했는지 확인 가능하고 + 닫힌계에서 + 구조화된 것들에 능함. 그렇다면 인간은 아래의 상황에 적응하고 강화해 나가야
목표가 불확실하고
선택할 수 있는 옵션 역시 불분명하거나 변화하고
목표 대비 현재 얼마나 갔는지 확인이 어렵고
외부 요소에 열려있고
구조화되지 않은 것들
8. 이러한 과정을 통해 우리가 전문가/달인이 되기 위해선
애초에 개선, 성장하고 싶은 동기 가 있어야 하고 (두드려야 열리는 법)
구체적인 피드백을 적절한 시기에 얻을 수 있어야
9. 그러나 버둥거리며 노력하는데도 제자리걸음을 하는 것 같다면...
원인은 1) 너무 쉽거나 2) 너무 어렵거나 ▶ 적당히 어려운 것, 적절한 자극이 Best
그러나 업무 환경과 내용, 난이도가 내 뜻대로 되는 게 아니니까...
너무 쉽다면 ▶ 내 실력에 제약을 걸거나 (Ex: 모래주머니) or 문제의 난이도를 일부러 높여보거나
너무 어렵다면 ▶ 1) 전문가의 도움을 얻거나 2) 도구를 사용하거나 3) 이전의 경험을 되살려보고, 비유적으로 접근해 보는 것
불안하거나 지루하다면 적절히 성장하기 어려움 ▶ 자신이 현재 불안한지, 혹은 지루해하진 않는지 스스로 메타인지가 있어야
10. 조직 차원에서도 이런 학습 문화를 만들기 위해서는
실수를 예방, 하기보다는 조기에 발견하여 적절히 관리, 하는 차원으로 접근 → 실수해도 괜찮아, 다만 어떻게 대처할지 고민해 보자
11. 이른바 '전문가'에 대한 환상, 미신은 버리자
전문가라고 좋은 사수, 교육자는 아님. 이들은 자기가 잘하는 영역을 대부분 무의식 중에, 암묵지로 행함
그보다는 이 사람이 어떤 과정을 거치는지, 머릿속으로 어떤 생각을 하는지, 그 인지적 과정 자체를 배우려 해 보자
그리고 전문가는 혼자서 척척 다 하는 사람이 아니라 → 기술이 어느 정도 쌓이면 나머지 핵심은 협력을 잘 얻어내는 사람. 즉, 사회적 자본 + 사회적 기술이 뛰어난 사람
12. 함께, 즉 협력의 장점 중 하나는 추상화 ▶ 여러 개별 문제를 바라보는 ~ 공통으로 적용 가능한 규칙, 프레임워크를 발견
혼자라면 대충 정리하거나 미시적으로~너무 구체적으로 접근했을 사항을
나랑 사고체계, 프레임이 전혀 다른 사람화 함께 접근하려면, 이 문제를 좀 더 높은 층위에서, 포괄적이고 추상적으로 접근하게 되고
▶ 그 과정에서 어떤 공통의/새로운 법칙, 규칙을 찾아서 여러 군데에 적용할 수 있게 됨. 즉, 추상화 능력이 좋아짐
13. 다만, 보통 함께 일하는 걸 생각하면 공유가 중요하다고 생각하는데, 공유에도 나름의 노하우가 있음
(너무 많이 쏟아내거나 너무 일찍 말해주면 부담감을, 요점이 아닌 딴 소리를 하면 혼선을...)
보통 자기의 아이디어/작업물 중 하나 one 또는 최고 best만 공유하는데 → 이렇게 되면 그 아이디어를 자기와 동일시해서, 피드백에 상처를 받거나, 상대방에게 피드백하기 어려워함
대신, 아이디어/작업물을 여러 개, 복수 plural로 공유하면 → 그중에서
"복수 공유는 그런 불안감이 상대적으로 덜 합니다. 또 부정적 피드백을 수용하려는 마음도 더 많죠. 여러 개를 준비했으니 그중 하나를 두고 뭐라고 해도 나에 대한 공격은 아닌 겁니다. 또 여러 개이니 상대적으로 이야기를 할 수 있어 말하는 사람도 편하고, 듣는 사람도 좋다는 이야기랑 안 좋다는 이야기를 같이 들으니 마음이 좀 더 편합니다."(133p)
14. 설득은 결국 사람의 영역. 숫자로 객관적으로 밀어붙인다고 설득되는 게 아님
애초에 무엇이 객관적인가? 서로의 객관, 은 다름
감정이 상하면 근거/주장이 무엇이 되었든 반대하게 되어 있고
논리와 감정, 이라는 게 이분법이 불가능. 이건 당위의 영역이 아니라 과학으로 증명된 사실 (좌뇌와 우뇌를 함께 써서 의사결정함)
"논리적이라는 것도 상대적입니다, 그리고 논리랑 감정적 판단을 분리할 수가 없습니다.(...) 우리는 이런 감정과 이성의 혼합 상태를 스스로 인정하려고 하지 않는 것 같습니다."(140p)
"출발은 결국 내가 설득하려는 사람에게서 하는 것입니다. 자료에서 출발하는 것이 아닙니다."(141p)
15. 서로의 상식, 지식은 다르다. 상대가 가진 멘털 모델을 파악하자
어떤 문제를 어떻게 접근하는지, 어떤 덩어리를 어떤 프레임워크로 쪼개서 보는지
암묵지를 전달해 줄 수 있고, what이 아닌 how를 가르칠 수 있음
16. 우리가 해결하려는 문제는 대부분 모호하고 잘 정의되어있지 않음 ▶ 탑다운, 연역에 대한 미신을 버리자
전문가들은 오히려 탑다운과 바텀업을 빠르게 교차반복하며 방법과 경로를 재설정하며 해결함 // 반면 초보, 비전문가들이 완벽하게 설계해서 접근하려 함
또한 이를 방지하기 위해서는 빈번한 공유와 + 한 번체 처리하는 일의 양 batch size을 잘게 쪼개고 + 이 흐름/간격을 최대한 짧게 가져감
또한 1부터 차례대로 접근하기보단, 원하는 결과/목적을 (단순히 빠르게 너머) 먼저, 순서에 구애받지 않고 도달할 방법을 생각
"우리가 실생활에서 만나는 대다수의 문제는 잘 정의되지 않은 문제입니다, 사실상 뭔가 만들어내야 하는 문제, 즉 디자인(설계)이 개입되는 것은 거의 다 제대로 정의될 수 없는 문제입니다."(154p)
"고수는 상호 참조 전략 cross-referencing strategy을 쓰는 반면, 하수는 그렇지 않았습니다. (...) 추상과 구상의 차원을 자주 오가는 것이죠. 반면 하수는 '두 세계'를 빈번히 연결하려는 노력을 하지 않으며, 종종 둘 중 한쪽에만 집중합니다."(158p)
"분석, 설계, 구현, 테스트, 전개를 1년이라는 프로젝트 기간에 얼마씩 배치할까로 고민하지 말고, 어떻게 해야 첫 달부터, 아니 첫 주부터, 분석, 설계, 구현, 테스트, 전개를 모두 왔다 갔다 할 수 있을까를 고민해야 할 것입니다."
▶ 애초에 달성하고 싶은 목표, 하고자 하는 바, 답을 얻고 싶은 질문, 확인하고 싶은 가설은 분명함. 그렇다면 기존의 워터폴처럼 1→2→3→4→5, 가 아니라, 또는 각 단계의 텀을 줄이려고 쪼는 게 아니라, 그냥 바로 5부터 할 수는 없는지? 도 고민해 봐야.
17. 단순히 전문가들을 모아둔다고 잘하는 게 아니다
협력하지 않는다면, 비전문가 집단보다도 못하다는 연구도 있음 → 팀 내 개인다양성 intrapersonal diversity가 높은 사람, 즉 제너럴리스트가 있어야
심리적 안정감이 있어야
단순히 단기 퍼포먼스의 정도, 달성여부가 아니라 학습 자체가 팀의 과제이자 목표가 되어야
18. 정리하면 애자일이란, 기존의 테일러리즘/계획주도/워터폴 방식과 다르게
불확실성이 높은 프로젝트에서
좀 더 짧은 주기로, 더 다양한 사람으로부터 더 자주, 일찍 피드백을 받는 구조
19. 그래서 중요한 건 학습과 협력
"불확실하다는 것은 우리가 이동을 할 때 목표점의 위치가 자주 바뀌거나 우리 위치가 자주 바뀌거나 하는 상황으로 비유해 볼 수 있습니다. 그럴 경우일수록 우리는 가다가 멈춰 서서 주위를 둘러보고 목표점과 우리 위치를 확인하는 것 같은 피드백을 통해 방향을 재조정하는 일을 자주 해야 할 것입니다. (...) 다시 말해 이동하면서 계속 배워나가야 한다는 뜻입니다. (...) 학습능력을 향상할 수만 있다면 우리는 불확실성에 대해 더 잘 대응할 수 있을 것입니다." (195p)
"결과적으로 애자일은 서로의 업무를 공유하고 상호 검토하는 협력을 통해 불행한 일을 '또는' 조건에서 '그리고' 조건으로 바꾸게 합니다. (...) 애자일은 좋은 일의 상황에 대해서는 '그리고' 조건을 '또는' 조건으로 바꾸게 합니다. 모든 사람이 통찰을 얻어야 업무를 개선할 수 있는 게 아니라 한 사람이라도 통찰을 얻으면 그걸 공유해서 전체가 개선되는 것입니다."(196p)
20. 한 문장으로는 고객에게 매일 가치를 전하라
고객 : 우리의 고객은 누구인가? 어떤 문제를 겪고 있나?
매일 = 점진적으로 (↔ 한 번에 크게) + 일찍, 자주
가치를 : 어떤 가치를 제공해 주면 될까? 이를 더 싸게, 빠르게, 많이 줄 순 없나?
전하라 : 진짜 가치가 제공되었나? 효용을 느꼈나? 문제가 해결되었고, before와 after가 달라졌나?
21. 물론 조직마다 애자일의 성숙도는 다름 → 그럼에도 한 가지 포기할 수 없는 게 있다면, 고객 참여
22. 애자일에 정해진 방법론, 프레임워크, 정답을 물어보는 것 자체가 애자일이 아님 → 조직마다 만들어가자/찾아가자