問現(xiàn)今軟件開發(fā)模式的熱詞,那就非“敏捷”莫屬了!敏捷開發(fā)的確蘊涵著無限商機,但同時也是對中國軟件產(chǎn)業(yè)的嚴峻挑戰(zhàn)。對于起步遠遠滯后于西方的中國軟件業(yè)來說,各種提高軟件開發(fā)速度及降低軟件開發(fā)成本的方式和措施都是值得探討與借鑒的。筆者認為敏捷開發(fā)模式對中國的軟件企業(yè)正是一個行之有效的開發(fā)方式。
早在上世紀60年代,北約(NATO)就提出了軟件危機這一概念。在《人月神話》一書中,軟件開發(fā)則被喻為讓眾多史前巨獸痛苦掙扎,卻無力擺脫的“焦油坑”。隨著需求和應用的日趨深入與復雜化,軟件開發(fā)的難度和遇到的問題正以幾何級數(shù)增長,“焦油坑”也由此變得更深、更大。
復雜程度高、開發(fā)周期長、結(jié)果無保證等等,作為軟件開發(fā)的通病,激發(fā)了人們的無限潛能,并由此產(chǎn)生了軟件工程學。但在實際工作過程中,需求變更在整個軟件開發(fā)的生命周期中仍是一個永恒的話題,也是客戶與服務提供方最糾纏不清的地方。改變的導火索源自方方面面,既有可能是一覺醒來后的靈光一現(xiàn),也有可能是來自客戶外部商業(yè)環(huán)境的改變。我至今還依稀記得最初從事ERP開發(fā)時,其中的某個項目排程模塊,當團隊按客戶最初的要求完成并測試順利通過時,客戶的新要求突如其來,180度大轉(zhuǎn)彎完全出于團隊預料之外,項目開始時全隊苦心經(jīng)營的開發(fā)架構(gòu)體系就這么被摧毀了,既然是現(xiàn)實,只能勇于接受!誠然,處理得當,這種變化就能協(xié)助雙方得到一個更優(yōu)秀的軟件,也讓客戶對團隊的快速應變產(chǎn)生好感,否則,如果固守原始的設(shè)計稿件,或者永遠作為一個新功能要求追加資金,有可能得到一個Case,卻失去一個用戶。可見無論是業(yè)界公認的需求、變更、人員流動,還是各種看起來并不起眼的小事件,都有可能讓軟件開發(fā)流程重新洗牌。其實,一個過程中的再設(shè)計,有可能會降低開發(fā)的成本。
顛覆傳統(tǒng) 適應變化
在傳統(tǒng)的軟件開發(fā)工作中,項目團隊分配工作的重點是明確角色的定義,以個人的能力去適應角色,而角色的定義就是為了保證過程的實施,即個人以資源的方式被分配給角色,同時,資源是可以替代的,而角色不可以替代。
然而,傳統(tǒng)軟件開發(fā)的這些方法在敏捷開發(fā)方式中被完全顛覆。敏捷開發(fā)試圖使軟件開發(fā)工作能夠利用人的特點,充分發(fā)揮人的創(chuàng)造能力。敏捷開發(fā)的目的是建立起一個項目團隊全員參與到軟件開發(fā)中,包括設(shè)定軟件開發(fā)流程的管理人員,只有這樣,軟件開發(fā)流程才有可接受性。同時敏捷開發(fā)要求研發(fā)人員在技術(shù)上獨立自主地進行決策,因為他們最了解什么技術(shù)是需要和不需要的。再者,敏捷開發(fā)特別重視項目團隊中的信息交流,有調(diào)查顯示:“項目失敗的原因最終都可追溯到信息沒有及時準確地傳遞到應該接受它的人。”
在土木工程實踐中,有比較穩(wěn)定的需求,同時建設(shè)項目的要求也相對固定,所以此類項目通常非常強調(diào)施工前的設(shè)計規(guī)劃。只要圖紙設(shè)計得合理并考慮充分,施工隊伍可以完全遵照圖紙順利建造,并且可以很方便地把圖紙劃分為許多更小的部分交給不同的施工人員分別完成。
然而,在軟件開發(fā)項目中,這些穩(wěn)定的因素卻很難尋求。軟件的設(shè)計難處在于軟件需求的不穩(wěn)定,從而導致軟件過程的不可預測。但是傳統(tǒng)的控制項目模式都是試圖對一個軟件開發(fā)項目在很長的時間跨度內(nèi)做出詳細的計劃,然后依計劃進行開發(fā)。傳統(tǒng)方法在不可預測的環(huán)境下,很難適應變化,甚至是拒絕變化。而與之相反的敏捷方法則是歡迎變化,目的就是成為適應變化的過程,甚至能允許改變自身來適應變化。
企業(yè)管理挑戰(zhàn)多多
敏捷開發(fā)要求將大項目分解成為很多小項目,這樣雖然易于考察、易于管理和易于控制,但同時也帶來了項目內(nèi)部各個小項目的協(xié)調(diào)問題。對于各個小項目的執(zhí)行,人員分配和其它資源分配的沖突及進度的沖突是最主要的沖突,而且這些沖突如果解決不徹底,將會對整個大項目帶來難以預測的負面結(jié)果。
敏捷開發(fā)最大的問題還是管理的問題。這和很多軟件企業(yè)重技術(shù)、輕管理的做法是截然相反的,企業(yè)的這種心智模式一方面是源自管理人才的缺乏和項目組成員對管理制度的排斥;另一方面則是因為現(xiàn)行規(guī)范和管理制度與實際工作中的不合拍。從這一層面而言,敏捷開發(fā)對管理水平要求的提高是對軟件企業(yè)領(lǐng)導者觀念的一種挑戰(zhàn)。
敏捷方法對需求不確定或常常變更的情形是有效的。但是,沒有哪一種開發(fā)方法是適用于所有項目開發(fā)的。敏捷方法給傳統(tǒng)軟件開發(fā)帶來了一種新的思路和開發(fā)模式,但也給企業(yè)帶來了軟件研發(fā)項目管理開發(fā)過程的整合困難。
在敏捷開發(fā)中,一個很重要的因素就是團隊成員的自律性,換句話說,就是營建一個自管理的團隊。雖然敏捷是一個項目管理層的理念,但這個理念決定了項目的每一個參與者,即程序員都需要有較高的素質(zhì)。事實上,敏捷開發(fā)的實施很大程度上是一個自下而上的過程:無論是怎樣的敏捷方法,都需要參與者主動領(lǐng)取任務,更重要的是主動交流。因此,有著良好自律性和主動性的程序員將成為項目成功的重要因素。雖然傳統(tǒng)的項目也需要優(yōu)秀的程序員,但不得不說敏捷開發(fā)對于每個程序員的要求會更加的高。
敏捷開發(fā)現(xiàn)在在歐美已非常普及,在國內(nèi)也已經(jīng)流傳實踐了幾年,現(xiàn)在正逐漸進入到越來越多的項目中。雖然敏捷開發(fā)既有成功的案例也有失敗的案例,但其高效可靠、節(jié)省成本的潛在特性決定了敏捷開發(fā)的廣泛應用性。
但縱觀國內(nèi)整體市場,尚有不少軟件企業(yè)并未采用敏捷開發(fā),主要還是出于以下幾點考慮:要做一個成功的敏捷開發(fā)者,需要同時具備碼農(nóng)、架構(gòu)師、測試工程師和客戶經(jīng)理的能力,公司為培訓這樣的員工代價頗高;加之不少優(yōu)秀程序員都是不善于社交、溝通的;并且對一個大型項目而言,每個人只負責其中的一個小功能,一旦某個人休假或者離職,那么頂替上的程序員可能對這塊功能的業(yè)務不是特了解,當他去和客戶溝通的時候就會顯得不專業(yè)。
總而言之,在實際開發(fā)過程中,需要根據(jù)實際項目的需要選擇合適的開發(fā)方法,并盡最大可能發(fā)揮人的創(chuàng)造性和潛能,利用不同人的不同特點,充分溝通,這才是在敏捷方法中真正需要學習的。(文/謝然)
1、項目管理培訓師在線發(fā)布的所有資訊與文章是出于為業(yè)界傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請瀏覽者僅作參考,并請自行核實相關(guān)內(nèi)容。
2、本站部分內(nèi)容轉(zhuǎn)載于其他網(wǎng)站和媒體,版權(quán)歸原作者或原發(fā)布媒體所有。如文章涉及版權(quán)等問題,請聯(lián)系本站,我們將在兩個工作日內(nèi)進行刪除或修改處理。敬請諒解!
當深度學習遇上敏捷開發(fā),會發(fā)生怎樣的“化學反應”?
為什么敏捷開發(fā)難于成功?
為什么敏捷開發(fā)在亞洲實行不了
安徽移動構(gòu)建“敏捷開發(fā)”模型
Esri(北京)研發(fā)中心榮峻德:敏捷開發(fā)初體驗
騰訊產(chǎn)品方法論:從敏捷開發(fā)到動態(tài)運營
微信教父張小龍所說的敏捷開發(fā)是什么?
網(wǎng)易云基礎(chǔ)服務:以“現(xiàn)代軟件工廠”助力敏捷開發(fā)
中南空管局開展敏捷開發(fā)高級實踐技術(shù)咨詢服務活動
Copyright ? 2024 項目管理培訓師在線 版權(quán)所有 京ICP備17062359號-1 如轉(zhuǎn)載本站文章,請注明原作者和原發(fā)布媒體
本著互聯(lián)網(wǎng)分享精神,本站部分內(nèi)容轉(zhuǎn)載于其他網(wǎng)站和媒體,如稿件涉及版權(quán)等問題,請聯(lián)系本站進行刪除或修改處理
客服電話:010-89506650 89504891 非工作時間可聯(lián)系:18701278071(微信) QQ在線:511524637
新聞與原創(chuàng)文章投稿:tougao#cpmta.com 客服郵箱:info#cpmta.com(請將#換成@)
項目管理培訓師在線——我國知名項目管理培訓服務提供商,隸屬卓橡公司