軟體開發專案範圍定義方法

更新 發佈閱讀 6 分鐘

說到專案管理,定義專案範圍是定義專案目標後,下一個關鍵的步驟。缺乏清晰且明確的範圍,會對專案後續管理造成不良的影響。本文會針對軟體開發專案,檢討專案的特性,由於而衍生定義範圍的方法,另外還有不先定義範圍,但照運行專案的方法。

何謂專案範圍及定義的困難

按照美國專案管理協會PMI所定義的專案範圍是:

專案範圍就是定義哪些工作應該包括在專案內,哪些不應該包括在內。

所謂包括在內的意思就是專案需要完成或者解決的事或問題。例如安裝某某系統、客製化修改某某功能等可算是軟體開發專案的一部份。當然在教科書上看似理所當然的內容,要在現實中實施並不容易。例如如果才能知道那些東西應該包括在專案之中?又有什麼東西是不應該包含在內?而且一般來說於專案的最開始,專案範圍很大概率只有需要系統的名稱,或者只有一些需要客製化的功能的名稱等。這種過於模糊的範圍並不能對專案造成很大的約束,專案的工作會因為用戶各種天馬行空的想像而增加專案所需的工作量。要知道應該如何才能定義清晰軟體開發專案的範圍,則必需先了解專案的特性

軟體開發專案的特性

軟體開發專案有一個跟其他種類專案十分不同的特性,它是一種重度跟業務綑綁的專案。意思是如果專案需要有清晰的範圍,需要重度了解業務相關的內容,例如客戶現在的業務流程、需要處理的資料的內容、他們面對的痛點有那些等。以上的困難必然會因為客戶的不同而有所差異。

要了解上述的內容,各位可以先想像一下,我們為何會決定使用一款軟體?原因會否是為了解決或改善某些事情的處理?例如記錄資料由使用筆記簿(實體)書寫的記錄改為把資料輸入至excel。再進一步改善的話可能使用某個系統來輸入、查詢並修改資料。以上資料處理的方式注定跟我們會如何處理資料及需要處理什麼資料是密不可分的。而不同人處理資料的方法幾乎不可能完全相同,因此在定義專案範圍時必需考慮上述的特性才能完成。

由於專案於最初的階段,並未跟系統使用者了解他們工作詳情。因此範圍是不可能作任何收斂的。最多只能收斂至系統或功能名稱而已。熟識軟體開發的人會清楚,項目主要的工作量取決於需要建立的邏輯的數量和複雜性。因此即使是同一個管理功能,為了滿足不同的邏輯,需要投入的資源必然並不盡相同。專案經理應該如何才能控制專案於範圍之內,讓專案不會超出預算,這就來到如何為專案定義範圍了。

軟體開發專案如何定義範圍

由於軟體開發專案的特性,其複雜性和不確定性主要存在於實施軟體的邏輯上,而且系統要對應的可能性也可以無限延伸。對於一個固定總價合約的專案來說,如果管理不善,很可能難以控制專案範圍,最終導致用戶不斷提出各種要求而難以作出阻止,或希望在跟用戶協商是否實施提出要求的時候沒有基線協助討論何謂範圍內或範圍外。

對於這種類型的專案,唯一且最好的方法就是一份詳盡且通過雙方審核同意的《系統規格說明書》了。該說明書需要明確的列出所有需求收集時收集回來的用戶需求。對於每一個或一組的用戶需求,明確跟用戶表達系統將如何滿足他們,並讓他們了解將會如何使用系統來處理日常工作。在雙方對系統的處理方式和邏輯達成共識後,把相關的邏輯記錄於系統規格說明書內,明確地把達成共識的關於系統的操作流程和邏輯作為驗收條件記錄在案。這能成為未來系統驗收時雙方的基礎,也能把範圍收斂至只需實施文件上記錄的內容。

由於《系統規格說明書》如此重要,一位有軟體開發和業務經驗的業務分析師就顯得十分重要。他需要帶領和引導開發團隊設計符合需求的軟體方案。如若文件中的邏輯沒有考慮異常情況的處理,或資料處理邏輯並不完善,則可能會導致專案於實施期間需要加插開發缺失或缺陷的邏輯,因而影響工期和專案成本。

不完整定義專案範圍來實施專案的方式

由於軟體開發專案以業務為導向的特性,因此需要業務用戶重度參與才能設計出一個平衡業務需求和專案限制的軟體。如果專案並沒有合資格的業務分析師,不能完整地把系統所有的邏輯都編寫成文件,那專案應該如何執行呢?

現實中還有另一個不使用上述說明書的方法,而這個方法完美貼合業務參與的特性的,它就是敏捷式開發。

敏捷式開發的意思不是快速地把系統開發出來,而是不繼地交付一部份系統給用戶使用。於專案的最初期,它不需要清晰的定義《系統規格說明書》,這種專案管理方式是跟客戶清晰的定義專案實施的時間。例如在專案最初就跟客戶約定專案為期三個月,而開發團隊約定每兩週給予部份系統功能給用戶檢視和使用。於這三個月期間,只要用戶對系統有什麼具體的需求,都能直接向開發團隊提出。而開發團隊於期間內致力滿足客戶的一切要求,務求讓客戶滿意及能實際解決他們所面對的問題。

敏捷式開發對於開發團隊來說,把思考和設計詳盡的系統規格切分開多個較為細小的部份。這無疑減低這項工作的困難程度,也能讓開發團隊集中於開發有價值的系統給客戶而非把時間浪費在文書上。另一方向,對於業務單位來講,也能減低他們在需求開發過程中,可能因為一時沒想起需沒有和開發團隊談及,或其後因業務流程的轉變衍生的需求更改的顧慮。

專案範圍定義是專案管理的基礎

