問題從而降低風(fēng)險(xiǎn)。 在軟件開發(fā)過程中,面對(duì)快速變化的市場(chǎng)需求和新技術(shù)發(fā)展,最大的風(fēng)險(xiǎn)往往來自對(duì)需求的分析和技術(shù)實(shí)現(xiàn)手段的選擇,通過原型化方法,首先以合理的成本細(xì)化需求、試驗(yàn)技術(shù)手段,把最主要的風(fēng)險(xiǎn)降到最低,從而在總體上降低軟件開發(fā)的風(fēng)險(xiǎn),加快軟件產(chǎn)品的形成,降低軟件開發(fā)的成本。
快速原型方法的過程,特別是進(jìn)化的原型方法,與軟件的版本升級(jí)有些類似。隨著市場(chǎng)需求的變化,軟件版本不斷升級(jí),每升級(jí)一次,就會(huì)增加新的功能,或者引入符合發(fā)展新趨勢(shì)的技術(shù)手段。但是每一個(gè)版本都是產(chǎn)品化的,在產(chǎn)品質(zhì)量方面都達(dá)到了相當(dāng)?shù)囊?,這與軟件原型是不同的,快速原型是一個(gè)由粗到細(xì)的過程,在最終形成產(chǎn)品之前,不論原型被修改了多少個(gè)版本,都還不能達(dá)到產(chǎn)品化的要求,不能對(duì)外發(fā)布。
使用快速原型方法的最大困難就是工程管理的問題,許多具有較強(qiáng)管理能力的企業(yè)對(duì)快速原型方法也感到畏懼,根本原因就是其不確定性所帶來的風(fēng)險(xiǎn)。但是應(yīng)該知道,快速原型的方法,正是為了針對(duì)主要風(fēng)險(xiǎn),分解風(fēng)險(xiǎn),盡早地、低成本地降低風(fēng)險(xiǎn)。否則,如果一味地強(qiáng)調(diào)軟件開發(fā)必須以明確的需求為前提,采用傳統(tǒng)的瀑布式開發(fā)方法,則會(huì)面臨更大的市場(chǎng)風(fēng)險(xiǎn),如果以不明確的需求采用傳統(tǒng)的開發(fā)方法,軟件開發(fā)本身也必然面臨著災(zāi)難性的風(fēng)險(xiǎn)。因此,快速原型方法應(yīng)該成為我們軟件開發(fā)過程中降低風(fēng)險(xiǎn)的一種有效的方法。
許多企業(yè)在新的軟件開發(fā)需求提出時(shí),實(shí)際已經(jīng)建立了自己的信息系統(tǒng)的基礎(chǔ)架構(gòu),也已經(jīng)開發(fā)了類似的軟件系統(tǒng),因此在新產(chǎn)品開發(fā)中應(yīng)采用的技術(shù)手段方面,已經(jīng)不存在問題,這時(shí)的風(fēng)險(xiǎn)主要存在于不明確的需求上,此時(shí)采用進(jìn)化的原型方法,比丟棄的原型方法會(huì)更有效。為了加強(qiáng)對(duì)原型化方法的開發(fā)過程的管理,可以在整個(gè)原型化過程中把每一次對(duì)需求的細(xì)化看作是一次版本升級(jí),在每一次升級(jí)過程中,細(xì)化了的需求是明確的(雖然還不一定是最終的),這就可以采用瀑布式開發(fā)管理方法,只是這一過程的周期會(huì)非常短,而且只要不是最終版本,成本就必須控制在最低。從另一個(gè)角度來說,如果企業(yè)的規(guī)劃能力比較強(qiáng),對(duì)整個(gè)產(chǎn)品發(fā)展、信息系統(tǒng)建設(shè)都有比較明確的思路,這對(duì)于降低單個(gè)軟件產(chǎn)品的風(fēng)險(xiǎn)非常有利,限制了產(chǎn)品的風(fēng)險(xiǎn),為單個(gè)軟件產(chǎn)品的設(shè)計(jì)開發(fā),提供了很好的基礎(chǔ)。因此,使用快速原型方法,需要充分考慮到與企業(yè)原有的規(guī)劃和基礎(chǔ)設(shè)施的關(guān)系,并注意對(duì)它們的影響。下圖是一種典型的快速原型方法的工作流程。
因此,通過提高項(xiàng)目管理能力,針對(duì)不同情況,在不同階段,正確運(yùn)用不同的工程方法,才能有效地控制風(fēng)險(xiǎn),使軟件開發(fā)保持強(qiáng)大的適應(yīng)變化的能力,也就保持了軟件開發(fā)者的生存能力。快速原型法為我們提供了一個(gè)很好的解決辦法。
最后還需要強(qiáng)調(diào)一點(diǎn)。為了是軟件工程管理能夠適應(yīng)這種快速變化的要求,使用相應(yīng)的軟件工程管理軟件是十分必要的。它主要有幾個(gè)方面的好處:
1, 建模工具和自動(dòng)代碼生成工具能夠大大提高開發(fā)的速度。
2, 配置管理工具可以有效對(duì)對(duì)軟件的變更進(jìn)行管理。
3, 強(qiáng)大的測(cè)試工具可以更加有效地覆蓋測(cè)試范圍,提高測(cè)試的效率。
4, 強(qiáng)化對(duì)軟件開發(fā)過程中的流程管理,加強(qiáng)溝通協(xié)作,提高工作效率。
5, 提高項(xiàng)目的績效管理水平。
越是風(fēng)險(xiǎn)高的項(xiàng)目,就越需要引入強(qiáng)有力的管理工具,提高管理力度和管理水平。加強(qiáng)科學(xué)管理是提高風(fēng)險(xiǎn)管理水平的唯一出路。