UML软件工程组织

用可行性研究論證您的專案
Scott W. Ambler
Ronin International
公司總裁
2000 8 24
在任何專案的開始階段,專案組都要為專案的總體工作做一些準備工作。在 Rational Unified ProcessRUP)和物件導向的軟體過程(OOSP)中,這個階段稱為啟動階段。本階段,我們考慮如何確定一個專案是否值得啟動。本文由《Process Patterns》的第五章改編而來。

啟動專案的一個重要環節就是對專案進行論證;也就是說,確定是否應該立項。遺憾的是,論證經常是完成得最差的一項任務。85% 以上的大型專案以失敗告終(請參閱參考資源中的《Patterns of Software Systems Failure and Success》一書),這一事實表明大多數專案在論證階段就應該中止,而不是在為其作了大量投資(並造成損失)之後。論證階段的主要目標是,確定專案的最佳實施方案,如果存在這樣的方案,還要論證它為什麼是最佳的。

1 描繪了針對論證階段的過程模型的解決方案。論證專案時需要完成幾項工作,論證專案的主要結果便是可行性研究。為了進行可行性研究,您將重復下列步驟:

 

1. 論證階段的過程模型

確定可選的實施方案
可行性研究的第一階段是確定專案潛在的可選實施方案。與流行的觀點正好相反,實現應用時總有多種選擇,包括什麼都不做、使用多種技術實現它、購買一種類似的系統或者將開發工作外包。重要的是,為您的專案確定幾個可行的可選實施方案,以便您進行評估和比較,從而最終為自己的公司選擇最佳的實施方案。

評估經濟可行性
在評估一項可選實施方案的經濟可行性時,要回答的基本問題是,
該應用何時能收回成本?您可以通過進行成本/收益分析來回答這個問題。顧名思義,成本/收益分析就是將應用的全部實際成本與其全部實際財務收益相比較。在《The Squandered Computer》一書中(請參閱
參考資源),Strassmann 指出,應該根據可選方案對淨現金流量 即收益超過成本的總金額 的貢獻來評價各個方案,因為所有投資的首要目標就是提高公司的整體業績。

評估技術可行性
除了經濟可行性之外,您還必須確定每項可選實施方案的技術可行性。此時需要回答的基本問題是,
是否能夠創建該應用?首先,您必須調研該專案要使用的各項技術。技術方面的問題在於,每項技術在行銷演示中都能完美地完成工作,而一旦將它購買回來,往往又是另一種情況。因此,您應該鑒定每一種可供選擇的技術。請注意,為了進行合理的評估,您可能需要實現一個微型專案,並且創建一個概念驗證 (proof-of-concept) 原型來檢驗這些技術是否能協同工作。這是 RUP 的描述階段的基本任務,它可能持續幾周或者幾個月,但是只有在檢驗出您選擇的技術能否協同工作時才會體現出它的價值。

評估運行可行性
一個應用不應該在經濟和技術上行得通,它還必須在運行上行得通。此時要回答的問題的,
應用一旦成為產品,是否能夠對該應用提供維護和支援?創建一個應用與運行一個應用完全是兩碼事;因此,您必須確定是否能夠有效地運行和支援它。

選擇一項可選方案
一旦完成對每項可選實施方案的經濟、技術和運行可行性評估,就應該從中選擇一種實施方案。請記住
可行性研究的目標是,比較和對比各項可選實施方案,提出一個最佳的實施方案。執行該項任務的第一步是,排除任何在經濟上、技術上或者運行上不可行的方案。這意味著您可能沒有剩下任何可選方案。但是什麼都不做可能也是不可行的,它意味著您必須從頭再來,鑒定更多的可選方案。如果只剩下一個可選方案,則很容易做出決策;如果最後剩下多個可選方案,則必須選擇一個最適合您的公司的實施方案。您還可以只確定可行的可選方案,而將決策權留給上級主管部門。

確定潛在的風險
專案論證工作包括定義潛在的風險,特別是那些與專案的技術和運行可行性相關的潛在風險。關鍵的一點是應該將它們加入您的風險評估文檔,以便在專案實施過程中能夠妥善處理它們,這也是今後的技巧要討論的主題。

參考資源
關於過程模型和
Rational Unified Process 的詳細資訊,請參閱:

作者簡介
Scott W. Ambler Ronin International 公司的總裁,這是一家諮詢公司,專門從事物件導向軟體過程的指導、體系結構建模和 Enterprise JavaBeans (EJB) 的開發。他編著或與人合著了幾本關於物件導向開發的論著,包括最近發行的《The Object Primer 2nd Edition》,該書詳細論述了本文所概述的主題。可以通過 scott.ambler@ronin-intl.com 與他聯繫,或者訪問他的網站:www.ambysoft.com

 

 

版权所有:UML软件工程组织