專案經理必須要學會如何定義專案範圍,也必須能判斷團隊所提供的內容是否完整,並能夠採用成為實施專案的基礎。

留言
avatar-img
Seng Wong的沙龍
11會員
75內容數
閱讀是為了通過書本認識世界、獲取靈感和改善自己或身邊的人的生活。在此主要分享一些我自己從書中獲得的一些靈感、啟發、見解等內容
Seng Wong的沙龍的其他內容
2024/11/30
所謂的需求收集,並非只是「收集」客戶的所需而已。其實更多的時候是需要做各種試探,才能把更深層次的需要引出來。本編來分享一下在收集需求前我因沒有好好作準備,而在過程中苦苦掙扎所學到的教訓。
Thumbnail
2024/11/30
所謂的需求收集,並非只是「收集」客戶的所需而已。其實更多的時候是需要做各種試探,才能把更深層次的需要引出來。本編來分享一下在收集需求前我因沒有好好作準備,而在過程中苦苦掙扎所學到的教訓。
Thumbnail
2024/11/10
在專案管理領域,單靠學習課程或獲取證書並不足以成為成功的專案經理。缺乏實務經驗的管理者可能面臨諸多挑戰,包括解決團隊問題的能力、正確評估決策的好壞以及控制工作品質等。因此,實際的行業經驗和全面的專業知識在專案管理過程中顯得尤其重要。
Thumbnail
2024/11/10
在專案管理領域,單靠學習課程或獲取證書並不足以成為成功的專案經理。缺乏實務經驗的管理者可能面臨諸多挑戰,包括解決團隊問題的能力、正確評估決策的好壞以及控制工作品質等。因此,實際的行業經驗和全面的專業知識在專案管理過程中顯得尤其重要。
Thumbnail
2024/10/31
有沒有想過,「按步就班」的線性模式並不適合用來管理所有類型的專案呢?甚至應用錯誤的方式來管理會為專案帶來災難。本文會介紹那種特徵的專案比較適合使用線性模式來管理。希望專案經理們不要再使用不洽當的管理方式來管理專案了
Thumbnail
2024/10/31
有沒有想過,「按步就班」的線性模式並不適合用來管理所有類型的專案呢?甚至應用錯誤的方式來管理會為專案帶來災難。本文會介紹那種特徵的專案比較適合使用線性模式來管理。希望專案經理們不要再使用不洽當的管理方式來管理專案了
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
我們可能會有一種迷思,不管開發什麼系統,開發團隊都袛會有一種方式來工作。反正不管怎麼樣,系統最終也一定是能開發出來的。那麼選擇開發生命週期又跟我何干?本篇將會介紹專案經理應該如何為不同特性的專案選擇最合適的管理策略,即生命週期。
Thumbnail
我們可能會有一種迷思,不管開發什麼系統,開發團隊都袛會有一種方式來工作。反正不管怎麼樣,系統最終也一定是能開發出來的。那麼選擇開發生命週期又跟我何干?本篇將會介紹專案經理應該如何為不同特性的專案選擇最合適的管理策略,即生命週期。
Thumbnail
藉由本篇分享在推動工作、專案、計畫時的思維理則,並分成了七個步驟、21個要項。內容包含了蒐集、分析、比較、計畫、實施、查驗和行動等階段,涵蓋了從開始到結束的整個執行流程,希望對於企業管理者以及執行計畫的夥伴都有相當的幫助。
Thumbnail
藉由本篇分享在推動工作、專案、計畫時的思維理則,並分成了七個步驟、21個要項。內容包含了蒐集、分析、比較、計畫、實施、查驗和行動等階段,涵蓋了從開始到結束的整個執行流程,希望對於企業管理者以及執行計畫的夥伴都有相當的幫助。
Thumbnail
企業面對大專案時,將其分解成可執行的小任務,有助於實現目標。以提升銷售額為例,拆解為四個要素,並提供增加流量、轉換率、客單價和回購率的策略。另外,還必須設計可量化的指標及追蹤回饋。這些建議對於創作型工作和知識型工作者來說,同樣可以利用該策略來提高工作效率。
Thumbnail
企業面對大專案時,將其分解成可執行的小任務,有助於實現目標。以提升銷售額為例,拆解為四個要素,並提供增加流量、轉換率、客單價和回購率的策略。另外,還必須設計可量化的指標及追蹤回饋。這些建議對於創作型工作和知識型工作者來說,同樣可以利用該策略來提高工作效率。
Thumbnail
這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
Thumbnail
這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
Thumbnail
專案失敗以往被定義為超期、超預算或無法結案,但現今專案管理思維重新把失敗定義為未能產生預期價值。文章從產品經理、軟體設計和管理流程三方面提出對失敗專案的見解和解決方法。
Thumbnail
專案失敗以往被定義為超期、超預算或無法結案,但現今專案管理思維重新把失敗定義為未能產生預期價值。文章從產品經理、軟體設計和管理流程三方面提出對失敗專案的見解和解決方法。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
這篇文章探討了在專案開發中遇到的時間壓力和執行困難,以及如何無效應對這些挑戰。 沒有工時估算、客戶溝通、交付時間表設定、程式品質管理、工作量管理、合同和專業態度等方面的建議。
Thumbnail
這篇文章探討了在專案開發中遇到的時間壓力和執行困難,以及如何無效應對這些挑戰。 沒有工時估算、客戶溝通、交付時間表設定、程式品質管理、工作量管理、合同和專業態度等方面的建議。
Thumbnail
本文探討專案管理的真正意義,以及專案經理真正的價值是什麼。同時討論專案經理必修的最重要技能。
Thumbnail
本文探討專案管理的真正意義,以及專案經理真正的價值是什麼。同時討論專案經理必修的最重要技能。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News