김창준이 개발자의 학습과 협력을 다룬 책이다. 소프트웨어 개발은 불확실성이 크고, 그 불확실성을 다루는 힘은 학습과 협력에서 나온다는 것이 중심 주장이다. 이 두 가지가 애자일(Agile)을 움직이는 원리라고 본다.
1장 자라기
- 경력 연차와 직무 성과의 상관은 생각보다 약하다. 오래 했다는 사실보다 어떻게 연습했는지가 실력을 가른다 → 의도적 수련
- 실무에서 필요한 건 목표가 흐리고 정답이 없는 '야생 학습'이다. 규칙을 지키는 단계에만 머무르면 안 된다 → 수파리
- 지루하지도 불안하지도 않은 난이도에서 실력이 는다 → 몰입 영역과 난이도 조절
- 일을 잘 해내는 것과 일에서 배우는 것은 다른 관점이다 → 학습 프레임과 실행 프레임
- 실력은 복리로 쌓이고, 일 자체보다 일을 개선하는 능력에 투자할 때 이자율이 오른다 → A·B·C 작업과 복리로 자라기
- 전문가의 노하우는 말로 다 전해지지 않으니 구체적인 사건을 물어 꺼내야 한다 → 인지적 작업 분석(CTA)
- 실수는 없앨 수 없으니 빨리 드러내고 회복하고 배운다 → 실수 예방이 아닌 실수 관리
- 혼자 뛰어난 전문가는 없다. 기술도 신뢰 위에서 실천된다 → 사회적 자본과 마이크로 인터랙션
2장 함께
- 뛰어난 개발자는 설계·코딩보다 동료와의 소통에 시간을 더 쓴다. 둘이 함께 작업하면 서로의 시각을 잇느라 추상화 수준이 올라간다
- 고수는 코드와 도메인 사이를 자주 오간다 → 상호 참조 전략
- 설득은 자료가 아니라 상대를 이해하는 데서 출발한다. 의사결정에서 감정과 직관을 떼어낼 수 없다
- 빨리 배우는 팀은 학습을 팀의 목표로 삼고, 안전하게 이야기할 수 있는 분위기가 있다 → 심리적 안전감
- 사람들은 'AND' 조건의 확률은 과대평가하고 'OR' 조건의 확률은 과소평가한다. 애자일은 좋은 통찰은 누구 한 명만 있어도 퍼지게(OR), 버그는 여러 사람이 모두 놓쳐야만 새게(AND) 일을 섞는다. 페어 프로그래밍(Pair Programming), 코드 리뷰(Code Review), 집단 코드 소유이 그 예다
3장 애자일
- 불확실성에 대응하는 방법은 더 짧은 주기로, 더 다양한 사람에게서, 더 일찍 피드백을 받는 것이다 → 애자일 선언
- 초보 팀은 쉽고 안심되는 일만 하며 중요한 일을 미루고, 전문가 팀은 두렵더라도 중요한 일을 꾸준히 시도한다
- 어떤 방법론을 쓰느냐보다 누가 참여하느냐가 훨씬 중요하다
- 애자일 도입도 정해진 수순을 따르기보다, 곁의 사람들과 조금 나아가고 확인하기를 반복하며 맥락에 맞게 만들어 간다. 정기적인 회고가 그 도구다
출처: 『함께 자라기: 애자일로 가는 길』 김창준