End. 마치며 - 나아가기

새로운 기술을 학습하기 위한 세 가지 단계

앨리스터 코어번(Alistair Cockburn)은 사람들이 새로운 기술을 학습하기 위해 일반적으로 세 가지 단계(three stages of behaviors people pass through when learning a new skill)를 거치게 된다고 설명한다.

  1. 따라 하는 수준 (Following)

  2. 분리 수준 (Detaching)

  3. 거침없는 수준 (Fluent)

1. 따라 하는 수준 (Following)

어떤 기술을 처음 학습하려는 사람은 여기서 시작한다. 여기에 속한 사람들에게 최고의 보상은 주어진 절차를 따르면 만족할 만한 결과물을 얻을 수 있다는 안정감이다.

2. 분리 수준 (Detaching)

오직 단 하나의 절차만으로 모든 문제를 해결할 수 없다는 사실을 깨닫고 다양한 절차를 학습하고 트레이드오프한다.

왜 분리 수준인가 하면, 여태껏 따라하던 reference로부터 벗어나(분리되어) 스스로 각 상황에 따라 적절한 절차를 적용할 수 이는 판단력과 유연함을 아는 상태이기 때문이다.

3. 거침 없는 수준 (Fluent)

이제 절차는 중요하지 않게 된다. 여기에 이른 사람은 많은 학습과 경험을 통해 즉시 적절한 해법을 직관적으로 떠올리고, 때로는 자신만의 방법으로 문제를 해결하기도 한다.

Fluent는 영어로 '유창하다'라는 뜻이다.

분리 수준을 향해 나아가기

다음과 같은 방법을 통해 설계 기법을 익히고 통찰력을 길러 '분리 수준'을 향해 나아가자.

  1. 디자인 패턴(Design Pattern)

  2. 리팩터링(Refactoring)

  3. 테스트-주도 개발(Test-Driven Development)

Last updated