Dreyfus Model 的五個階段
這是在閱讀「程序員的思維修煉:開發認知潛能的九堂課 」時看到的一個模型:「Dreyfus model of skill acquisition」,印證在職場上蠻有感覺的,就摘錄下來…
階段一:新手(Novice)
由定義可知,新手在該技能領域經驗很少或者根本沒有經驗。這裡提到的經驗,指的是通過實施這項技術促進了思維的改變。舉個反例,可能一個開發人員聲稱擁有了十年的經驗,但實際上只是一年的經驗重複了九次,那麼這就不算經驗。
新手非常在乎他們能否成功,沒有太多經驗指導他們,他們不知道自己的行為是對是錯。新手不是特別想學習,他們只是想實現一個立竿見影的目標。他們不知道如何應付錯誤,所以出錯的時候,他們非常容易慌亂。
但是,如果給新手提供與情境無關的規則去參照。他們就會變得能幹起來。也就是說,需要這種形式的規則:「當 X 發生時,執行 Y 。」換言之,需要一份指令清單。
這就是 Call Center 的工作原理。你可以雇用一大批對當前技術沒有很多經驗的人,然後讓他們按照一個決策樹按部就班地執行下去。
當然,新手所面臨的問題是,對於某種竟,不知道哪調規則是最相關的。當一些意想不到的事情發生時,他們就會不知所措。
指令清單(包含情境無關的規則)的問題在於你不能一五一十地將所有事情解釋清楚。你可以設立更多的規則去解釋,然後再用更多的規則去解設剛設立的規則,沒有一個實際的界線約定你需要說得多明白。這種現象被稱為無限遞迴(infinite regression)。因此,你必須明確終止反覆解釋。
規則只能讓你啟程,不會讓你走得更遠。
階段二:高級新手(Advanced beginner)
一旦經過新手的歷練,人們開始以高級新手的角度看待問題。高級新手能夠開始多多少少地擺脫固定的規則。他們可以獨自嘗試任務,但仍難以解決問題。
他們想要快速獲取信息。例如,當學習一門新語言或 API 時,你可能會感覺到這點,你發現自己會快速瀏覽文檔以尋找一個方法定義或參數列表。你不想在此刻尋根究底,或者重新溫習一遍基礎知識。
高級新手能夠根據過去的經驗,逐步在正確的情境中採納建議,但比較吃力。同時,他們能夠開始形成一些總體原則,但不是「全貌」。他們沒有全面的理解,而且的確不想有。如果你試圖把一個更大的情境強加給高級新手,他們可能會認為該情境與那些原則不相關而忽略掉。
當公司 CEO 舉行全體會議並展示銷售預測圖表和數據時,你可能會看到這樣的反應。許多在這方面經驗較少的員工對這些會不加理會,以為這與他們自己的工作不相關。當然,其實這是非常相關的,它可以幫助你判斷明年你在這家公司是否還能繼續幹下去。但是,你看不到這種聯繫,因為你層次還不夠,只處於較低的技能水平。
階段三:勝任者 ( Competent )
在第三階段,從業者現在能夠建立問題域的概念模型,並有效地使用它們。他們可以獨力解決自己遇到的問題,並開始考慮如何解決新的問題 — 那些他們之前沒有遇過的問題。他們開始尋求和運用專家的意見,並有效利用。
與更高水平者追隨下意識反應不同,勝任者會探尋和解決問題,他們的工作更多是基於謹慎的計畫和過去的經驗。如果沒有更多的經驗,在解決問題時,他們將難以確定關注哪些細節。
你可能會看到,處於這一水平的人通常被認為「有主動性」和「足智多謀」。他們往往在團隊中發揮領導作用(無論是否有正式的頭銜)。他們是團隊裡的好人,既可以指導新手,也不會經常騷擾專家。
在軟件開發領域,我們達到了這個水平。但是即使在這一水平,人們仍然無法按照我們希望的方式來應用敏捷方法 — 大家還沒有足夠的能力反思和自我糾正。為此,我們需要取得突破,達到一個新的水平:精通。
階段四:精通者(Proficient)
精通水平的從業者需要全局思維。他們將圍繞這個技術,尋找並想了解更大的概念框架。對於過於簡單化的訊息,他們會非常沮喪。
例如,處於精通階段的人撥打計算機的技術支持熱線電話,被詢問是否插上了電源的時候,不會做出良好反應。
但是,在 Dreyfus Model 中,處於精通水平的從業人員有一項重大突破:他們能夠糾正以往不好的工作表現。他們會反思以前是如何做的,並修改其作法,期望下一次表現得更好。到這個階段,自我改進才會出現。
同時,他們會學習他人的經驗。作為精通者,它能夠閱讀案例研究,傾聽有關失敗項目的流言蜚語,觀察別人怎麼做,從故事中認真學習,即便他沒有親自參與。
伴隨向他人學習的能力而來的,是理解和運用格言經驗之談(maxim)的能力,這些經驗之談猶如諺言或格言,是可以應用於當前情境的基本原理。經驗之談不是指令清單,他們必須在一定的情境下使用。
舉例來說,一個眾所週知的極限編程方法的經驗之談是「測試一切可能出錯的東西」。
對於新手來說,這只是一個指令清單。測試什麼?是所有的 setter 與 getter method,還只是打印語句?他們最終會測試所有無關的東西。
但是,處於精通水平的人員知道什麼地方有可能出錯,或者更確切地說,什麼地方非常有可能出錯。他們具有經驗和判斷力,能夠理解這句格言在情境中意味著什麼。事實證明,理解情境是成為專家的關鍵。
精通者有足夠的經驗,他們知道下一步會發生什麼,如果沒有發生又需要改變什麼。他們非常明確哪些計畫需要取消,而應該採取什麼行動。
同樣,處於精通水平的人可以有效地運用 Software Pattern,但是這不是較低技能水平所必須掌握的。
現在我們已經到達了一個層次。精通者可以充分利用思考和反饋,這些都是敏捷方法的核心。相對於早期階段,這是一次巨大的飛躍。處於精通階段的人更像是初級專家,而不是高級勝任者。
階段五:專家(Expert)
終於,我們來到了第五個也是最後一個階段:專家。
專家是各個領域知識和信息的主要來源。他們總是不斷地尋找更好的方法和方式去做事。他們有豐富的經驗,可以在恰當的情境中選取和應用這些經驗。他們著書、寫文章、做巡迴演講。他們是當代的 Wizard。
根據統具,專家的數量很少,大概佔總人數的 1% ~ 5%。
專家根據直覺工作,而不需要理由。這帶來一些非常有趣的影響,並引出了一些重大問題 — 到底什麼是直覺?
雖然專家非常有直覺 — 這一點對我們其他人來說非常神奇,他們可能會對如何得到結論完全說不清楚。他們的確不知道,只是「覺得是正確的」。
專家知道哪些是無關緊要的細節,哪些是非常重要的細節。也許不是有意識的,但是專家知道應該關注哪些細節,可以放心地忽略哪些細節。專家非常擅長做有針對性的特徵匹配。
專家通常很難把他們的行為恰如其分地解釋清楚,他們的很多行為是如此地熟練以至於已經變成無意識的了。他們的大量經驗都是通過大腦的非語言、無意識區域儲存的,這讓我們難以觀察,而專家則難以表述。
當專家在做事時,我們其他人覺得十分神奇。神祕的魔法看起來似乎無處可循,當我們甚至還不完全認識問題的時候,專家就已經憑藉一種不可思議的能力知道了正確的答案。當然,這不是魔法,只是他們認識世界的方式、解決問題的的方法、運用的思維模型都和普通人顯著不同。