論學習歷程的三階段-守破離《2》

相當驚訝軟體業界的大師 Martin Fowler (UML Distilled, Refactoriing, NoSQL Distilled 等作者),早已於 2006 年在他的 blog 內已發表了以「守、破、離」為題-ShuHaRi,說明在從事所謂的軟體技術與開發方法論上,所歷經的三個學習階段。

這裡特別把這一段的原文摘錄下來:

The idea is that a person passes through three stages of gaining knowledge:

Shu: In this beginning stage the student follows the teachings of one master precisely. He concentrates on how to do the task, without worrying too much about the underlying theory. If there are multiple variations on how to do the task, he concentrates on just the one way his master teaches him.

Ha: At this point the student begins to branch out. With the basic practices working he now starts to learn the underlying principles and theory behind the technique. He also starts learning from other masters and integrates that learning into his practice.

Ri: Now the student isn't learning from other people, but from his own practice. He creates his own approaches and adapts what he's learned to his own particular circumstances.

  • 「守」的階段:Martin 認為學生主要遵循一位導師所教授並務求精確即可。這個階段不用太過探索理論基礎,而是在「如何做 (How to do)」上下功夫;也不要三心二意追求多種方法(論),專注在導師所要求的主軸,把它做精就是了。

    個人所認知的關鍵字為:學習、How-to、專注

  • 「破」的階段:有了基礎實務的經驗,學習者會開始來思索原來所學關於理論基礎與原則,並會逐漸整合其他大師的論述,帶入自己的實務工作上。

    主要的關鍵字為:反思、整合、驗證

  • 「離」的階段:學習者已不全然由他人(導師)所學習而來,更多是從自身的實踐階段過程中,創造出自己所領悟的方法 (論),並應用在現狀的工作環境中。

    主要的關鍵字為:實踐、創造、驗證


很有意思!我覺得 Martin Fowler 對「守破離」這三個字的解釋較偏為從實務 (practices)上著手,來闡述在軟體開發 (software development)這個領域上學習的三種階段,以及建議各階段學習的重心與方向。

不過 Martin 也特別提到,這三字真言其實是從 Cockburn 的論述中所得知的;Martin 也建議要能理解這三個字更進一步的闡述,可以閱讀 Cockburn 的著作-Agile Software Development

可想而知,Cockburn 在創建 Agile 敏捷式開發方法論上,必然有接觸與對日本武術 (劍道)文化有一番了解;更甚者,「守破離」這三個字起源其實是源自於中國禪宗的哲學思想。

所以看來 Agile 應也是有擷取到我們中國老祖宗的哲理哩。;)

※ 延伸閱讀
 o 論學習歷程的三階段-守破離《1》

文章導覽

   

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *