自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

敏捷方法論:極限編程,一次反思

開發(fā) 項目管理
極限編程的成功類似于結構化編程的成功。沒有人還會去想結構化編程——他們從來都是使用這種編程方式。沒有人再去想極限編程,我們一直都在這樣實踐著。這才叫成功!真正的成功是一種身形不在,但它的精神已經(jīng)融入到我們每個人的日常生活中的成功。

[[109908]]

本文的作者Robert C. Martin,也就是大名大名鼎鼎的“uncle bob”

在我手里的是一本很薄的白皮書,14年前,它顛覆了整個軟件世界。這本薄書就是:《Extreme Programming Explained》,副標題是:擁抱變化。作者是Kent Beck,出版于1999年。

這本書不到200頁,很小。字體印刷的很大,而且留白很多。撰寫風格很隨意,通俗易懂。章節(jié)很短。里面提出的概念很簡單。

這本書的思想猶如一次地震,而且震撼至今仍無減弱跡象。

第十章,位于53頁,陳列了12條軟件開發(fā)實踐指導,它讓軟件業(yè)陷入了大論戰(zhàn);并催生了一次革命,由此改變了我們軟件開發(fā)過程的各個方面。這些實踐方法是:

  • 計劃游戲:如今的SCRUM敏捷方法論的原型。核心概念是拆分軟件開發(fā)任務,排優(yōu)先級,迭代式增量開發(fā)。
  • 小規(guī)模發(fā)布:主要思想是軟件發(fā)布/部署應該提高頻度,增量發(fā)布/部署。
  • 簡單設計:是指讓系統(tǒng)保持越簡單越好——無論將來的變化會讓我們?nèi)绾螕鷳n。
  • 測試:是指程序員,甚至客戶,應該編寫自動化測試程序,來驗證產(chǎn)品代碼是否是按設計的方式運行。如今我們把它稱作測試驅(qū)動開發(fā)(TDD)和確認測試驅(qū)動開發(fā)(ATDD)。
  • 重構:是指軟件的內(nèi)部結構可以、并且應該做持續(xù)的改進。
  • 結隊編程:是說團隊成員如果各自獨立工作就不能稱之為團隊。團隊成員必須有規(guī)律的合作——在鍵盤上。這樣,他們能充分分享團隊其他成員應該知道的知識。
  • 集體所有制:是指代碼歸團隊共有,不屬于個人。
  • 每周工作40小時:是說經(jīng)常加班的團隊是失敗的團隊。
  • 現(xiàn)場客戶:是指來自業(yè)務方、負責需求的人,必須有準備的全程和開發(fā)團隊保持暢通交流。
  • 編碼標準:是指開發(fā)團隊要采用一種固定的代碼風格,用來提高代碼整潔和方便交流。

引起爭議?

很奇怪,不是嗎?這些看起來似乎沒有任何爭議呀。但在14年前,這些思想普遍受人質(zhì)疑。事實上,它們是如此的受人反對,以至于有人專門出版書籍來反駁這些實踐方法如何不可行,并斥責這些倡導者為烏托邦、騙錢者、從未寫過一行代碼的蠢貨…..

哦,抱歉,我不應該讓這些過去的事情控制我的情緒….畢竟,他們都消失了,而我仍在這里。

看一下這12條實踐指導,哪一個你沒用過?你們大部分人,我親愛的讀者,很可能每天都在實踐著大部分這些原則??鋸埖恼f,它們已經(jīng)無處不在,保守的說,它們現(xiàn)在已經(jīng)是主流。越來越多的沒有采用這些實踐方法的團隊正在試圖擁抱它們。這些實踐方法成為了一種目標,一種愿望,而不是當初被人謾罵的異教。

風云變幻

這14年來事情發(fā)展的有些意外。敏捷開發(fā)運動——在極限編程大討論中誕生的運動——迅速爆紅,隨后被一些什么身份都有、唯獨不是程序員的項目經(jīng)理們視為圣經(jīng)。我們看到了這場運動的誕生,廣泛接受,以及可以預見到的理想與現(xiàn)實的落差。我們看到了人們采納“計劃游戲(planning game)”方法(例如SCRUM),但卻忽略了其它11個實踐方法;于是我們看到了實施中的失敗——這被Martin Fowler稱之為氣虛的Scrum。由于理論和實踐的分裂,我們爆發(fā)了各種的口水仗,導致Kanban,Lean,以及其它新名詞相互競爭。我們看到了軟件工藝運動的成長,也看到了敏捷思想的淡化和蛻變腐蝕。

