# <함께 자라기 - 애자일로 가는 길> 서평 ![[Pasted image 20250207215629.png]] 주말에 재미로 읽기 괜찮은, 실무에 적용은 어려운, 자기계발서적. 성공사례에만 집중하고, 최선을 다해 전문가를 무시하고, 기존 히스토리에 대한 이해 없이 새로움에만 집착한다. 교회 청년부 성경공부 시간에 끌려와 QT 책을 낭독하는 기분을 원한다면 추천할 수 있다. --- ISBN: 978-89-66262-33-5 저자: 김창준 --- # 자라기 서론부터 성장을 이야기하다 말고 갑자기 애자일이 나온다. 어째 최신 트렌드에 맞춘 자기계발서가 될 것 같은 불안감이 시작부터 크다. 심지어, 시작부터 주입식 교육을 까고 시작한다. 하지만 나는, 본인 공부하기 싫다는 마음을 억지로 감추고, 주입식 교육을 비판하는 사람에 대한, 나쁜 편견이 있다. 다만, 야생 학습법이 더 효율적이라는 주장은 어느 정도 사실이다. 학습에 있어서 방향은 고정되어있지 않고 늘 변화한다. 그렇기에 우리는 종종 고개를 들어, 올바른 방향으로 나아가고 있는지 주기적으로 점검해야한다. 생산성 평가를 진행했을 경우, 경력의 ”길이“보다는 ”다양성“이 생산성과 유의미한 상관관계를 보인다고 주장한다. 그런데, 경력이 6개월 미만인 경우는 훨씬 강한 상관관계를 보인다. > 실제로 ”생산성“에 대한 ”객관적“인 평가가 가능한지에 대해서는 일단 괄호치기 하련다, 시작부터 너무 뭉개고 가는 것 같은데… > 사실 사회과학은 본디 ”그거 당연한 것 아냐?“라는 말이 나오면 성공한 연구가 된다. 당연한 것을 자명하게 나열하고, 그 여럿을 묶어 ”오 그건 좀 신기한데” 소리가 나오게 해야하니까. 그런 면에서, 시작 부분은 평범한 사회과학 도서와 비슷하게 보인다. 단순히 시간이 성장을 담보하지 않는다. 의도적인 학습을 통해서야 실제로 “성장”이 이루어진다. 이 명제에는 반대하는 사람이 별로 없겠으나, 저자는 여기서 더 나아가 “1만 시간의 법칙”을 제시한다. 애자일이 무엇인지 나는 여전히 모르겠다. 잦은 피드백과 회고, 그리고 시시때때로 이루어지는 방향 변경? 그리고 이러한 방식을 학습에 적용한다? 솔직히 말하자면, 그런 잦은 “기민함”을 보이다가 결국 이도저도 못되고 임기응변 전문가밖에 되지 못하는 경우를 너무 많이 보았다. 저자가 의도적으로 무시하는지는 모르겠지만, 의외로 특정 분야의 “전문가”가 되는 일에는 꽤 많은 시간의 “주입식 교육“이 필요하다. ## 달인이 되는 비결 저자는 여기에서 두 가지 명제를 제시한다. 1. 실력을 개선하려는 동기 2. 구체적인 피드백을 적절한 시기에 당연한 말이고, 이 말 자체에는 반대하지 않는다. 사실 이미 모호한 “선언”인 만큼, 문장 자체를 반대하기는 어렵다. 하지만, 단어 단위로 끊어내볼까? - 실력이란 무엇인지? - 무엇을 개선이라 할 수 있는지? - 동기? 진심을 말하는 것인지? 사람이 자신의 진심을 알 수 있나? - 어떤 피드백을 구체적이라 부를 수 있는지? - 적절한 시기에 대한 객관적인 평가기준이 존재하는지? 무엇 하나 명확하지 않기에, 나는 이 책을 그저그런 “자기계발서”로 부를 수밖에 없다. 당연한 말을 열심히 나열해놓고, 읽는 사람은 감명깊고 “그래, 한 번 해 보는 거야!”라고 외치게 만들고, 다시 우리는 원래 자리로 돌아온다. 결국, 그 무엇도 변하지 않는다. 그럼에도 이 책이 여전히 “좋은” 책이라 믿는다면, 더 고민해보라는 말 외에는 할 수가 없다. 그리고 이런 자기계발서의 공통점이라면, 사람들이 일반적으로 생각하는 “전문가”에 대한 근거 없는 비난이다. 이런 얘기 할 때마다 펀드매니저와 원숭이를 비교하면서 수익률 얘기 하는데, 솔직히 이제는 좀 지친다. 만약 원숭이가 직관을 사용해서, 20년차 보험계리사를 대리하여, 무배당 통합 변액 유니버설 중대질병보장 종신보험을 적절한 수익률로 그려올 수 있다면, 나는 그 비난에 동참하겠다. 대체 왜, 전문가는 딱 한 가지 기능만 한다고 믿는지, 그 사고 구조를 도저히 알 수가 없다. 전문가는 망치가 아니다, 오히려 공구함에 더 가깝다. ## 적절한 난이도 그래, 이제 여기까지 왔다. 시작부터 학교식 교육을 비판하더니, 이제는 교육학이다. 자신에게 맞는 일을 해야지 실력이 는다. 난이도가 너무 높다면 능률이 심하게 떨어지고, 반대라면 지루함을 느끼게 된다. 정말 그러한가? 음향, 사진, 요리, 연기, 심지어 스키나 자전거를 배울 때조차, 안전만 담보된다면 차라리 최고 난이도를 한 번쯤 경험해보는 방법을 추천한다. 그것이 정답이어서가 아니라, 좋은 것을 느껴봐야지 어디를 개선할 수 있는지 알기 때문이다. > 연기의 경우는 다른 사람의 연기를 참고하지 말라고 가르치는 경우도 있다. 자신의 개성을 드러내고 실제로 그 기분이 되어야지, 따라하기만 하면 안된다면서. 그런데 저자는, 잘못된 예시를 들고 있다. 인지 부하 이론은 “복잡함”에 대해 다루지, “난이도”를 이야기하지 않는다. 독일어로 미적분 문제를 푸는 일은 단순한 학대일 뿐이다. 오히려, 수학 점수가 평균정도인 학생에게 해석학 논문에 대한 서평을 써오라는 과제가 난이도에 속한다. 난이도 조정에 대한 이야기를 계속 하는데, 왜 이리 사람을 이성적인 존재로 가정하고 이야기하는지 잘 모르겠다. 자기 자신이 충분히 이성적이고 합리적인 존재라고 생각하는가? 어깨를 좁히고 표정을 찡그린 상태로 십 분만 있으면 슬픈 기분이 만들어지는데, 그 반대 또한 그만큼 강력한 효과가 있다. 사람은, 기계부품보다 포유류나 파충류에 더 가까운, 동물이다. 사람이 자신을 그만큼 잘 알 수 있다면 타인 또한 쉽게 이해할 수 있을텐데, 놀랍게도 우리는 그렇지 않다. 사람은 본디 야생에서 왔고, 파충류에 더 가깝게 사고한다. 그래서 나는, 내 할 말을 이렇게 정리한다. 1. 정작 저자가 전문가가 아닌 느낌이 너무 많이 드는데, 이쯤 되면 반지성주의 아닌가 하는 생각이 든다. 2. UX와 조금이라도 연관이 있다면, 인지 부하 이론은 한 번쯤 접해보는 것을 권장한다. 회원가입 같은 Form 페이지 기획할 때 크나큰 도움이 된다. 3. 여기까지 온 김에, 할 말은 해야겠다. 공부는 방향이나 속도의 문제가 아니다. 그냥 우리는 공부를 안한다. 그사람은 싫지만, 나에게는 이 말이 사실이다. 4. 자꾸 쓸데없는 대안 제시하는데, 솔직히, 그냥 일기나 쓰자. 매일 같은 시간에 30분씩 한 달만 투자하면, 변한다. ## 리버스 엔지니어링 완벽한 것을 먼저 보고 그것을 모방하라는 이야기를 위에서 했는데, 이제 등장하기 시작한다. 그런데, 단순히 “지뢰 탐지 능력” 이라는 단일 능력만 좋은 것으로 충분하다면, 다시 논리적 오류가 된다. 왜냐면 방금 전까지는 “원숭이나 펀드매니저나 수익률 비슷하다”는 이야기를 방금 전까지 했으니까. 그렇다면 이제 해야 하는 논의는, “그래서 무엇이 “따라할만한 좋은 것”인지 판단하는 스킬에 대한 이야기이다. 과연 그 이야기를 하는지, 한 번 살펴보자. 슬프게도, 없다. 단순히 어딘가에 전문가가 존재한다는 것을 가정하고, 그 전문가가 어떤 방식으로 “학습”하는지 단순히 소개할 뿐이다. 적극적 읽기와 튜토리얼 읽기, 관찰하기 등을 소개한다. 이 또한, 처음에 이야기한 “은둔고수 찾아가 배우기”와 전혀 다를바 없다. 그냥 프로그래밍이라는 새로운 상아탑을 오를 뿐 아닌가? ## 뛰어난 선생에 대한 미신 다시, 반지성주의가 출몰한다. 선생의 역량이 제자의 학업능력에 유의미한 상관관계를 나타나지 못한다고 한다. 그래, 거기까지는 동의할 수 있다. 그런데 제발 하나만 확실히 하자. 완벽한 것을 모방해야하나? 아니면 끝없이 의심하고 실수하고 그래서 교육 따위는 없이 교과서에 대한 철저한 분석과 자발적인(not 자의적인) 활용만으로 전문가가 될 수 있는가? 다른 말로 바꾸어 묻자면, ### 제도화된 교육은 어떤 목적으로 존재하는가? 애초에 “교육자”라는 “자격”을 특정한 “집단”에 의해 부여받았다면, 이는 특정 수준 이상의 교육학적 역량은 인정받았다는 뜻이다. 다시 말하자면, 제도화된 교육은 개별 교육자에게 특정 수준 이상을 요구하지 않는다. 대체 왜 자꾸 “뛰어난 사람이 되기 위한” 교육을 찾는지는 모르겠지만, 하나 단언하자면, 그런 교육은 세상에 존재하지 않는다. 교육은 언제나 피교육자로 하여금 학업 결과물의 표준편차를 줄이고 평균을 높이기 위해 존재한다. 그리고 그 둘 중 무엇 하나 경시돼선 안된다. 저자가 왜 자꾸 “탁월함”에 대한 환상을 이야기하는지는 모르겠지만(사실 알지만), 제도화된 교육은 보통 하위 50%를 평균 언저리까지 끌어올리기 위해 기능하는 경우가 많다. > 엘리트반? 특별반? 그것이 왜 제도화 및 법제화되지 않는지 다들 알지 않는가? ## 사회성 제발, 제발 하나만 하자. 학습을 원하는 것인지, 아니면 “업무 역량”을 원하는 것인지. 단언하자면, 그 둘은 분명히 다르다. 통계를 그렇게 자주 제시하면서, 왜 상관관계 하나만 들고 와서 계속 이야기하는지 모르겠다(사실 알겠다). 사회성과 업무 역량은 비례한다, 단, 일정 시점까지만. 사회성과 “학습 속도” 또한 비례한다. 단, 어느 시점까지만. 우리는 분명 “사람을 사귀다가 공부를 못하는” 상황을 본 경험이 있다. > 잘 모르겠으면 저를 보세요! 학부시절 저는 놀랍게도 ENFP였답니다..? 그래서 학점이 망했죠! # 함께 시작부터 기존의 협업 방식에 대해 비판한다. 기존의 협업은 시작 단계에서부터 할 일을 나누고 자신의 일만 담당하기 때문에, 초기에 목표한 바를 이루는 경우가 없다고 주장한다. 그런데 저자는, 아무래도 매니저가 없는 환경에서만 일해봤거나, 있더라도 그 매니저가 “리더십”을 갖지는 못한 사람이었다고밖에 생각할 수가 없다. 그리고 이 생각은, 뒤로 갈수록 진해진다. ### 조엘 테스트 꽤 괜찮은 내용이라서, 여기에도 그대로 옮겨온다. 1. 소스 컨트롤을 사용하는가? 2. 한 번에 빌드를 만들어낼 수 있는가? 3. 일일 빌드를 만드는가? 4. 버그 데이터베이스를 가지고 있는가? 5. 새로운 코드를 작성하기 전에 버그를 고치는가? 6. 최신 업데이트된 스케줄이 있는가? 7. 스펙(제품 명세)이 있는가? 8. 프로그래머가 조용한 작업환경에서 일하는가? 9. 돈이 되는 한 최고의 툴을 사용하는가? 10. 테스터가 있는가? 11. 채용 면접 때 후보가 코드를 짜게 해보는가? 12. 복도 사용성 테스트를 하는가? 조엘은 위 내용이 모두 충족되었다면 이미 “완벽”이라 할 수준은 된다고 본다. (하지만 핵 원자로 소프트웨어에 쓸 정도는 아니고) 그런데 저자는, 위 내용을 비판하기 위해 인용하고, 각 항목에 모두 “예”라고 답할 수 있더라도, 진정 그것이 더 낫다고 말 할 수는 없다고 주장한다. 그러면서, 각 항목에 대한 각개격파를 시도한다. - 그런데, 통계에 그렇게 집착하면서도 왜 Ceteris Paribus를 이야기하지 않는가? 다른 모든 조건이 동일하다고 할 때, 소스 컨트롤의 사용 유무는 팀에 득과 실 중 어디에 속하겠는가? - 심지어, 기존 주장에 이해조차 틀린 것으로 보인다. 당연히 돈이 되는 한 최고의 툴 사용이 팀에는 도움이 된다. 여기서 최고란, “비싼”이 아닌 “좋은” 이 맞다. 즉, 좋은 툴 사용을 위해 돈을 아끼지 말라는 소리를 “그냥 비싸면 좋은 거 아니다, 오해하지 말라”면서, 혼자 분개하고 있는 것으로 보인다. 결국, 각개격파 또한 실패한다. 단 하나 동의할 수 있는 내용이라면, 결론 부분이다. 관리자는 스스로를 먼저 바꾸어야한다. 소 뒷걸음질보다는, 해당 주장(또는 공감)을 위해, 매우 잘못된 근거를 가져왔을 뿐이다. ## 협업은 효율을 높인다 드디어, 드디어 배울만한 내용이 나왔다. 일반적으로 협업은 “나 혼자 하기엔 양이 너무 많아서” 한다고만 생각한다. 나 또한 협업을 “이 사람 혼자 하기엔 많으니까” 진행한다고만 생각했다. 하지만 저자는 여기에서 더 나아가, 실제로 협업이 생산성을 높인다고 주장한다. 그런데 어떻게? 이런저런 얘기가 많지만 답은 쉽다. 그냥 최대한 많이, 구체적으로. ## 상대방의 입장에서 설득하자 너무 쉽게 설명하려니 오히려 논리가 약해지는 느낌인데, 그래도 주장 자체에는 온전히 동의한다. 어차피 호감을 얻지 못한다면, 아무리 객관적인 근거를 들어도 설득이 불가능하다. 상대방의 입장에서 내 주장에 귀를 기울여야하는 “이유”가 필요하다. 하다못해 “오늘 아침에 친절하게 인사를 했다” 같은 이유만으로 충분하기도 하다. 영업직이 하는 말 같다면, 제대로 보았다. 하지만 솔직해지자. 회사에서 우리가 하는 일은, 영업과 다른가? 내 작업물을 설득하고, 충분히 올바르게 이루어졌음을 증명하고, 다른 사람(고객이든 동료직원이든, 하다못해 미래의 자신이더라도)이 나의 작업물을 채택(구입, 활용, 사용, 기타등등)하기를 기원해야한다. 근데 솔직히, 설득 방법론은 이 책 말고 다른 곳에서 찾자. 더, 아니 훨씬 좋은 책 많다. 다만 나는 옛날사람답게, 옛날 말을 여기에 붙여둔다. > 적을 알고 나를 알면, 백 번을 싸워도 위태로워지지 않는다. ## 착해져라 호구가 되어서 일을 대신해주고 그러라는 뜻은 당연히 아니다. 다만, 상대방의 발전을 위한 호구가 되라는 뜻이다. 무엇이 어려운지, 어떻게 하면 해결할 수 있는지, 알려고 시도라도 하자. 책에서는 언급하지 않았지만(어쩌면 당연하니까), 보통, 동료가 유능해지면 나도 편해진다. ## 어질리티 저자가 기록한 제목은 “탑다운 접근의 함정”이지만, 결국 민첩한 접근이 필요하다는 뜻이므로 이렇게 바꿨다. 애자일-리티. ~~사실 제목이 겹쳐서그럼~~ 의외로 많은 클라이언트가(혹은 다양한 의사결정권자가) 착각하는 부분이기는 한데, 라플라스의 악마는 존재하지 않는다. 자신이 제안한 내용이 어떤 결과물인지 명확히 알고 지시하는 경우는 존재하지 않는다. 결국, 요구사항은 언제나 변화를 전제한다. 우리가 실생활에서 마주하는 문제(혹은 니즈라고 불러도 좋을) 대부분은 명확하지 않다. 그래서 여전히 기획자라는 직업이 존재하고, 나는 밥벌이를 한다. 이와 반대로, 소프트웨어 개발은 건축에 더 가깝다. 기반을 다지고, 뼈대를 세우고, 차근차근 한 층식 올려간다. 문제는 여기에 있다. 때로 악용되기도 한다. 프로젝트 진행 중 자신의 요구사항이 틀렸다는 점을 확인하고 그래서 변경하면, “초기 요구사항과 다르기 때문에 일정(및 비용)을 추가하겠습니다.”라고 답변한다든지. > 저는 결백합니다… 아마도요 그러면 어떻게? 결국 애자일이다. 그런데 이 부분 역시나, 애자일에 대해 설명하는 다른 책을 읽자. 여기서는 짧게만 요약하고 넘어가련다. ### 작게 어차피 체계적인 개발은 불가능하니까, 추상화된 부분과 로우레벨의 방향 전환을 빠르게 하고, 그때그때 방향을 전환할 수 있어야한다. ### 자주 작게 만든다 해서 전체 소프트웨어의 크기는 줄어들지 않을 것이다. 거대하고 불분명한 요구사항 또한 그대로일 수밖에 없다. 그렇다면 당연히 자주 만들어야지. ### 다같이 왜 이리 다같이 일하는 환경을 좋아하는지 모르겠는데, “평범한” 환경이라면 다 같이 일하는 편이 좋다. 게다가 애자일한 요구사항이 기다리고 있다면, 어쩔 수 없이 다같이 일해야한다. 내가 무엇을 하고있는지, 혹은 도와줄 수 있는 부분이 없는지, 다른 분야 전문가 또한 알고 있는 편이 좋다. > 그런데 여전히, 고도로 전문화된 분야에 대한 이해는 부족한 것 같다. ## 자라기 개인의 성장을 위해서는 팀의 성장이 필수적이고, 단기적 퍼포먼스보다는 팀 전체의 “과업”을 위해 학습해야한다. 여기서는 병원 심장수술팀을 사례로 들어 이야기하고 있으나, 개발팀의 경우 또한 동일하다. - 명확한 목표를 팀 전체가 공유하고 - 무엇이든 시도해보고 더 나은 방법이라면 채택하며 - 변화의 흐름에 동참함을 즐거움으로 여기자 잘 나가다가 또 사례 위주로 빠진다. 통계는 온데간데없고, 어딘가에서 성공사례를 가져와서 그것이 정답인 것처럼 종교인의 선언을 늘어놓는다. 그런 만큼, 너무나 쉽게 반박이 가능하다. - 명확한 목표는 존재하지 않으며 - 시도가 너무 많다면 - 오히려 지칠 수 있고 - 시도 각각에는 비용이 들며 - 더 나은 방법이 무엇인지 명확할 수 없고 - 개인의 희생을 강요한다 제발 우리, 동아리 활동 말고, 일을 하자. 팀빌딩과 효율성에 대한 고민은 매니저에게 맡기고, 제발, 일을 하자. # 애자일 성공사례 제시, 집착, 매뉴얼과 교육시스템에 대한 몰이해, 지금까지 범한 편견 모두에 대한 반복. 그나마 하나 배운 점이라면, “우리 하는 일을 고객사와 함께 진행하자”라는 점. 쉽지 않겠지만, 이 부분은 최선을 다해봐야지.