드라이퍼스 모델(Dreyfus Model)

드라이퍼스 모델(Dreyfus Model)

1 단계 : Novice

경험이 없기 때문에, 상황에 상관 없이 적용할 수 있는, 다시 말하면, 상황에 따라 적절하지 않을 수 있는, 조리법(recipes) 즉, context-free 한 규칙이 주어졌을 때 효과적으로 과업을 수행할 수 있다.

  • 디버깅 기술 부족하다.
  • 동일한 유형의 결함을 자주 반복한다.
  • 계획을 따르지 않고 프로그램을 우연히 디버그한다.
  • 디버깅에 상당한 시간을 소비합니다.
  • 쉽게 포기하고 다른 도움에 의존합니다.

2 단계 : Advanced Beginners

여러 가지 상황에서 의미를 가지는 요소에 대해 인지하게 되고, 이러한 요소를 context-free 한 규칙에 더해서 활용하게 된다.

  • 이전에 경험한 결함의 증상을 인식하고, 경험을 통해 디버깅 기술을 개발합니다.
  • 때때로 프로그램 전체에 동일한 유형의 결함을 반복합니다.
  • 이전의 성공과 실패를 기반으로 디버깅에 대한 접근 방식을 시작합니다.
  • 최후의 수단으로서 익숙하지 않은 디버깅 기술을 시도합니다.
  • 도움을 얻기 위해 다른 사람에게도 같은 정도로 의존합니다.

3 단계 : Competent

경험이 쌓이면서, 고려해야 할 요소들이 폭발적으로 증가한다. 불가피하게, 상황 하에서 어떤 요소를 중요하게 고려해야 할 지를 선택한다. 이러한 상황에 대한 모델 하에서, 상황을 분석하고 규칙에 따라 행동을 선택한다. 자신이 선택한 결과 – 성공이나 실패에 대해 책임감을 느낀다.

결과적으로 스스로 문제를 해결(troubleshoot)할 수 있다.

  • 다양한 디버깅 기술을 알고 있습니다.
  • 체계적으로 디버깅에 접근합니다. 상황을 평가하여 사용할 기술을 결정하십시오.
  • 특정 기술이 효과적이지 않을 때 기술을 번갈아 사용합니다.
  • 대부분의 결함을 독립적으로 식별합니다.

4 단계 : Proficient

Competent 단계에서 경험한 성공과 실패를 바탕으로, 상황에 따라 어떤 요소를 중요하게 고려해야 할 지를 결정한다.

어떤 요소들이 더 중요하고, 어떤 요소들이 무시해도 되는가는 경험이 추가됨에 따라 직관적으로 변화한다. 반면에, 실제로 어떤 행동을 해야 할 것인가에 대해서는 분석적인 사고를 필요로 한다.

  • 전체적으로 프로그램 개발의 일부로 디버깅을 봅니다.
  • 디버깅을 용이하게하기 위해 프로그램 개발의 다른 영역에서 기술을 개발합니다.
  • 의사 결정 능력과 디버깅 접근 방식을 최적화합니다.
  • 다른 사람들에게 도움을 요청하지 않으며 다른 사람들을 돕습니다.

5 단계 : Expert

의식적인 사고나 규칙의 필요 없이, 직관적으로 어떤 요소를 중요하게 고려해야 할 지와 어떤 행동을 해야 할 것인가를 안다.

  • 광범위한 경험으로 인해 직관적으로 디버깅에 접근합니다. 디버깅은 두 번째 성격입니다.
  • 복잡하고 친숙하지 않은 결함을 성공적으로 식별합니다.
  • 다른 사람들에게 도움을 요청하지 않으며 다른 사람들을 돕습니다.

참조
http://shallaa.postach.io/post/deuraipeoseu-model-dreyfus-model
http://blog.lastmind.io/archives/593

댓글 남기기