當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 建筑OA系統(tǒng) > 工程項(xiàng)目管理軟件系統(tǒng)
電子商務(wù)綜合管理:用敏捷方法應(yīng)對(duì)需求變化
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
一、問題的提出筆者近幾年一直從事信息系統(tǒng)的開發(fā),特別是有關(guān)國(guó)家機(jī)關(guān)和企業(yè)信息系統(tǒng)的開發(fā)工作,取得了許多的經(jīng)驗(yàn)和教訓(xùn)。其中一個(gè)深切的體會(huì)是,需求的不斷變化,如果不能很好的應(yīng)對(duì),會(huì)導(dǎo)致整個(gè)項(xiàng)目的進(jìn)度和質(zhì)量都難以控制,最終使整個(gè)系統(tǒng)失敗。特別是在我國(guó),用戶對(duì)于如何應(yīng)用計(jì)算機(jī)軟件并沒有一個(gè)成熟的經(jīng)驗(yàn),在項(xiàng)目進(jìn)行中用戶會(huì)頻繁的改變和增加各種要求。當(dāng)最終完成系統(tǒng)的建設(shè)時(shí),卻發(fā)現(xiàn)企業(yè)的業(yè)務(wù)需求已經(jīng)發(fā)生了很大的改變,一方面是系統(tǒng)的設(shè)計(jì)已經(jīng)無法很好地滿足新的需求,另一方面是項(xiàng)目周期大大超過預(yù)期,項(xiàng)目發(fā)生虧損。
據(jù)美國(guó)軟件工程實(shí)施現(xiàn)狀的調(diào)查,軟件研發(fā)的情況也是很難預(yù)測(cè),大約只有10%的項(xiàng)目能夠在預(yù)定的費(fèi)用和進(jìn)度下交付。在商用軟件產(chǎn)業(yè)中,這一現(xiàn)象尤為嚴(yán)重。
因此如何從軟件工程的角度,通過采用適當(dāng)系統(tǒng)設(shè)計(jì)方法和加強(qiáng)項(xiàng)目管理來解決需求不斷變化的問題,是各個(gè)軟件開發(fā)商的一個(gè)重要課題。通過實(shí)踐,感到采用敏捷方法的基本思想和原則來設(shè)計(jì)系統(tǒng)和處理需求變化問題,能夠產(chǎn)生較好的效果。
下面就從系統(tǒng)設(shè)計(jì)和項(xiàng)目管理等方面談一下這方面的體會(huì)。
二、需求變化帶來的問題
作為軟件開發(fā)商,當(dāng)接到一個(gè)項(xiàng)目后,一般的做法是首先由用戶提出需求,然后開發(fā)商根據(jù)用戶的需求作出一個(gè)系統(tǒng)實(shí)現(xiàn)方案,而用戶通常并沒有實(shí)質(zhì)地理解方案,隨即通過了方案,開始了軟件的開發(fā)工作。根據(jù)筆者所開發(fā)過的多個(gè)系統(tǒng),開發(fā)前期,大多數(shù)單位并沒有明確的想法,也提不出確切的需求,因?yàn)闃I(yè)務(wù)人員不了解計(jì)算機(jī)技術(shù)是怎樣實(shí)現(xiàn)業(yè)務(wù)流程的。用戶總是希望開發(fā)單位根據(jù)當(dāng)前的業(yè)務(wù)流程先做出一個(gè)樣板來,然后再進(jìn)行改造,而多數(shù)用戶認(rèn)為軟件修改很容易。
盡管已經(jīng)做好了系統(tǒng)規(guī)劃,簽訂了功能較明確的合同,然而隨著系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施的進(jìn)展,當(dāng)客戶在項(xiàng)目部署后看到真正的軟件系統(tǒng)的界面及操作方式,客戶的需求就被激發(fā)起來,會(huì)根據(jù)自己的對(duì)軟件的理解和日常工作的習(xí)慣,對(duì)軟件的處理及操作方式提出修改,而這種修改往往比較隨意,因此導(dǎo)致開發(fā)方需要對(duì)流程、界面、以及相關(guān)文檔經(jīng)常的大量的修改,這些成為開發(fā)方的一個(gè)很大的負(fù)擔(dān),而這種負(fù)擔(dān)對(duì)用戶基本是看不見的。
三、用敏捷方法方法應(yīng)對(duì)需求變化
1.敏捷建模(Agile Modeling)進(jìn)行系統(tǒng)設(shè)計(jì)
軟件開發(fā)過程一般是要盡早完成需求分析,停止需求的變動(dòng),將這些需求作為設(shè)計(jì)的基礎(chǔ),然后開始構(gòu)筑系統(tǒng),這是瀑布方法————基于計(jì)劃的生命周期。這種方法是通過大量的前期工作來減少變化。一旦前期工作完成,當(dāng)需求變化時(shí),這樣的方法就會(huì)有很大的問題。
另外一個(gè)重要原因是,許多單位的管理模式都處在探索階段,可能引起變動(dòng)的因素很多,因此根據(jù)現(xiàn)行的管理模式設(shè)計(jì)出的信息系統(tǒng)將面臨使用單位管理模式的變化的考驗(yàn),包括許多的工作流程的細(xì)節(jié)處理方式式否合乎工作人員的習(xí)慣等問題。
系統(tǒng)在設(shè)計(jì)時(shí)要充分考慮這些不確定因素,才能適應(yīng)這些變化。特別是數(shù)據(jù)結(jié)構(gòu)要以系統(tǒng)靈活性為主,其次才是考慮系統(tǒng)性能的提高。
在軟件開發(fā)出現(xiàn)工期或bug等問題時(shí),開發(fā)人員常抱怨是由于需求的變化造成的,對(duì)于軟件的修改存在抵觸情緒。實(shí)際上在商業(yè)軟件開發(fā)領(lǐng)域,需求變化是很正常的,問題是我們?cè)撛鯓訉?duì)待它。為了適應(yīng)需求的變化,必須采取不同的設(shè)計(jì)態(tài)度。這里介紹敏捷方法的幾點(diǎn)思想,對(duì)如何應(yīng)對(duì)需求的變化很有教益。
主張簡(jiǎn)單、遞增的變化、擁抱變化是敏捷建模方法的核心原則之中的三個(gè)。
敏捷建模主張當(dāng)從事開發(fā)工作時(shí),最簡(jiǎn)單的解決方案就是最好的解決方案,盡可能的保持模型的簡(jiǎn)單。
對(duì)無法在項(xiàng)目一開始就固化的需求進(jìn)行演進(jìn)型的設(shè)計(jì)。你現(xiàn)在不必要對(duì)這個(gè)系統(tǒng)進(jìn)行過分的建模,只要基于現(xiàn)有的需求進(jìn)行建模,隨著項(xiàng)目的進(jìn)行,項(xiàng)目環(huán)境和需求發(fā)生變化時(shí),再來完善和重構(gòu)這個(gè)系統(tǒng)??荚嚧笳?
遞增的變化是指你不用在模型中包容所有的細(xì)節(jié),你只要開發(fā)一個(gè)小的模型或是概要模型,打下一個(gè)基礎(chǔ),然后慢慢的改進(jìn)模型。
敏捷建模采取不同的設(shè)計(jì)態(tài)度來“擁抱變化”。它認(rèn)為需求時(shí)刻在變,人們對(duì)于需求的理解也時(shí)刻在變。隨著項(xiàng)目的進(jìn)行,項(xiàng)目環(huán)境也在不停的變化,因此你的開發(fā)方法必須要能夠反映這種現(xiàn)實(shí)。對(duì)于用戶的反饋,要勇于對(duì)自己的代碼進(jìn)行修改,丟掉壞的代碼。
對(duì)于易變的需求,敏捷方法使用了一系列實(shí)踐。其核心則是迭代式開發(fā),尋求快速的反饋,用戶經(jīng)歷過一次或幾次的迭代之后,對(duì)軟件開發(fā)和業(yè)務(wù)需求如何實(shí)現(xiàn)已經(jīng)有了形象的認(rèn)識(shí),用戶提出的需求基本上可以代表他們的真實(shí)需求。這時(shí),就可以將需求進(jìn)行凍結(jié)。后面如果還有修改,將是細(xì)節(jié)的調(diào)整,不會(huì)對(duì)軟件的架構(gòu)產(chǎn)生重大的影響。
按照上述的敏捷方法的原則來設(shè)計(jì)系統(tǒng),則能夠使我們正確的看待用戶需求的變動(dòng),從而較好的適應(yīng)需求的變動(dòng)。如果項(xiàng)目管理者和程序開發(fā)人員真正的理解并貫徹這種方法,用這種思想去管理項(xiàng)目,那么就能有效的避免出現(xiàn)項(xiàng)目后期軟件架構(gòu)混亂、補(bǔ)丁加補(bǔ)丁、系統(tǒng)性能大大減低的情況。
2.項(xiàng)目管理的作用
1)推動(dòng)技術(shù)與需求“匹配”
上面提到要采用敏捷方法的迭代式開發(fā),盡快的凍結(jié)需求,那么通過項(xiàng)目管理的手段,可以控制和縮短需求凍結(jié)的時(shí)間。
項(xiàng)目管理是一種管理手段,目的是在指定時(shí)間和資源的條件下,保質(zhì)、按時(shí)地完成預(yù)定的任務(wù)。作為一個(gè)項(xiàng)目管理人員,必須注意有些需求的變化是由于業(yè)務(wù)與設(shè)計(jì)的“不匹配”造成的,即用戶一方可能對(duì)信息系統(tǒng)的開發(fā)和實(shí)現(xiàn)方法,缺乏全面的了解,不懂得如何將傳統(tǒng)的業(yè)務(wù)模式轉(zhuǎn)換為信息系統(tǒng)所要求的處理模式。
另一方面,也可能開發(fā)商對(duì)用戶方的需求、細(xì)節(jié)了解不充分等因素,使得用戶方與開發(fā)方對(duì)工程的理解從一開始就存在著差異。因?yàn)闃I(yè)務(wù)人員開始提不出實(shí)際的需求來,而只是把大致的工作流程介紹一遍。而這種認(rèn)識(shí)上的差異與理解的不同往往在開發(fā)初期并沒有表現(xiàn)出來,當(dāng)軟件基本成型,給用戶演示時(shí),顯出較大的差異。
作為開發(fā)商,過去經(jīng)常將開發(fā)的注意力集中在“技術(shù)”上,即計(jì)算機(jī)軟硬件、操作系統(tǒng)平臺(tái)和數(shù)據(jù)庫等技術(shù)實(shí)現(xiàn)上。而對(duì)于信息系統(tǒng)的開發(fā),則必須首先考慮到用戶的理念、方針和及其對(duì)技術(shù)方法的領(lǐng)會(huì)等各方面因素。往往這些因素對(duì)系統(tǒng)成敗所起的作用,比技術(shù)實(shí)現(xiàn)的因素更重要。
首先,項(xiàng)目設(shè)計(jì)組人員要向需求方的領(lǐng)導(dǎo)及業(yè)務(wù)人員闡述信息系統(tǒng)是如何實(shí)現(xiàn)的,什么樣的業(yè)務(wù)模式適合于網(wǎng)絡(luò),怎樣處理和解決什么問題,需要在傳業(yè)務(wù)模式上做哪些改進(jìn),建立基本的操作規(guī)范等等。必須明確,信息系統(tǒng)改變了現(xiàn)行的工作管理模式,使工作人員失去了一定的靈活性和隨意性。如果不建立新的操作流程和規(guī)范,在傳統(tǒng)手工處理方式上,實(shí)現(xiàn)信息系統(tǒng)是不可能的。
其次,詳細(xì)的了解全盤業(yè)務(wù)流程之后,用基本用戶界面原型向需求方演示和說明方案,使業(yè)務(wù)人員真正理解技術(shù)實(shí)現(xiàn)的思路,能夠及時(shí)發(fā)現(xiàn)與實(shí)際不吻合或存在的困難,這樣才可能從工作流程上或技術(shù)上來解決這些問題。
當(dāng)出現(xiàn)問題時(shí),項(xiàng)目管理人員應(yīng)迅速分析問題,正確判斷哪些問題屬于不適應(yīng)新的工作模式引起的,哪些問題屬于操作不當(dāng)引起的,哪些問題屬于系統(tǒng)本身不完善引起的。對(duì)于那些由于不適應(yīng)新的工作模式引起的問題,項(xiàng)目管理人員應(yīng)引導(dǎo)使用人員迅速適應(yīng)新的工作模式,必要時(shí)也要說服用戶方的決策層采用行政手段推動(dòng)實(shí)施;項(xiàng)目管理人員時(shí)刻注意取得決策層的理解與支持,幫助工作人員盡快地適應(yīng)新的工作方式。
項(xiàng)目管理者就像是一個(gè)樞紐,由他來決定需求的分類、工作量、需求變化對(duì)現(xiàn)有軟件的影響程度等因素,從而安排需求變更的計(jì)劃――是在本次迭代中完成,還是在下一次迭代中完成。
2)開發(fā)文檔的更新
軟件開發(fā)文檔對(duì)與軟件項(xiàng)目來說是一個(gè)很大的工作量。很多軟件項(xiàng)目的開發(fā),在初期文檔比較正規(guī),隨著項(xiàng)目的深入,特別是需求發(fā)生多次變化之后,要保持軟件開發(fā)文檔的一致性就感到非常困難了,因?yàn)樾枨蟾淖兊母鞣N信息沒有記錄下來,最后不得不蒙混過關(guān),草草了之。
但如果我們按照敏捷方法的原則,在需求凍結(jié)之前,不要過分的把精力投入到文檔的制作上,而是將有關(guān)的信息記錄和保留下來,在需求基本凍結(jié)之后,化一定的時(shí)間來創(chuàng)建和對(duì)文檔進(jìn)行格式化。
3)合同的考慮
盡管按照敏捷方法的原則是擁抱變化,但還是應(yīng)該在簽定開發(fā)合同時(shí),一方面對(duì)項(xiàng)目的費(fèi)用和時(shí)間估計(jì)時(shí)一定要考慮用戶需求的變化,另一方面把用戶需求的改動(dòng)的條款寫清楚,如果用戶增加或改動(dòng)了需求,那么軟件的交付日期可以推遲,費(fèi)用也應(yīng)增加。這樣可以限制用戶的隨意改動(dòng)。
三、結(jié)束語
每個(gè)項(xiàng)目的開發(fā)環(huán)境及實(shí)施環(huán)境各不相同,在系統(tǒng)設(shè)計(jì)和項(xiàng)目管理方面所面臨的問題不盡相同,但需求發(fā)生變化是所有項(xiàng)目都會(huì)遇到的問題。信息系統(tǒng)的建設(shè)由于會(huì)改變?cè)械膫鹘y(tǒng)工作模式,需求的內(nèi)容因而會(huì)隨時(shí)變動(dòng),給開發(fā)工作帶來很大的難度。本文提出了應(yīng)用敏捷方法的思想來應(yīng)對(duì)軟件開發(fā)過程中需求變化的問題,希望能對(duì)系統(tǒng)開發(fā)人員和項(xiàng)目管理人員有所幫助。
- 1工程項(xiàng)目績(jī)效評(píng)價(jià)的對(duì)象是工程項(xiàng)目實(shí)施的結(jié)果和什么
- 2陜西省造價(jià)工程師報(bào)名條件
- 3中鐵二十局西成客專一工區(qū)中梁隧道總掘進(jìn)突破百米大關(guān)
- 4注冊(cè)消防工程師網(wǎng)校培訓(xùn)機(jī)構(gòu)
- 52011年一級(jí)建造師考試《公路》典型案例及答案(18)
- 6全站儀(KTS-440)使用說明書
- 72015年工程造價(jià)案例分析第一章第四節(jié)(1)
- 82011年注冊(cè)一級(jí)建造師習(xí)題《工程法規(guī)及知識(shí)》(16)
- 9寧夏2015年一級(jí)建造師執(zhí)業(yè)資格考試報(bào)名條件
- 102015年招標(biāo)師考試《招標(biāo)采購案例分析》精選案例6
- 11墊資施工合同的合法化
- 12省道1836線湖南某段二級(jí)公路(實(shí)施)施工組織設(shè)計(jì)
- 132015年工程技術(shù)與計(jì)量(土建):屋頂
- 142014年一級(jí)建造師機(jī)電工程復(fù)習(xí)資料—焊后檢驗(yàn)一外觀檢驗(yàn)
- 15辦公樓工程雨期施工方案13p
- 16造價(jià)工程師答疑精華:?jiǎn)蝺r(jià)遺漏和付款條件
- 17內(nèi)蒙復(fù)合板
- 18招標(biāo)師項(xiàng)目管理與招標(biāo)采購精講精練題(5)
- 19中鐵十一局二公司合福項(xiàng)目部承建京??蛯lh北站工程破土開工
- 20建筑工程現(xiàn)場(chǎng)項(xiàng)目財(cái)會(huì)管理制度
- 21監(jiān)理工程師每日一練免費(fèi)在線測(cè)試(2015.3.20)
- 22闡述建筑工程施工項(xiàng)目的質(zhì)量控制
- 23自密實(shí)混凝土抗裂性能研究
- 24淺論施工企業(yè)項(xiàng)目分包管理
- 252015年招標(biāo)師考試專業(yè)實(shí)務(wù):招標(biāo)公告的內(nèi)容和格式
- 262014年一建市政復(fù)習(xí)資料—《城鎮(zhèn)燃?xì)廨斉涔こ淌┕ぜ膀?yàn)收規(guī)范》
- 27[山西]小型土地復(fù)墾項(xiàng)目開工報(bào)告(含施工組織設(shè)計(jì))
- 282014年一建機(jī)電工程復(fù)習(xí)資料—平面控制網(wǎng)的測(cè)量要求
- 29北京造價(jià)工程師考試
- 30百安居的日常成本控制
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