반업주부의 일상 배움사

[손끝독서] 함께 자라기 :: 애자일로 가는 길 본문

취미생활

[손끝독서] 함께 자라기 :: 애자일로 가는 길

Banjubu 2022. 8. 6. 21:30
반응형

 

 

우리는 왜 자라는 것을 훈련할 기회가 별로 없을까요.

그리고 무엇보다 이런 '함께', 그리고 '자라기'를 매일매일 해야 한다는 생각을 별로 하지 못하는 것 같습니다.

 

'우리'와 '함께'는 협력을 말하고, '자라다'는 학습을 말합니다. 그리고 '매일매일'은 그 접근 방법을 말합니다.

 

함께 자라기는 '애자일'이라고 하는 일하는 방법의 핵심이라고 생각합니다.

 

어느 날 멘티 한 명이 어려움을 호소하더군요. 멘토들이 서로 상반되는 의견을 주면 혼란스럽다고요. 저는 그 멘티에게 이건 반대로 축하해야 할 일이라고 했습니다. 충돌하는 것이 정상이라고요. 처음부터 이런 상반된 의견과 정보 속에서 스스로 생각하는 훈련을 해나가야 한다고 말했습니다.

 

여기서 말하는 학습은 '야생학습'을 말하고 그 특징은 다음과 같습니다.

- 야생 학습은 대부분 협력적이다. (여럿이서 한다)

- 야생 학습은 대부분 비순차적이다.

- 야생 학습은 대부분 자료 한정이 없다.

- 야생 학습은 대부분 명확한 평가가 없다.

- 야생 학습은 대부분 정답이 없다.

- 야생 학습은 대부분 목표가 불분명하고 바뀌기도 한다.

 

많은 조직이 사람을 뽑는 것에는 신경을 쓰지만 이 사람들을 차후 어떻게 교육, 훈련시키고 성장시킬지는 깊이 고민하지 않습니다.

 

보험 설계사가 업무 중에 자신의 능력을 향상시키기 위해 시간을 얼마나 쓰는가와 직무 성과를 비교한 연구가 있습니다. 그들이 자주 하는 수련으로는 '머릿속에서 시뮬레이션하기', '피드백 요청하기' 등이 있었습니다. 달리 말하면 내가 요즘에 얼마나 공부하고 수련하느냐로 내 직무 성과가 결정된다는 이야기가 됩니다.

 

1만 시간 법칙에서 1만 시간은 '자신의 기량을 향상시킬 목적으로 반복적으로 하는 수련'을 한 시간을 일컫습니다. 그런 수련을 그는 의도적 수련이라고 합니다. 그냥 경험이 아니고 매우 특수한 형태의 수련 방법입니다. 정말 기량 향상을 목적으로 자신의 약점을 개선하려고 애쓰는 수련, 그것만이 의도적 수련입니다. 실제 실력과 상관있는 것은 의도적 수련이었습니다.

 

애자일은 학습을 소프트웨어 개발의 가장 큰 병목 중 하나로 봅니다. 일반적인 프로젝트에서는 모든 피드백의 주기가 느립니다. 하지만 애자일 프로젝트에서는 지금 내가 한 행동의 피드백을  10분 후, 한 시간 후, 하루 후, 일주일 후 등 여러 주기를 통해 지속적으로 얻을 수 있습니다. 그리고 그때 저지른 실수는 바로 다음 주기에서 교정할 수 있습니다. 피드백을 짧은 주기로 얻는 것, 그리고 실수를 교정할 기회가 있는 것. 이 두 가지는 학습에 지대한 영향을 가져다 줍니다. 피드백 주기가 길어지면 학습이 잘 안 됩니다.

 

일 년 회고를 할 때 항상 되짚어 보는 것 중 하나가 나 자신에게 얼마나 투자했나 하는 것입니다. 소위 자기계발이라고 하는 것이죠.

 

하루에 1시간도 자기계발에 투자하지 않는 사람들은 반성해야 합니다. 지식이나 능력은 복리로 이자가 붙습니다. 더 빨리 자라고 싶다면 어떻게 이율을 높일 것인가와 지속적으로 현명한 투자를 하려면 어떻게 할 것인가를 고민해야 합니다.

 

A, B, C 작업.

A 작업은 원래 그 조직이 하기로 되어 있는 일을 하는 걸 말합니다.

B 작업은 A 작업을 개선하는 걸 말합니다. 시간과 품질을 개선하는 것이죠.