但是,盡管有人在炒作,有人失望的離去,這12條軟件開發(fā)實踐指導卻從未離去。有些名稱上有了小改動。每周工作40小時變成了可持續(xù)性比率(Sustainable Rate)。測試變成了測試驅(qū)動開發(fā)(TDD)。比喻(Metaphor)變成了DDD。小規(guī)模發(fā)布編程了持續(xù)集成和持續(xù)部署。盡管有這些變化,這些實踐方法仍然基本保留著它們14年前***次被寫出來時的主旨。

我們也看見了極限編程這個詞慢慢完全淡出了人們的視野,不再被人使用?,F(xiàn)在只有為數(shù)不多的人知道這個術語。有一些人還在用它的簡稱XP;但對大多數(shù)人來說,這個詞已經(jīng)蒸發(fā)殆盡了。我已經(jīng)聽不到有團隊把他們的編程方法描述為極限編程——即使他們是完整按照這12種指導實踐的。名稱變了,實踐方法沒變。這些實踐方法論永存。

爭議,炒作,恐嚇,大話,唱衰。這種亂象一遍又一遍重演?;祀s著人們的貪婪,熱情和驕傲。不管怎樣,這些實踐方法論永存。

堅實的價值基礎

我是這些實踐方法論的信徒,因為我知道它們有著堅實的價值基礎做支撐。Kent Beck在他的書里的29頁第七章里把這些價值描述為:

  • 交流
  • 簡化
  • 反饋
  • 鼓勵

我想去解釋為什么我們的軟件開發(fā)需要這些;但我想它們已經(jīng)不言自明了。沒有哪個軟件行業(yè)的人會拒絕其中的任何一條。沒人哪個軟件人不在努力將這些價值體現(xiàn)在他們的工作中。它們是軟件開發(fā)藝術的核心價值。

成功

極限編程是成功的!它比那些***幻想精神的擁護者的想象里的還要成功。因為它經(jīng)受住了考驗。因為它甚至比它自己的名字活的更長久。

極限編程的成功類似于結構化編程的成功。沒有人還會去想結構化編程——他們從來都是使用這種編程方式。沒有人再去想極限編程,我們一直都在這樣實踐著。

這才叫成功!真正的成功是一種身形不在,但它的精神已經(jīng)融入到我們每個人的日常生活中的成功。

回顧

今天,讓我們抽出一點時間回顧一下1999年。那一年,Kent Beck寫出了一本曠世之作。一本改變一切的著作。請記住:極限編程,并且要知道,它正是我們?nèi)缃竦娜似匠UJ為的“優(yōu)秀軟件開發(fā)實踐方法”的核心。

英文原文:Extreme Programming, a Reflection

譯文鏈接:http://www.vaikan.com/extreme-programming-a-reflection/

責任編輯:林師授 來源: 外刊IT評論 編譯
相關推薦

2015-03-27 09:31:01

2024-02-26 07:34:41

2020-07-01 08:02:26

Scrum方法論框架

2022-06-27 08:47:29

BEM修飾符元素

2013-12-25 09:50:27

華為馬悅企業(yè)業(yè)務

2025-04-10 11:47:41

2021-11-05 08:28:27

內(nèi)存泄漏調(diào)試

2009-03-16 13:43:14

2020-10-12 07:57:42

技術架構制圖

2023-02-22 08:15:13

壓測模擬計算

2018-07-03 10:49:22

性能故障排查

2015-08-07 13:36:49

南京軟博會

2015-08-12 17:06:28

2014-12-15 17:36:51

2023-11-20 07:10:48

用戶分析聚類算法

2022-08-22 11:45:59

架構技術

2025-04-01 02:22:00

2022-02-25 08:06:48

架構

2016-11-17 10:46:10

2018-02-01 13:22:50

數(shù)據(jù)庫MySQL同步延遲
點贊
收藏

51CTO技術棧公眾號