April 30 21:56~23:20
Teddy的指導教授當年在美國念博士班的博士論文是研究「圖形識別」,而且是判斷一張圖中那些是直線、圓、橢圓這種基礎研究。因為這個關係Teddy在唸書的時候聽了不少學弟報告圖形識別領域的論文,論文的內容從來沒聽懂過,但依稀記得要辨識圖形之前需要先做「分類」(classification)的動作,例如把圖形中的訊號與雜訊分開來,才可以把資料丟給後面的演算法繼續處理。
有一次和指導教授聊天,他說「分類」在遠古時代對於人類就很重要,例如人類老祖先要能夠區分那些貝類可以吃,那些香菇有毒,如果分類錯誤吃到有毒的香菇可能連小命都不保。
以前從來沒想過「分類」這件事原來有那麼大的學問在,後來才意識到原來分類真的不容易,很多問題如果具備了分類的能力,答案也就呼之欲出了。
***
這幾天把去年買的《穀倉效應》讀完,幾個月前這本書經常出現在敏捷社群朋友的Facebook動態欄,因為書中所要傳達的觀點,像是「打破穀倉所造成的隔閡」、「系統性(全面性)的思考模式」、「從使用者的角度來重組協作關係」都直接展現在敏捷方法上面。例如敏捷開發經常提到的「跨職能團隊」、「交付end-to-end的價值」、「區域優化 VS 全域優化」等。
看完這本書之後Teddy覺得重點應該不是單純可以用一句「打破穀倉」就可以交代過去的,因為「打破一個穀倉勢必造成另一個穀倉」。以Scrum為例,把component team這個穀倉打掉組成cross-functional team,後者也是一個穀倉啊,只不過這個穀倉叫做cross-functional team,而敏捷開發的人認為cross-functional team這個穀倉是從交付對使用者價值的角度來重組協作關係,是一種比較好的穀倉。所以說,穀倉不死,只是以另一種形式存在。
Teddy覺得書中比穀倉更有趣的概念是「分類」(穀倉是一種分類的結果,和分類本身還是有點區隔),書中提到一個例子,在金融海嘯之前,西方的監管單位並沒有察覺到危機即將發生。其中有一個很重要的原因就是,很多新興的金融商品不屬於傳統監管單位的「分類」之中。傳統上監管單位注意銀行與對沖基金這種已知的金融體系,但對於「衍生性金融商品」卻不甚了解。
後來問題爆發之後,有人去研究原因,提出了影子銀行這個概念(分類),並分析由影子銀行所造成的金融投資其實高達數十兆美元。這是一個非常恐怖的金額,但在金融海嘯之前卻未被加以妥善監管。自從影子銀行被提出之後,很多人都採用這個分類加以研究,等於幫原本「未定義」的界線給了一個範圍。
***
影子銀行的故事讓Teddy想到另一個「設計模式(design pattern)」的故事。設計模式就是一種分類,許久以前有一位鄉民貼了一篇大陸同胞寫的文章給Teddy參考,作者是中國人,美國知名大學的電腦科學博士,專長好像是程式語言、編譯器之類的。這位大陸同胞提到GoF的23個設計模式根本沒什麼,就只是「取名字而已啊」,就好像「把空氣命名為空氣」,這有什麼了不起的嗎?
從「分類」的角度來看,取名字(分類)真的還是挺了不起的。現在回頭去看,Observer、Command、Visitor、Factory Method、State等設計模式,鄉民們可能會覺得很簡單啊,沒什麼學問,就好像現在回頭看影子銀行這個分類一樣。因為這些分類經過先人的努力,已經從未知變成已知,從隱性變成顯性。
《穀倉效應》第七章敘述美國克里夫蘭臨床醫學中心打破穀倉的案例,Teddy認為其中很重要的一點就是如何用新的穀倉取代舊的穀倉。這種設計新穀倉的過程,是分類、取名字的過程!
***
友藏內心獨白:「設計就是決定form和context的界線」,這就是分類。