C 작업은 B 작업을 개선하는 것입니다. 개선 사이클 자체의 시간과 품질을 개선하는 것입니다.

 

뭔가를 뒤로 남겨두고 앞으로 나아간다는 뜻의 진보라고 하는 치명적 메타포는 성장이라는 진짜 아이디어를 완전히 가려버렸는데, 성장은 우리 안에 뭔가를 남겨두고 커진다는 뜻이다. - G. K. 체스터톤

 

지수적 팀은 자기 자신을 곱해나가는 팀입니다. 보통 경영학에서는 더하는 조직을 작업 그룹이라고 하고 곱하는 조직을 팀이라고 구분합니다. 작업 그룹은 주어진 일을 사람 숫자에 맞게 나눠주고 각자 정해진 일을 하는 형태를 말합니다 서로 교류할 필요가 ㅇ벗습니다. 반면에 팀은 일을 상호 협력적으로 진행합니다. 거기에서 소위 시너지 효과라는 게 나오지요. 부분의 합보다 전체가 더 크다는 말은 이걸 두고 하는 말입니다.

 

가용시간을 눌리고, 쓸데없이 낭비되는 시간을 줄이고, 잠자는 시간을 줄이는 것이 더하기적 사고라면, 집단의 지능을 높이는 것은 곱하기적 사고입니다. 집단의 지능을 높이면 모든 지적 활동의 효율이 좋아지기 때문에 전반적은 개선(B 작업)이 일어나고, 특히나 개선 작업을 더 잘하게(C 작업) 되겠지요. 지금보다 속도가 더 날 수 있다는 겁니다. 그냥 일하는 시간을 늘리는 것은 작업량을 늘리는 것에 지나지 않습니다. 

 

1. 자신이 이미 갖고 있는 것들을 잘 활용하라.

  - 새로운 것을 유입시키는 데에만 집중하다 보면 새로 들어온 것을 이미 있는 것들을 덮어버릴 수 있다. 자신이 올해 몇 권을 읽었다고 자랑하지 말고 내가 그 지식을 얼마나 어떻게 활용하는지 반성하라.

  - 이미 갖고 있는 것들을 하이퍼링크로 서로 촘촘히 연결하라. 노드 간 이동 속도가 빨라질 수 있도록 고속도로를 놔라. 즉, 이미 습득한 지식, 기술, 경험 등을 서로 연결 지어서 시너지 효과가 나게 하고 하나의 영역에서 다른 영역으로 왔다 갔다 하는 것을 자주 해서 다른 영역 간을 넘나들기가 수월해지도록 하라.

  - 새로운 것이 들어오면 이미 갖고 있는 것들과 충돌을 시도하라.

  - 현재 내가 하는 일이 차후에 밑거름이 될 수 있도록 하라.

 

2. 외부 물질을 체화하라.

  - 계속 내부 순환만 하다가는 일정 수준에 수렴할 위험이 있다. 주기적인 외부 자극을 받으면 좋다. 단, 외부 자극을 받으면 그걸 재빨리 자기화해야 한다. 마치 인체가 음식을 멀어 자기 몸의 일부로 만들듯이, 외부 물질을 받아들이면 소화해서 자신의 일부로 체화해야 한다.

  - 외부 물질 유입 이후 생긴 내부의 갈등을 해결하려는 데에 노력을 기울여야 한다. 무시하고 덮어두지 말라. 내가 가진 것들의 상생적 관계를 끌어내도록 하라.

 

3. 자신을 개선하는 프로세스에 대해 생각해 보라.

  - 예컨대 나의 A 작업을 되돌아보는 회고/반성 활동을 주기적으로 하는 프로세스를 만들어라(C 작업).

  - 나를 개선하는 과정(B 작업)을 어떻게 하면 개선할 수 있을지 고민하라.

 

4. 피드백을 자주 받아라.

  - 사이클 타임을 줄여라. 새로운 정보를 얻었다면 1년 후에 크고 완벽한 실험을 하려고 준비하기보다는 1달, 혹은 1주 후에 작게라도 실험해 보는 것이 좋다. 순환율을 높여라.

  - 일찍, 그리고 자주 실패하라. 실패에서 학습하라.

 

