王 建 劉 鳳
摘 要:軟件項目開發(fā)成功率低是軟件行業(yè)的共識,主要是因為在軟件開發(fā)過程中眾多的風(fēng)險因素造成。文章擬從以客戶為中心的軟件開發(fā)思想,以客戶為主導(dǎo)的角度研究軟件項目風(fēng)險的規(guī)避行為,降低軟件項目的風(fēng)險。
關(guān)鍵詞:軟件項目;以客戶為中心;風(fēng)險
中圖分類號:F407.672 文獻標識碼:A文章編號:1006-8937(2009)24-0036-02
信息技術(shù)的發(fā)展促進了軟件產(chǎn)業(yè)的飛速發(fā)展,使得軟件產(chǎn)品在眾多領(lǐng)域的應(yīng)用越來越重要。然而,軟件產(chǎn)品的開發(fā)成功率相對于其它工程項目產(chǎn)品要低得多,這主要是由于軟件產(chǎn)品的特殊性造成的,軟件產(chǎn)品的特殊性使得軟件項目在開發(fā)過程中具有眾多的風(fēng)險因素,而且風(fēng)險因素錯綜復(fù)雜。
從軟件項目風(fēng)險管理的研究成果來看,風(fēng)險辨識和評估的研究比較豐富和深入,而軟件項目風(fēng)險因素的識別、評估的最終目的是為了能夠制訂科學(xué)的風(fēng)險管理和控制方法,從而有效地進行軟件項目風(fēng)險管理。然而,如何在風(fēng)險辨識與評估的基礎(chǔ)上采取風(fēng)險規(guī)避行為,文章從以客戶為中心的軟件開發(fā)思想出發(fā),提出基于客戶滿意度的軟件開發(fā)能夠在一定程度上減少軟件項目的風(fēng)險,即在軟件開發(fā)過程中,客戶滿意度越高軟件項目成功的概率越大。
1全生命周期的客戶風(fēng)險
以客戶為中心的軟件項目開發(fā)思想是敏捷軟件項目管理中的核心思想,時刻與客戶保持合作關(guān)系,使得客戶能參與到軟件項目開發(fā)中。由于軟件是一種特殊的邏輯產(chǎn)品,不具備實體的可見性,它是由經(jīng)過智力勞動而產(chǎn)生出來,具有特殊物質(zhì)的復(fù)雜事物,因此在軟件開發(fā)過程中將有眾多的不確定因素存在,如客戶需求不斷變化。采用以客戶為中心的軟件開發(fā)更適用于軟件行業(yè),Ilieva et al.(2004)等人在研究敏捷開發(fā)中發(fā)現(xiàn):客戶在軟件開發(fā)過程中對開發(fā)進程監(jiān)控,使得項目在簽收時受到客戶的高度評價,即項目成功。但是Tore Dyb與Torgeir Dings?yr(2008)指出客戶在敏捷開發(fā)中表現(xiàn)出不持續(xù)性將對項目帶來更大的風(fēng)險[1]。
客戶風(fēng)險主要是客戶對中間產(chǎn)品或最終產(chǎn)品的不滿意,或客戶的意見未被采納或更改,造成產(chǎn)品最終無法滿足客戶的要求;客戶對規(guī)劃、原型和規(guī)格的審核決策周期比預(yù)期的長;客戶提供的組件質(zhì)量欠佳等??蛻麸L(fēng)險體現(xiàn)在軟件項目生命周期中的各個階段。
軟件項目在其生命周期中,分為以下四個階段:需求分析階段、制定方案階段、實施階段與結(jié)束項目階段。
①需求分析階段。對于軟件項目組織來說,該階段需精確識別客戶的真實需求,因此項目組織必需密切與客戶溝通,在將收集到的信息加以匯總時對不明確之處反饋于客戶,以期客戶解答。此階段中,若客戶不予以配合或不完全表達其意思,則軟件項目必定失敗。項目組織在需求分析過程中,需要時時以客戶為中心,使得客戶能夠順利方便地參與到項目中,做好軟件項目工作的第一階段。因此,與客戶的溝通程度、客戶的參與程度將是客戶風(fēng)險在該階段的體現(xiàn)。
②制定方案階段。該階段項目團隊的主要任務(wù)就是與客戶一起制定一個以前期明確的需求、雙方的資源、項目開始實施的時間約定、項目費用限制等為基礎(chǔ)的具有可操作性的項目計劃,從本階段開始爭取客戶全面參與項目的管理,需要雙方共同考慮項目實施的具體計劃落實和風(fēng)險規(guī)避。
③實施項目階段。此階段為項目成功的主要階段,伴隨著項目工程的推進,在前兩個階段中不確定性的事件可能會成為該階段的主要事件,客戶在本階段也會因為外界環(huán)境的變化而使得第一階段中的需求發(fā)生改變,如客戶所處公司的環(huán)境。此時項目團隊應(yīng)實時對客戶滿意度進行評估,實時了解客戶的需求。在本階段中,客戶風(fēng)險體現(xiàn)在原需求的改變、項目進度達不到客戶需要、軟件項目的成本、軟件項目的質(zhì)量(如軟件界面設(shè)計)等。若此階段項目團隊不能與客戶密切溝通與合作,客戶風(fēng)險將導(dǎo)致項目的夭折。
④結(jié)束項目階段。此階段也可以稱為軟件產(chǎn)品驗收階段,軟件項目經(jīng)理將軟件產(chǎn)品交付客戶使用。客戶對軟件產(chǎn)品的滿意程度將直接決定是否簽收該軟件產(chǎn)品,如果客戶對軟件產(chǎn)品不滿意,意味著軟件產(chǎn)品的開發(fā)失敗,修改軟件產(chǎn)品將需要更多的成本與時間。因此,客戶對產(chǎn)品的質(zhì)量、成本控制、項目是否延時等問題都將成為影響客戶滿意度的因素。
2風(fēng)險規(guī)避模型建立
在軟件項目全生命周期中,客戶風(fēng)險時刻存在。為了達到客戶滿意度,采用一般風(fēng)險管理中常用的規(guī)避風(fēng)險的四個策略:“避免”、“轉(zhuǎn)移”、“接受”、“遏制”和“深入探討”。所謂“避免”策略是指通過改變產(chǎn)品設(shè)計或開發(fā)過程,避免或消除風(fēng)險可能造成的嚴重后果?!稗D(zhuǎn)移”策略常用于保險分擔(dān)或合同分擔(dān),風(fēng)險出現(xiàn)的概率并沒有因此而降低,但是降低了風(fēng)險出現(xiàn)后某一方遭受損失的程度?!敖邮堋辈呗灾嘎犎物L(fēng)險的自然發(fā)展,一方面不需付出風(fēng)險控制成本,另一方面也沒有消除風(fēng)險可能的危害?!岸糁啤辈呗酝ǔS袃蓷l途徑,一條是加強高風(fēng)險因素的薄弱環(huán)節(jié),降低風(fēng)險發(fā)生的概率;另一條是調(diào)整設(shè)計方案或管理方法,減輕風(fēng)險出現(xiàn)后的影響后果?!吧钊胩接憽辈呗允菫檎莆诊L(fēng)險的具體特性而開展的各項活動,以便取得更多的信息,使風(fēng)險決策更為科學(xué)和明智。
軟件項目開發(fā)的過程中,軟件項目團隊與客戶保持密切聯(lián)系,共同處理風(fēng)險。文章中采用這個四個策略的優(yōu)先級順序評估客戶對軟件項目風(fēng)險處理的接受程度,達到客戶的心理接受風(fēng)險程度,即客戶對軟件項目的滿意程度。
3 結(jié)語
在項目管理過程中,項目的三個主要控制要素:成本、質(zhì)量、進度。這些要素是每個項目管理中不可獲缺的,在軟件項目中也不例外。在軟件項目中,這三個要素在不同的階段具有不同的權(quán)重,而且其中的任何一個要素的滯后都將帶來客戶的不滿。
在文章中,溝通是指項目組織與客戶間的交流與信息共享,不涉及到項目組織內(nèi)部成員間的交流與信息共享。以客戶為中心的軟件項目開發(fā)的各個階段都要保持與客戶的溝通工作,溝通是否順利是影響項目成功的一個重要方面。在實際的軟件項目工作中,溝通更強調(diào)的是藝術(shù)性,需要有經(jīng)驗的、既懂得軟件工程的知識又懂得溝通技巧、做到既理解客戶需求又能指導(dǎo)項目進展的復(fù)合性人才。