logo
독서

함께 자라기

문성석2023년 12월 4일

book


자라기

“그가 말하는 1만 시간 법칙에서 1만 시간은 ‘자신의 기량을 향상시킬 목적으로 반복적으로 하는 수련을’ 한 시간을 일컫습니다. 그런 수련을 그는 의도적 수련(deliberate practice)이라고 합니다.”, p27

  • 책의 내용에 따르면, “의도적 수련”을 하기 위해서 애자일 철학을 활용하면 된다고 한다. 일반적인 프로젝트에서는 피드백의 주기가 느리다. 반면에 애자일 프로젝트에서는 피드백의 주기가 짧다. 이로 인해 빠른 시간 안에 내가 했던 행동을 개선하거나 실수를 교정할 수가 있다.
  • 실제로 회사에서 애자일 프로젝트를 진행한 적이 있었는데, 책에서 얘기하는 것처럼 빠르게 피드백을 받은 덕분에 이후 스프린트에서 기존보다 효율적으로 업무를 진행할 수 있었던 경험이 있었다.
    • 스프린트 초기 미팅에서 기획 요구사항 분석을 꼼꼼하게 하지 못했던 결과로 추가 커뮤니케이션이 발생하였고, 이로 인해 일정이 지연된 적이 있었다. 이후 진행한 회고를 통해서 요구사항 분석에 최대한의 시간을 할애해야 한다는 교훈을 얻을 수 있었다. 이 교훈을 바탕으로 이후 스프린트에서는 추가적인 시간 낭비를 줄일 수 있었다.

“소프트웨어 개발자는 702개의 직업 중 컴퓨터화될 확률이 낮은 직업 130(4.2%)으로 컴퓨터화가 어려운 편에 속합니다. 그런데 컴퓨터 프로그래머는 293등이고 확률은 48%로 컴퓨터화 확률이 꽤 높은 편이며, 이 연구의 분류상 ‘중위험군’에 속합니다.”, p50-51

  • 컴퓨터 프로그래머는 다른 사람이 준 스팩대로 개발하는 것을 주 업무로 하며 그 과정에서 협상, 설득이 크게 필요하지 않는다고 한다. 반면에 소프트웨어 개발자는 어떤 걸 만들지 고민하고 설계하는 부분이 포함되며, 그 과정에서 타인과 상호작용하는 업무가 많다고 한다.
  • 최근 인공지능이 거듭 발전함에 따라, 개발자도 빠른 시일 내에 인공지능에 의해서 교체될 것이라고 걱정하는 얘기를 많이 접했었다. 나 또한 몇 년 뒤에 개발자가 아닌 피자 가게 알바를 하고 있으려나 하는 생각을 한 적이 있었다. 그런데 지금 당장은 그러한 걱정을 할 시기는 아닌 것 같다. 걱정하는 시간에 저자가 이야기하는 암묵지와 직관을 잘 학습하여 높은 경쟁력을 가진 사람이 되도록 노력해야겠다는 생각이 든다.


협력

“일반적으로, 실력이 뛰어난 프로그래머는 보통 정도의 실력을 가진 프로그래머에 비해 커뮤니케이션, 협력 능력이 더 뛰어납니다. … 게다가 실력이 뛰어난 프로그래머는 커뮤니케이션과 협력에 더 오랜 시간을 들입니다.”, p120

  • 함께 협업하는 사람들과 대화를 많이 하고, 궁금한 부분이 생긴다면 바로 바로 질문을 하면서 상대방이 원하는 니즈를 정확하게 파악하는 것이 가장 중요한 것 같다는 생각이 든다.