5. 자신의 능력을 높여주는 도구와 환경을 점진적으로 만들어라.

  - 일례로, 전설적 프로그래머 워드 커닝햄은 자기의 수족을 마음대로 놀릴 수 없는 불편한 언어에서 프로그래밍을 하는 경우 점차적으로 자신을 도와주는 환경을 만들어 나간다. 나의 속도를 늦추는 것들을 중력에 비유한다면, 워드는 중력을 점점 줄여나간다고 할 수 있다. 중력을 요만큼 줄였기 때문에 그 덕으로 몸이 더 가벼워지고, 또 그 때문에 중력을 줄이는 작업을 좀 더 쉽게 할 수 있다. 이런 식으로 되먹임을 해서 결국은 거의 무중력의 공간을 만들어낸다. 결국 그는 어셈블리 언어에서도 우아한 춤을 출 수 있다.

  - 완벽한 도구와 환경을 갖추는 데에 집착해선 안 된다. 그런 식으로는 무엇도 영원히 얻을 수 없다. "방이 조용해지고 배도 안 고프고 온도도 적절해지기만 하면 공부 시작해야지"라고 생각하는 사람들 중에 1등은 없다. 또한 실제로 그런 환경이 되어도 몸에 배어든 습관 때문에 결국은 공부하지 못할 것이다.

 

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

실수 예방 문화에서는 실수를 한 사람을 비난하고, 처벌하고, 따라서 실수를 감추고 그에 대해 논의하기 꺼리며 문제가 생겼을 때 협력도 덜하게 됩니다. 실수에서 배우지 못하겠지요. 반대로 실수 관리 문화에서는 실수가 나쁜 결과를 내기 전에 빨리 회복하도록 돕고, 실수를 공개하고, 실수에 대해 서로 이야기하고 거기에서 배우는 분위기가 생깁니다.

 

조엘 테스트.

1. 소스 컨트롤을 사용하는가?

2. 한 번에 빌드를 만들어낼 수 있는가?

3. 일일 빌드를 만드는가?

4. 버그 데이터베이스를 가지고 있는가?

5. 새로운 코드를 작성하기 전에 버그를 고치는가?

6.  최신 업데이트된 스케줄이 있는가?

7. 스펙(제품 명세)이 있는가?

8. 프로그래머가 조용한 작업환경에서 일하는가?

9. 돈이 되는 한 최고의 툴을 사용하는가?

10. 테스터가 있는가?

11. 채용 면접 때 후보가 코드를 짜게 해보는가?

12. 복도 사용성 테스트를 하는가? (복도에 지나가는 아무에게나 사용성 테스트를 부탁하는 것)

 

비용 절감 효용.

도구 < 사람 < 시스템 < 관리.

(실제로는 반대로 하고 있음. 철저한 관리와 탁월한 시스템이 있는 회사를 지향해야 함.)

 

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

1. 팀에 누가 있는지(전문가, 내향/외향, 지능 등)보다 팀원들이 서로 어떻게 상호작용하고 자신의 일을 어떻게 바라보는지가 훨씬 중요했다.

2. 5가지 성공적 팀의 특징을 찾았는데, 그 중 압도적으로 높은 예측력을 보인 변수는 팀의 심리적 안전감(Psychological Safety)이었다.

3. 팀 토론 등 특별히 고안된 활동을 통해 심리적 안전감을 개선할 수 있었다.

 

 

작지만 유용한 프로그램들을 매일 작성할 것을 추천합니다.
- 워드 커닝햄

 

계획주도 방식에서는 초반에 계획을 정교하고 꼼꼼하게 만들려고 엄청난 노력을 합니다. 그러면 실행단계는 간단해지고 예측 가능해진다고 생각하기 때문입니다. 하지만 애자일은, 불확실성이 높은 일에 대해서는 애초에 이것이 불가능하다고 봅니다. 불확실성이 크기 때문에 미리 분석하고 설계하는 데 한계가 있다는 것이지요. 사실 애자일은 불확실성이 클 때 우리가 어떻게 해야 하는지를 고민한 결과물입니다. 마침 시대가 바뀌면서 불확실성이 낮은 프로젝트는 비즈니스적 가치가 없어지고 불확실성이 높은 프로젝트를 하는 것이 일반적이 됨에 따라 빠른 속도로 인기를 얻게 되었습니다.

 

애자일 전문가 팀은 무섭고 두렵더라도 중요한 일이라면 그 일을 안 하는 리스크를 인식하고 꾸준히 시도한다는 점에서 초보팀과 다릅니다. 두려운 일을 용기를 갖고 직면해야 합니다.

 

 

 

 

영어, 중국어 공부중이신가요?

홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요!

 

한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어

한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!!

smartstore.naver.com

 

반응형
LIST
Comments