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