구글이 밝힌 탁월한 팀의 비밀, p167-168

  • 구글에서 뛰어난 팀의 특징을 분석했다. 실험 결과, 심리적 안전감이 높은 팀일 수록 성과를 보다 더 많이 낸다고 한다. 여기서 말하는 심리적 안전감이란, 내 생각이나 의견, 질문, 걱정, 혹은 실수가 드러났을 때 처벌받거나 놀림받지 않을 거라는 믿음을 말한다고 한다.
  • 나는 이 때까지 다녔던 회사에서 내가 어떤 바보 같은 질문을 했을 때, 그것을 비난하는 사람을 만나본 적은 없었다. 다만, 나 스스로 내가 한 질문이 바보 같은 질문이었다 라는 것을 깨닫고, 나 스스로에게 실망을 했던 기억은 있다. 앞으로 이후에 진행하는 프로젝트에서는 최대한 빠른 시간내에 문제에 대해서 해결을 해보고, 해결이 되지 않는 부분에 대해서 빠르게 피드백을 받을 수 있도록 작업을 해야 될 것 같다.


애자일

“애자일의 핵심 구동원리는 협력과 학습이다. (함께 자라기)”, p196

  • 한 사람이라도 프로젝트 개선에 도움이 되는 것을 발견한다면, 팀원들과 공유하여 함께 성장해 나간다. → 만약 버그를 발견한다면, 빠르게 공유하여 다른 팀원들이 해당 버그를 발견했을 때 빠르게 해결할 수 있도록 작업 생산성 향상에 기여한다.

“하지만 종종 애자일을 한다고 해놓고는 실상 고객을 완전히 잊어버리고 자신들끼리 북치고 장구치고 하는 모습을 보곤 하는데, 이건 애자일의 핵심을 놓치고 있는 겁니다”, p200

  • 새로운 기능을 추가한다고 했을 때, 그 기능이 정말 고객들이 정말 원하는 것이고, 가치가 있는 것인지에 대한 논의가 먼저 이루어져야 한다는 얘기인 것 같다. 그렇다면, 정말 고객들이 원하는 것이 무엇인지는 어떤 식으로 알 수 있을까 ? 고객들에게 설문 조사를 하거나, 주위에 실제로 해당 제품을 사용하는 사람에게 물어보는 것이 가장 빠른 방법일 것 같다. 만약 우리의 제품을 정말 애정을 가지고 사용하는 동료들이 주변에 있다면, 가장 고객들이 원하는 기능이 무엇인지 알 수 있지 않을까 ? 또한 내가 만들고 있는 제품을 많이 사용하고 애정한다면, 자연스럽게 제품에 필요한 게 어떤 것인지 파악할 수 있고 주도적으로 아이디어를 제시할 수 있지 않았을까 하는 생각이 든다.

“애자일 방법론을 도입할 때 뭘 해야 할지 명확하게 알려달라고 합니다. 근데 그 모습은 전혀 애자일적이지 않습니다. 찾아가는 모습이 애자일입니다. 어차피 방법론 도입이라는 것이 매우 불확실한 것이기 때문에 정답이 있을 수 없습니다. 이전 경험이 정확히 들어 맞는다고 말할 수도 없습니다. 이것은 거의 모든 종류의 방법론 도입에 적용됩니다. 왜냐하면 방법론 도입은 태생적으로 불확실성이 높기 때문입니다. 그럴 때 현명한 전략은 정해진 수순을 따르는 것이 아니라 곁에 있는 사람들과 함께 주변을 탐색하고 조금 나아가고 확인하고를 반복하면서 우리의 현 맥락에 맞는 좋은 전략들을 스스로 만들어 나가는 것이 아닐까 합니다. 그리고 이 과정에서 함께 자라기가 귀중한 나침반이 되어 줄 것입니다.”, p218

  • 저자가 계속해서 언급하고 있는데, 결국 애자일 방법론의 핵심은 “함께 자라기” 인 것 같다. 어떠한 성공할 수 있는 공식이 정해져 있는 것이 아니라, 현재 우리 프로젝트의 상황에 맞게끔 팀원들과 함께 고민하며, 고객들의 피드백을 듣고 개선해 나가는 것이 가장 중요한 것 같다.