敏捷開發關鍵在于,能夠“敏捷”地適應項目的變化,而不是在開發階段去適應需求變化。
IT項目不僅投資較大,而且項目的實施過程很長,拿ERP來說,一般的項目都是分階段去實施,每個階段的實施過程少則幾個月,而且存在項目風險。
因此,很多企業在項目決策上都存在一個顧慮,企業上項目需要解決企業存在的問題,但實施的過程和風險又讓企業進退兩難,真的不能二者兼得嗎?
軟件價值的兌現
現在的軟件業有個現象,就是軟件的功能就等于價值,軟件功能越多,系統越復雜、解決問題越多價值就最大。但是實際上很多功能最終用戶根本不會用,造成功能浪費。
第二個現象是很多用戶并不清楚軟件的價值究竟在哪里,所有的IT部門和廠商都是追求軟件按需求開發完成,認為軟件只要開發完成上線后就實現了價值。
但實際上軟件上線僅僅是一個軟件生命周期最早期的階段,軟件的價值是在使用中體現出來的。
比如說投資回報率的計算方法:
投資回報率=軟件單位時間內實現的價值×時間-開發成本
在這里面時間的因素是很重要的。很多國內企業都是為了降低開發成本,忽略了怎么樣延長軟件的使用壽命從而提高它的最大價值。
國內企業IT投資有80%是用在新產品開發上,20%用在現有系統擴展上。國外這個數字正好相反。如果對現有系統進行投資控制,用戶得到的價值要比開發一個新系統大得多。
敏捷開發的價值
從中國前幾年ERP上線的平均速度來看,項目的交付時間都比較長,這讓用戶產生了顧慮。
從某些角度來講這是很正常的現象。因為中國的企業可以利用自己的后發優勢,從西方軟件開發過程中學到了很多經驗,可以避免很多犯過的錯誤。
但是也有一些不正常的因素存在:一些項目因為業績的需求,希望項目能盡快上線,可如果是傳統的軟件開發方法,它的自然規律是速度、成本和質量三個互相制約的因素。一味追求速度必然的結果就是成本的提高,系統的靈活性、可擴展性和可使用性都會下降。
在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。
簡單說,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。
敏捷開發很多方面就是為了解決問題:一個就是什么樣的功能提供給客戶,應該產生最大的價值?什么樣的功能不要提供給客戶,因為它產生不了價值。產品系統的靈活性和可擴展性,以及適應性是怎么樣實現等。
軟件開發不能被認為是一個既定的進程,因為在一個團隊里開發一個軟件時會有太多的變化出現,任何一個既定的程序設置都能達到一個合適的預想結果是不可能的。因為需求在變化,技術在更新,還有人員流動等問題的存在。
敏捷開發最重要的就是怎么樣使業務人員、技術人員和最終用戶能夠盡可能地溝通。因為只有過程的溝通,大家才能意識到什么樣的功能是可以做的,什么樣的功能是能給用戶提供最大價值的。
敏捷開發使團隊依靠變化來獲取活力。因此,不需要一個成熟的初始設計。他們更愿意保持設計盡可能的干凈、簡單,并使用許多單元測試和驗收測試作為支援。這保持了設計的靈活性、易于理解性。
團隊利用這種靈活性,持續地改進設計,以便于每次迭代結束生成的系統都具有最適合于那次迭代中需求的設計。
敏捷開發技術應用分析
電子商務軟件開發存在的問題
開宏公司是國內某汽車零部件貿易企業,其業務形式大部分采用期貨訂貨,客戶群基本上覆蓋了全國各地,公司制定的訂貨時間一般集中在月底的10天左右。
該企業原來開發了一套適合自己企業運作的貿易企業ERP系統,但ERP的核心是實現企業內部資源的優化配置,是實現企業內部供應鏈管理。僅僅是在公司內部使用。
由于企業沒有外部信息管理機制,所以不能夠很好的和客戶進行信息交流,這樣一來就造成客戶在集中訂貨的時候,因為訂貨量巨大,而時間集中在供貨的那幾天,造成該企業的業務人員平時很輕松,在那幾天卻很忙碌,而且經常會發生排隊訂貨的現象。
同時由于是期貨訂貨,所以該企業還得向上游供應商訂貨,這樣一來,給工作帶來極大的不便,也容易造成混亂和漏洞。
因此,經過多方面考慮,公司決定根據企業特點開發一套網上期貨訂貨系統,將訂貨的整個環節都打通,通過和幾個系統之間的集成,做到實時的信息流通。
但是因為國內沒有相關成熟的案例和模型,所以實施存在極大地風險性。而為了盡快地解決業務流程中的問題,要求盡早建立網上訂貨系統,根據以上情況,決定采用敏捷開發技術來實施這個項目。
實施計劃
建立聯合實施團隊,由電子商務公司的項目實施人員和客戶方的關鍵用戶一起構成,統一受客戶方的常務副總指揮。
工作方式:在客戶現場辦公,在調研的同時做需求,根據系統架構和功能劃分,邊做設計邊做開發。
溝通方式:所有項目組成員對每天的工作進行總結和經驗交流。每周召開一次推進和培訓會議,在不斷開發的過程中進行對用戶的業務知識,系統知識,和操作的培訓,為將來系統的運行維護打下更好的基礎。
項目實施過程
第一輪循環實施周期兩個月,不但搭建了整個應用的整體框架,還實現了兩大品種的單向期貨訂貨流程。
第二輪循環實施周期兩個月,打通了向供應商的期貨訂貨環節,并且實現了另外兩個品種的訂貨。同時逐步將前期做好的系統向用戶做推廣使用,在不斷完善的過程中,對本階段的項目開發實施做修正。
第三輪循環實施周期三個月。由開發人員和客戶方的關鍵用戶對期貨訂貨系統進行完善和優化。
項目實施效果
通過網上信息的快速傳遞,再也沒有排隊訂貨的狀況,同時由于采用了敏捷開發技術,降低了開發成本,開發效率得以提高。盡管在整個項目實施過程中存在大量的變更和修正,但是這樣的開發方式可以很有效的避免帶來更多負面的扯皮現象。
文章來源于領測軟件測試網 http://www.kjueaiud.com/