敏捷開發(fā)以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā)。在過去8年里,我一直工作于“Agile”開發(fā)小組,所以讓我用敏捷開發(fā)原則來告訴你事實,或許你會明白為什么那些在像Google這樣巨頭公司工作的開發(fā)者會認為敏捷開發(fā)是廢話。
1.及早并持續(xù)的交付有價值軟件來滿足客戶需求的優(yōu)先級是最高的。
“我的客戶一直由其他業(yè)務部門接洽,我從未見過我的客戶,我不知道他們是做什么的。”這是現(xiàn)如今大多數(shù)公司的真實寫照。
2.歡迎需求變更,即便是在開發(fā)的后期。為了客戶的競爭優(yōu)勢。
沒有人愿意接受改變需求。這就是第二個敏捷原則,普遍被厭惡的一個。
3.頻繁交付軟件,傾向于較短時間跨度。
部分公司在這方面做的很好,但是大多數(shù)團隊無法很好的掌控敏捷時間的尺度。交付時間表通常是基于大的更新,而大更新不屬于敏捷。
4.業(yè)務人員與開發(fā)者的綁定模式一直貫穿項目始末。
開發(fā)者和業(yè)務人員一起工作是罕見的,大多數(shù)公司都會有一個中間人來促進這種關(guān)系,然后效果是不理想的。開發(fā)者需要直接對話的應該是直接使用程序的人,而不是他們的經(jīng)理。現(xiàn)實生活中的需求往往是由幾個個層次以外的人來決定,而不是直接從用戶到開發(fā)者那來的。
5.激發(fā)個體的斗志,以他們?yōu)楹诵膭?chuàng)建項目——大多數(shù)人都不知道這表達了什么。
這意味著低水平的員工對軟件有最好的注意,并且他們積極的去解決問題。項目圍繞這些欲望來構(gòu)造,而這也了直接影響公司的底線。
5a.為他們提供所需的環(huán)境和支援,輔以信任,從而達成目標。
這是關(guān)于開發(fā)者的,你曾經(jīng)有過這樣的工作環(huán)境嗎?你所需要的工具、訪問權(quán)限和配件都有?;蛟S不用多說什么了,不是嗎?
6.不論團隊內(nèi)外,傳遞信息效果最好、效率也最高的方式是面對面交談。
這句話的意思是告訴我不能用IM和郵件來交流嗎?如果團隊的成員分散于各地呢?我改進現(xiàn)有軟件的最有效方法是站在某人后面看他使用。然而在大多數(shù)公司中,你做不到這樣,即便你知道客戶是誰。他們也是忙的無暇顧你,也有可能是其他原因?,F(xiàn)如今的人際交往不再像從前那樣。不是嗎?
7.可工作的軟件是進度的首要度量標準。
我們所在測量的都是類似于缺陷率、工作時間等事情,幾乎從來沒測量過這些事項:顧客得到可工作的功能了嗎?我們發(fā)布了多少個可工作的功能?這些功能是大、中還是小的?沒人知道。
8.敏捷過程倡導可持續(xù)開發(fā)。負責人、開發(fā)者和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。
這意味著每個人每周都要花30個小時在開發(fā)上,還需要花10個小時管理自己和工作負載、與他人溝通等等。這樣才能保證這種做法持續(xù)下去。更多公司所做的是不定時的加班,有的則是經(jīng)常加班。這是不可持續(xù)的。敏捷模式很少進入這樣的緊急模式,而你則是經(jīng)常性的。
9.堅持不懈的追求技術(shù)卓越和良好設計,增強敏捷能力。
在我看來這是對原則1和7的正確權(quán)衡。
10.以簡潔為本,極力減少不必要的工作量。
坦白來講,大多數(shù)團隊并沒在這上面花費足夠多的時間,我們最終不僅復雜了軟件,也復雜了開發(fā)習慣、復雜了代碼,這減緩了維護和新開發(fā)。
11.最好的架構(gòu)、需求和設計出自自組織的團隊。
團隊是由管理層組織的,幾乎沒有他們自己的事。不過這只是一個企業(yè)文化的問題,并很難被克服。有時在初創(chuàng)公司和小公司你可以發(fā)揚這種原則并讓其工作,但是在大多數(shù)大公司,還是算了吧。
12.團隊定期地反思如何能提高成效,并以此調(diào)整自身的舉止表現(xiàn)。
這更多地算是一種常見的績效考核形式,沒有我們真正想要的層面。敏捷想要的是“作為一個團隊,一起坐下來看看我們做了什么,如何在下一次做的更好”。然而實際上所發(fā)生的是個人主觀上的計算和測量,基于這些團隊幾乎得不到任何實際的改進。
所以說敏捷是廢話,因為沒有人會推崇這些原則來工作,不過他們?nèi)匀辉谡f其所做的是敏捷,這是非常讓人沮喪的。
敏捷方法存在很多廢話,但是同樣的廢話也會存在于新的軟件開發(fā)中,從面向?qū)ο蟮矫嫦蚍盏捏w系結(jié)構(gòu)等等。一個真正的敏捷方法不適用于緊急狀況,更多的是為了產(chǎn)品創(chuàng)新。如果作為準備,他可以改變整個組織,Salesforce從2007年就開始使用Scrum,這使它們能夠創(chuàng)建一個可預測的發(fā)布周期。并因此而創(chuàng)建越來越多令人印象深刻的功能和產(chǎn)品。
需要明確的是,敏捷方法不是良方,有能力的人、勤奮、專注和自律造就優(yōu)秀的軟件開發(fā)。
請您注意:
·自覺遵守:愛國、守法、自律、真實、文明的原則;
·尊重網(wǎng)上道德,遵守《全國人大常委會關(guān)于維護互聯(lián)網(wǎng)安全的決定》及中華人民共和國其他各項有關(guān)法律法規(guī);
·嚴禁發(fā)表危害國家安全,破壞民族團結(jié)、國家宗教政策和社會穩(wěn)定,含侮辱、誹謗、教唆、淫穢等內(nèi)容的作品;
·承擔一切因您的行為而直接或間接導致的民事或刑事法律責任;
·您在項目管理培訓師在線網(wǎng)“評論”中發(fā)表的作品,項目管理培訓師在線有權(quán)在網(wǎng)站內(nèi)保留、轉(zhuǎn)載、引用或者刪除;
·參與本評論即表明您已經(jīng)閱讀并接受上述條款。