【編者按】在13年前,Dave Thomas與16位軟件專(zhuān)家聚集在猶他州的Snowbird, 一起創(chuàng)建并簽署了現(xiàn)在眾所周知的敏捷宣言。然而,隨著時(shí)間的流逝,Dave Thomas發(fā)現(xiàn),“敏捷(agile)"已落入某些顧問(wèn)/商販幫他們出售產(chǎn)品的一種工具,并非是用來(lái)進(jìn)行高效開(kāi)發(fā)和保證產(chǎn)品質(zhì)量的一種方法理念。下面是筆者對(duì)原文的翻譯:
13年前,我和16名中年白人聚集在猶他州的Snowbird,分享我們?cè)谲浖_(kāi)發(fā)上的一些共同信仰,我們想知道是否有一種方法能夠描述我們的軟件開(kāi)發(fā)理念和信仰。
花了不到一天的時(shí)間,我們便發(fā)表了這些非常有價(jià)值的實(shí)踐列表,即眾所周知的 敏捷軟件開(kāi)發(fā)宣言:
Individuals and Interactions over Processes and Tools 個(gè)體和互動(dòng) 高于 流程和工具
Working Software over Comprehensive Documentation 工作的軟件 高于 詳盡的文檔
Customer Collaboration over Contract Negotiation, and 客戶(hù)合作 高于 合同談判
Responding to Change over Following a Plan 響應(yīng)變化 高于 遵循計(jì)劃
我為我們所做的事情感到自豪。我認(rèn)為,這個(gè)宣言的存在已經(jīng)幫助開(kāi)發(fā)者打破了80、90年代浪費(fèi)時(shí)間和損傷靈魂的開(kāi)發(fā)實(shí)踐。
然而,除了那次的Snowbird會(huì)議,我從未參加過(guò)任何與敏捷有關(guān)的會(huì)議,我也沒(méi)有擔(dān)任敏捷顧問(wèn)。為什么?因?yàn)槲也徽J(rèn)為這些事情與敏捷宣言有任何關(guān)系,這些敏捷會(huì)議就好比舉辦芭蕾舞會(huì),在我看來(lái),圍繞這四條核心價(jià)值觀(宣言)的產(chǎn)業(yè)小組更像是創(chuàng)建一個(gè)貿(mào)易聯(lián)盟。
不幸地是,我的想法已被時(shí)間證明是正確。“敏捷(agile)”一詞已經(jīng)被破壞,它已經(jīng)變的毫無(wú)意義,沒(méi)有任何產(chǎn)生任何價(jià)值。所謂的敏捷社區(qū)已經(jīng)變成了顧問(wèn)和供應(yīng)商們兜售服務(wù)和產(chǎn)品的競(jìng)技場(chǎng)。
所以,我認(rèn)為,“敏捷”一詞是時(shí)候該退休了。
我相信,當(dāng)“敏捷”變成一個(gè)名詞時(shí),是沒(méi)有人反對(duì)禁用這個(gè)詞的。“Do Agile Right”和“Agile for Dummies”是眾多英語(yǔ)詞匯中錯(cuò)誤且毫無(wú)意義的詞匯。敏捷不是一個(gè)名詞,它是一個(gè)形容詞,它是用來(lái)修飾某些東西的。“Do Agile Right”就好比說(shuō)“Do Orange Right”。
但是,撇開(kāi)語(yǔ)法錯(cuò)誤,還有一個(gè)更大的問(wèn)題。一旦該宣言走紅,它就像是一塊磁鐵,某些人就會(huì)把它當(dāng)成是獲利的工具,宣傳某種論點(diǎn)或者把它當(dāng)作一些產(chǎn)品的賣(mài)點(diǎn)。它將會(huì)成為一種營(yíng)銷(xiāo)術(shù)語(yǔ),就好像一些商人喜歡把eco和natural視為一體一樣。“敏捷”一詞就這樣失去了其本質(zhì)。
這將傷害到每個(gè)人,尤其是開(kāi)發(fā)者們。編寫(xiě)代碼并不是件容易的事,因此,開(kāi)發(fā)者會(huì)自然而然的尋找某些方法實(shí)踐來(lái)幫助他們提高效率。但我仍然堅(jiān)信,開(kāi)發(fā)者堅(jiān)持敏捷宣言的價(jià)值和實(shí)踐將會(huì)在開(kāi)發(fā)上助他們一臂之力。
可是,一旦“敏捷”變的毫無(wú)意義,開(kāi)發(fā)者們就不會(huì)把它當(dāng)作實(shí)踐向?qū)АN覀儾环梁?jiǎn)單地在全球范圍內(nèi)把敏捷一詞替換成空格。
回到正途
讓我們?cè)賮?lái)看看這四條宣言:
Individuals and Interactions over Processes and Tools 個(gè)體和互動(dòng) 高于 流程和工具
Working Software over Comprehensive Documentation 工作的軟件 高于 詳盡的文檔
Customer Collaboration over Contract Negotiation, and 客戶(hù)合作 高于 合同談判
Responding to Change over Following a Plan 響應(yīng)變化 高于 遵循計(jì)劃
左邊的語(yǔ)句代表了一種理念,如果在左右兩邊做出選擇,那些使用敏捷方法進(jìn)行開(kāi)發(fā)的開(kāi)發(fā)者更傾向于選擇左邊。
現(xiàn)在再來(lái)看看那些顧問(wèn)和經(jīng)銷(xiāo)商所說(shuō)的:讓你的工作變的“敏捷”,是左邊還是右邊,你將發(fā)現(xiàn),他們給你提供的工具和流程是多么的復(fù)雜。
回歸本源
下面我將會(huì)告訴你如何以敏捷的方式來(lái)做東西:
做什么:
弄清你目前所處的階段
朝目標(biāo)邁一小步
基于所學(xué),對(duì)你的理解進(jìn)行調(diào)整
重復(fù)以上
如何去做:
當(dāng)面對(duì)兩個(gè)以上的選擇時(shí),它們都可以實(shí)現(xiàn)大致相同的價(jià)值,最后采取更容易在未來(lái)做出變化的那個(gè)。
就是這樣。這四個(gè)思路和一個(gè)實(shí)踐涵蓋了高效軟件開(kāi)發(fā)的一切。當(dāng)然,這個(gè)過(guò)程會(huì)涉及到大量的思考,并且在整個(gè)開(kāi)發(fā)中會(huì)來(lái)回多次的循環(huán)、迭代該過(guò)程。許多時(shí)候,你甚至需要專(zhuān)注變量的命名到長(zhǎng)期的項(xiàng)目交付等所有事情,但是,只要是向你推薦或試圖賣(mài)給你一些更大或更復(fù)雜的東西的人,他們都是為了騙取錢(qián)財(cái)。
本文所提到的這些都是當(dāng)務(wù)之急――它們用動(dòng)詞告訴你做什么和如何去做。
讓我們拋棄那些不做正事的人所用的“敏捷”。
相反,讓我們換個(gè)詞來(lái)描述我們所做的:Let’s develop with agility。
You aren’t an agile programmer―you’re a programmer who programs with agility.
You don’t work on an agile team―your team exhibits agility.
You don’t use agile tools―you use tools that enhance your agility.
“Agile”很容易被用到任何地方,而“Agility”很難被挪用。
這是非常重要的,你可以購(gòu)買(mǎi)和銷(xiāo)售標(biāo)簽,通過(guò)參加一個(gè)短期培訓(xùn),你就可以突然地在自己的職位上貼上“敏捷”這個(gè)標(biāo)簽。但是你買(mǎi)不來(lái)經(jīng)驗(yàn)――你只能賺錢(qián)。
保護(hù)我們的資產(chǎn)(investment)
不管怎樣,我們做什么遠(yuǎn)勝于我們?cè)趺捶Q(chēng)呼它。而好的詞匯也更有利于我們有效地進(jìn)行溝通。
我們已經(jīng)失去了“agile”這個(gè)詞,讓我們?cè)囍褂谩癮gility”,讓我們保留它的本義和真諦。讓我們攜起手來(lái)一起保護(hù)它,以免它落入到哪些出賣(mài)“agility”靈魂的人手上,并且最終賣(mài)給我們。
文章來(lái)自: PragDave