• 沒有找到結果。

導入「統一軟體開發流程」的優點及桃戰

二、 軟體專案開發與管理相關技術探討

2.1 開發技術「統一軟體開發流程」簡介

2.1.2 導入「統一軟體開發流程」的優點及桃戰

運用「統一軟體開發流程」於專案開發具有以下優點:

1. 「統一軟體開發流程」是結合理論與實務經驗的成果,且是在業界 已被廣泛驗證的開發方式,可用以輔助軟體開發,快速增進軟體開 發的品質。

2. 「統一軟體開發流程」以有組織、系統化的方式規劃軟體開發的製 程,提高不同開發者進行軟體開發的品質一致性。

3. 「統一軟體開發流程」以使用者案驅動,有效建立使用者與開發者 間的橋樑,並以視覺化的方式與使用者溝通需求。

4. 「統一軟體開發流程」以架構為中心,並搭配統一描述語言(UML) 作為軟體開發過程的表達方式,與開發者間資訊交流的有效工具,

並達成重要資訊保留的方式。

5. 「統一軟體開發流程」以反覆及增添方式進行軟體開發,改善傳統 軟體開發生命週期(Life-cycle)的重大缺點。

「統一軟體開發流程」解決了許多重要的軟體專案問題,但是直接 應用「統一軟體開發流程」於軟體開發專案仍存在許多挑戰如下:

1. 「統一軟體開發流程」著重於軟體開發問題的解決方案,然而許多 軟體開發專案的問題存在於專案管理上,「統一軟體開發流程」對 此部份問題相關著墨有限。

2. 「統一軟體開發流程」中提出許多先進行的觀念與作法,改善軟體 開發的品質(如:以反覆與增添方式進行開發),然而,此一作法有 別與傳統里程碑(Milestone)檢驗專案進度的方式,無疑增加了進行 開發工作的負擔。

3. 「統一軟體開發流程」完整規範了軟體開發的過程,可有效增強專 案的透明度,然而也需更巨細靡遺地進行專案規劃及控管,此舉對 傳統的專案經理(Project Manager)產生了重大的挑戰,如果沒有更 良好的管理技能訓練,在落實層面將遭遇困難。

4. 專案進度的透明度不佳:軟體開發專案不若其它產業的專案,如建 築業的專案,可以用一眼看出挖地基、搭建模板、堆砌磚塊數量…

等進度,軟體等進度,軟體開發專案常常必須等需求分析、系統設 計、程式撰寫階段完成後,才能明確知道專案進度,且對於其階段 品質,階段的過程中,對軟體開發專案進度往往只能用估計的方法 自由心證。

5. 專案成員異動:成員異動,補充不易,且補充的人對專案開發流程 及專案內容不熟悉,產生更多溝通問題。

6. 專案成員對專案成功要素(Critical Success Factor)的認知不一致:專 案成員對專案成功要素往往存在相當大的認知差異,有的認為如期 完成是最重要的,可能認為在預估成本內完成是最重要的,有的認 為符合使用者需求及沒有軟體缺陷(Bug)是最重要的,共識不足,

工作安排及執行均會產生溝通困難。

7. 脆弱的專案組織:專案成員(包含開發單位及需求單位)往往不是全 職參與專案,有其平時必須進行的既定任務或同時參加多個專案,

當多項工作同時進行時,常依個人或長官認知的優先度來安排工 作,造成專案工作進度掌握不易,因而牽一髮而動全身,造成相關 工作延遲。

8. 管理階層對專案要求不一致:由於缺乏一致的專案管理及文件標 準,造成管理階層對專案的要求不一致,造成專案經理人或專案參 與者的力量不能集中於專案的重要工作,必須花費很多力量作不同 型式的報表或紙上作業(Paper Work),因而分身乏術,這種情況尤 其出現在規模較大的軟體開發專案或已經發生時程延遲的專案上。

9. 軟體開發專案時程估計過於樂觀:軟體開發專案往往依專案經理的 經驗進行概念性估計,然而由於經驗所限或專案複雜度未被周詳考 量,導致軟體開發專案時程延誤履見不鮮。

10. 使用者對軟體成本觀念認知不佳:使用者對修改軟體的觀念往 往停留在"花一點時間改一下就好了",加上軟體開發專案的透明 程度不佳,頻頻提出修改需求,然而軟體的修改常牽涉到既定之後 續工作及資源規劃、設計的概念及標準、規劃好的軟體架構…等,

加上系統硬體的限制、要小心避免修改後衍生新問題、對其它功能 產生影響…等,因而造成軟體開發專案預算頻頻超支及時程的延

誤。

上述問題經分析為專案管理的管理性問題,針對以上問題於以下管理技 術「專案管理知識體系」進行探討,並提出解決方案。