精益求精——敏捷宣言的第五項價值?

agile_boy發表於2008-08-26

人稱“Bob大叔”的Robert Martin再次掀起了討論“程式設計的職業水準”的聲浪,他提出“敏捷宣言”應該加入第五項價值:“精益求精勝過言聽計從”。

“Bob大叔”在多倫多舉行的Agile2008大會上發表了主題演講,他提議敏捷宣言應加入第五項價值:“精益求精勝過敷衍了事(Craftsmanship over Crap)”。他解釋說,這項價值表明:在開發軟體特別是在編寫程式碼時,有精益求精的態度非常重要,這遠勝過僅僅開發出可用但是見不得人的醜陋程式碼。

一週之後,Bob大叔找機會澄清了他的想法,並修正了自己在多倫多提出來的新價值:

我的提議的額外難題在於,它不是一個平衡的價值表述。其他四句表述中,我們同樣認為後者有價值,不過我們更重視前者的價值。可在我提出的建議中,敷衍了事對於我們來說沒有任何價值。

原來的提議更注重戲劇效果,所以我要把它改成:

  • 精益求精勝過言聽計從(Craftsmanship over Execution)

大多數軟體開發團隊都是言聽計從,按命令辦事,但是他們並沒有真正投入到工作中去。我們重視言聽計從,但是精益求精的態度更為寶貴。

許多人都回應了Bob大叔的文章,提出了他們對於被貶低的原有說法“敷衍了事”的修訂,其中包括:(精益求精勝過)個人英雄主義、可用程式碼、唯工程化、奇技淫巧、險中求勝、效率優先、數量第一、辛苦勞作、繳械投降,甚至還有東拼西湊。

不久之前,Brian Marick提出了類似的建議,他認為:敏捷團隊應該重視技能、修煉、靈性和快樂,並以此作為當前敏捷宣言的補充。多年來,在提到軟體開發時,Pete McBreen一直用“craftsmanship”一詞強調個人技能的重要性。Sean Hanly在文章《禪與軟體開發的藝術》中提出 “質量更勝數量”,並論證了敏捷如何能夠支援“精益求精”。這幾年裡,很多人都已經提出了類似的觀點,雖然形式不同,但其本質都是認同“將軟體作為一門手藝”這樣的說法。

簡短截說,敏捷軟體開發越來越重視“程式設計師的職業水準”,這並不是什麼全新的觀念了。極限程式設計提出一系列技術實踐,就是為了達到這個目的。Scrum強調“技術卓越性”,還有很多其他的例子。問題在於:為什麼有那麼多團隊都做不到這一點?是不是太過隱晦了?為敏捷宣言加入第五條價值能使之顯現出來麼?它會不會造成不良影響?歡迎讀者分享對於此話題的想法和意見。

檢視英文原文:Craftsmanship - the Fifth Agile Manifesto Value

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14639675/viewspace-434649/,如需轉載,請註明出處,否則將追究法律責任。

相關文章