摘 要:“敏捷管理”是近年來被廣泛推廣的一種開發軟件的管理方法,這種方法以實踐為基準,為復雜度不斷增加的軟件需求提供了新的解決思路。本文在闡述敏捷管理的原則、特點的基礎上,以敏捷方法在信息系統開發中的實踐為例,闡述敏捷管理在軟件開發中的作用,實踐證明,這種方法可以在極大程度上提升客戶滿意度,也能夠充分保證信息系統的質量。
關鍵詞:敏捷管理 軟件開發 客戶滿意度
中圖分類號:TP311 文獻標志碼:A 文章編號:1672-3791(2013)04(b)-0000-01
隨著信息技術發展與應用的逐步深入,軟件信息系統的需求日益增多,從而對軟件開發者也提出了新的挑戰。由于不少軟件項目對開發時間的要求比較高,客戶的需求也隨著現實情況不斷變化,為傳統模式的軟件開發流程與思想帶來了新的難題。“敏捷開發”是近年來被廣泛推廣的一種開發軟件的方法,這種方法牢牢以實踐為基準,為復雜度不斷增加的軟件技術需求提供了新的解決思路。本文在闡述敏捷管理的原則、特點的基礎上,以敏捷開發方法在智能辦公環境能源管理控制平臺系統開發中的實踐為例,闡述敏捷管理在軟件開發中的作用,具有比較好的理論價值與實踐意義。
1 敏捷管理模式的原則與特點
所謂敏捷開發,指的是以團隊協作為基礎,通過快速響應客戶需求變化,以信息系統的迭代進行開發的新理念。敏捷開發的核心要素便是將開發者本身作為開發過程的一部分,通過循序漸進的迭代來最終實現系統。已經有不少軟件開發實例可以證明:基于敏捷管理的軟件開發能夠在很大程度上提升信息系統的生產率,非常適合充滿變換的客戶需求環境,也可以為客戶解決需求模糊的問題。
敏捷管理的一系列原則保證了信息系統開發的高效,這些原則計有:(1)將客戶的滿意度置于服務的首位,并以時間的保證和質量的保證為基礎;(2)在軟件開發周期中的任何階段,均滿足系統用戶的需求改變,并以敏捷過程來快速完成變化,以鞏固客戶的競爭優勢;(3)軟件的部分模塊如果已經開發完成,即可交付用戶使用,盡可能縮短交付時間,提升客戶的滿意度;(4)信息系統的業務人員和開發者,應該在軟件開發的全周期內協同工作,互相配合;(5)對于團隊所有的成員,均肯定其價值,并激勵其付出努力,通過為富于不同技術特長的團隊成員提供適用于其提升效率的工作環境和管理體系,使其能夠高效率完成開發目標;(6)開發團隊保持高速溝通,支持成員之間通過交談和討論實現信息的傳遞;(7)軟件開發的進度是團隊考核權重最大的因素;(8)敏捷管理的重點,是使開發團隊能夠恒久地保持高效率;(9)團隊應該及時地西區和引入更優秀的開發技巧與更新近的開發理念;(10)通過簡單化的描述,為尚未完成的部分指明方向;(11)團隊內部的協調一致,才能為客戶提供最為理想的軟件體系次;(12)軟件開發團隊應該周期性地進行總結,對開發進程與開發目標進行調整。
在以上原則的界定之下,基于敏捷管理模式的信息系統開發具有的最鮮明的特點是:(1)通過開發者與客戶的直接溝通,快速傳遞信息,最大限度提升軟件開發對于客戶需求的滿足;(2)結合不同的用戶需求,為系統開發擬定不同的周期,以短周期迭代的模式減少返工;(3)引入代碼重構,加強代碼魯棒性。
2敏捷管理在軟件開發中的應用
2.1項目概況
2.1.1項目簡述
針對某公司對于綜合管理的要求,為其開發一套建立一套智能辦公環境能源管理控制平臺系統。系統的需求簡要概述如下:
能源采集模塊主要包括能源數據實時采集、能源數據的遠程傳輸。通過能源數據實時采集功能,實時通信服務器按指定采集周期自動采集用戶的能源消耗實時數據和能耗設備狀態,并將采集數據保存至實時數據庫同時將結果定時或者即時上傳到遠程云計算數據中心。
能源監控和管理模塊主要包括系統管理、區域管理、能耗分析、能耗測評、數據報表和事件記錄。系統管理功能完成用戶對系統的基本設置和管理的功能。其中主要包括用戶信息、數據導入等。
2.1.2項目分析
從項目的需求可知,此信息系統由于涉及到不同部門的數據統計分析,因此一方面必須能夠及時地處理繁多的采集數據與分析數據,另一方面還應能夠結合不同權限用戶對不同功能模塊進行權限的規定與設置,因此具有一定的復雜性;加之信息系統對時間要求比較緊急、客戶需求經常發生更改,本團隊為新組建團隊,尚未磨合順暢等因素,因此引入敏捷管理方法進行開發與實現。
2.2項目實施
2.2.1 敏捷管理模式的引入
結合團隊計劃,最初以瀑布式模型在作為此信息系統的開發思路。但是很快發現進展緩慢,原因在于系統架構尚未完全明確,模塊無法投入測試。以能源采集模塊為例,因為最初難以對所有類型的采集數據進行清晰分類,造成此模塊的管理比較混亂,最終重新進行。此外對于系統架構的選擇也沒有及時確定。以上原因造成項目進展落后與原計劃。考慮到系統需求多樣,開發團隊最終引入了敏捷管理模式ScrumWorks,并開始重新運作項目。
2.2.2 用戶需求的重構
結合敏捷管理模式,項目團隊重新梳理用戶的實際需求,通過信息系統的業務方與開發團隊集中討論和細化,使業務需求逐漸變得明晰和可量化。在此基礎上,明確信息系統最為關鍵的功能點,并及時在需求報告中體現出客戶需求的變更。
2.2.3 技術路線的確定
為適應敏捷管理,系統采用 B/S 結構,引入SSH構架,以Spring來實現系統所需的服務,并引入ESB技術作為SOA中介,通過為J2EE結構中的業務邏輯層底部補充服務層,實現系統對具體參與調用的軟件代碼的封裝。在整個系統里,將所有模塊的功能都定義成相互之間彼此獨立的一個服務,所有服務都為系統的表示層預留了可被隨時調用的網絡服務接口。系統的具體業務流程則以單個或多個服務進行組合之后來實現,最終的實現表示為表示層的一個業務邏輯視圖。其優勢在于一方面減輕了開發工作量,另一方面通過預留接口,能夠輕易地實現與另外一些系統業務系統的對接,最大限度地拓展了系統兼容性,也不再存在版本方面的沖突。在系統框架設計中,引入了分層化的設計模式,對于不一樣的操作與不一樣的處理,將其分配到不一樣的層次中來處理,在信息系統具體的開發過程中,為了使層次之間能夠彼此保持更大程度的獨立性,不同的層次與層次間,僅僅以接口來進行通信,凡屬于下一級的層次,均具備為了滿足上層調用而設置的接口,具有比較好的擴展性、比較強的重用性、和比較通用的可維護性,基于此框架的智能辦公環境能源管理控制系統能夠為管理部門的信息化管理提供支持。
2.2.4 開始迭代周期
結合項目本身的需求,本課題將迭代周期設置為14天。業務方代表每個周期前均應與開發團隊通過會議的方式明確每個人的分工,以及本周期的最終目標。由于客戶的需求有時候會發生變動,因此在會議中也應對上一個周期的變更進行細致的討論,如果尋在未能及時完成的工作,則將其納入本周期之中。
2.2.5 迭代過程跟蹤
由于團隊的所有成員均已在迭代周期中明確了自身的責任與工作,因此在這一階段b5e50d407b9ccd67417499a79a5f4f8f6ed22e320aadfe102f030aaa2d27bce1,信息系統的設計比較順利。通過甘特圖,管理者也能及時獲取每一個團隊成員的工作進展情況,管理者可以結合每一名成員的實際能力與特長,結合其工作進度對工作任務作出調整,以增加團隊效率。
2.2.6 里程碑的實現
為了是使信息系統的進度控制更加精細,項目組把一些模塊的實現作為本課題的里程碑事件,在幾個重要的“里程碑事件”發生之后,軟件開發團隊已經向客戶提交了信息系統的第一個版本,而結合用戶以后又造價的新的需求,將以后續的版本來分別一一實現。
3 結語
基于敏捷管理模式的軟件開發模式是一個滲透在軟件開發全周期的過程,屬于一個必須持之以恒的信息系統構建原則,而非一個獨立的事件。敏捷開發的最終目標,是使軟件開發能夠適應于可累復雜護著模糊的環境,盡可能的維持其清晰性與簡單化。本文所闡述的基于敏捷管理方式的信息系統開發模式十分適合中小型團隊的項目,實踐證明,這種方法可以在極大程度上提升客戶滿意度,也能夠充分保證信息系統的質量。
參考文獻
[1] 理查得·科克,馮斌譯.80/20法則[M].中信出版社,2011:10-12.
[2] 敏捷建模(Agile Modeling)Scott.Ambler著,張嘉路等譯,機械工業出版社2012:17-20.
[3] Ivar Jacobson,Grady Booch,James Rumbaugh著. 統一軟件開發過程.周伯生,馮學敏,樊東平譯. 北京:機械工業出版社,2012.10.
[4] Kent Beck. Extreme programming explained: embrace change.2nd ed. Addison-Wesley Professional,2011.
[5]StephenRSchach著.面向對象與傳統軟件工程.6thed.韓松譯.北京:機械工業出版社,2011.40-42.