Posted on 2008-08-22 16:27
鋒出磨礪 閱讀(181)
評論(0) 編輯 收藏 所屬分類:
雜談
軟件開發(fā)的過程
作者 Kurt Christensen譯者 鄭柯 發(fā)布于 2008年8月20日 上午9時38分
- Agile
- 主題
- 敏捷實(shí)施,
- 變更
在“射箭高手的秘密詛咒”一文中,紐約時報專欄作家Katie Thomas描述了一種奇怪的痛苦情緒,它廣為人知,人們稱之為“目標(biāo)恐慌”。當(dāng)世界頂尖的射箭高手向目標(biāo)發(fā)出一箭時,這種情緒會導(dǎo)致他們失去控制能力,如此現(xiàn)象讓人費(fèi)解。人們通常認(rèn)為這是一種心理問題,新的研究表明:“目標(biāo)恐慌”實(shí)際上是神經(jīng)失調(diào)的表現(xiàn)。
為了理解這些以前無法解釋的痛苦,神經(jīng)病學(xué)家開始探究大腦深處存在的處理方式。比如最近《紐約客》發(fā)表了一篇文章,其中Atul Gawandem博士描述了對于“四肢疼痛幻覺”的全新治療方法。“四肢疼痛幻覺”是指,接受截肢手術(shù)的人會感受劇烈疼痛,不過這些疼痛出現(xiàn)在已被截去的手臂或腿部之上。醫(yī)生將接受截肢的人放在多面鏡子之前,這會讓患者產(chǎn)生四肢健全的幻覺。接下來醫(yī)生會讓患者完成多種任務(wù),比如指揮不存在的交響樂團(tuán)。來自Walter Reed醫(yī)院的全新研究顯示,這種“鏡箱治療法”可以有效去除“四肢疼痛幻覺”癥狀。令人驚訝的是,為大腦提供一系列全新的、出其意表的感官輸入,這會讓大腦改變內(nèi)部的處理流程。
當(dāng)然,在人工智能領(lǐng)域之內(nèi),使用數(shù)據(jù)改變處理這些數(shù)據(jù)的算法,這并無特別之處。此種“學(xué)習(xí)算法”的應(yīng)用非常廣泛,涵蓋了從語音識別到信用卡欺詐檢測等很多領(lǐng)域。實(shí)際上,隨著處理海量數(shù)據(jù)能力的增強(qiáng),似乎學(xué)習(xí)算法接受的數(shù)據(jù)要比算法本身還重要。在2008創(chuàng)業(yè)學(xué)校上的演講中,Peter Norvig比較了五種可以自我調(diào)整的算法在表現(xiàn)上的差異,這些算法是用來處理自然語言的。結(jié)果表明:選擇更好的算法所帶來的表現(xiàn)提升,遠(yuǎn)不如讓它們處理更多數(shù)據(jù)帶來的提升更明顯。
可是這種方式能夠用來跟軟件開發(fā)的過程做類比么?在《人類賴以生存的隱喻》一書中,George Lakoff和Mark Johnson講述了隱喻塑造我們理解世界的方式,以及隱喻揭示與混淆我們身邊世界的方式。對于大腦、軟件,以及軟件開發(fā),唯一的隱喻就是:機(jī)器——也就是硬件。可是在這兩個例子中,如果能將處理過程看做軟件——也就是可編程的,也許能取得更好的進(jìn)展;雖然易于出錯,但是也易于修復(fù)。如果軟件是軟件開發(fā)的隱喻,那么軟件開發(fā)的流程創(chuàng)建和提煉的方式,應(yīng)該與軟件創(chuàng)建和提煉的方式相同;小窺一下,處理軟件開發(fā)流程,只需構(gòu)建需要的部分,而且總是通過迭代和測試驅(qū)動的方式。
大家都已經(jīng)習(xí)慣于事先明確定義最佳流程,要想拋棄這種觀念,也許有點(diǎn)讓人膽戰(zhàn)心驚,可是現(xiàn)實(shí)告訴我們:要想為一組特定的人制訂軟件開發(fā)的流程,不應(yīng)事先進(jìn)行流程的明確定義,而應(yīng)將精力放在流程的演進(jìn)上;這也是與人類大腦和軟件本身最一致的方式。