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