從訂製一個軟體專案到最終的實現不僅是個漫長的過程,也是充滿變數的過程,全面理解與正確領悟用戶需求演變的本質與應對的策略應當是需求分析人員所要具備的素質。有理由認為面向對象的理念降低了開發過程的難度,但卻強化了需求分析在專案過程中的地位與作用。需求分析人員是否具備、是否能夠駕馭面向對象的概念對專案的成功率關係會更加重大。下面就說明一下需求分析與專案風險的關係。

 

analysis 1

一、來自用戶的風險

投資者總是在摸索的過程中不斷調整自己的實現目標,盡管軟體開發商使盡渾身解數也跟不上用戶需求的變化,最終只能是疲於應付敷衍了事。投資方的感覺是上當受騙卻又無可奈何,開發商則抱怨用戶需求漫無邊界、任意變更。這種公說公有理、婆說婆有理的局面在合同條款中難分伯仲,不能說是兩敗俱傷,起碼也是各有苦衷。造成這種局面固然存在著客戶方的原因,但要把責任全部歸結給“上帝”似乎也有失公平,因為用戶對於計算機應用畢竟是外行。現實的說問題解決的關鍵只能是提升自身的設計能力來化解這種專案過程中可能出現的危機,所以需求分析在專案過程中的作用就像航標或是舵手,一旦有所偏頗對專案過程影響重大。

“對象”作為最接近真實事物的載體,把主觀思維與客觀事物形成映射關系。通過這種映射把設計構思的模式標準化,把實現的方式規範化,這就是“對象”在軟體設計過程中的作用。所以,需求分析過程中善於發現與發覺可以被歸結成“對象”的元素非常必要。它以體現為承載技術設計的單元載體,也可以被構造成同時承載技術與業務的合成載體。面向對象的設計理念為軟體的開發開闢了一條前所未有的光明之路,但要想在這條路上走好,就要學會全面應用並自由駕馭面向對象的理念。規避專案過程中的風險,應當是從需求構架的構思過程開始,而不是在設計過程中開始。

analysis 2

二、來自開發過程的風險

如果基於“面向過程”的開發理念,面對專案過程中源源不斷的用戶需求及頻繁的功能變更,會使開發效率、工程質量與服務能力面臨著嚴峻的考驗。進度停滯不前、性能難以把握、可靠程度低、測試工作量大、整體成本失控等一系列的問題很可能發生,最終導致交付周期長、實施難度大、應變能力差、相對壽命周期短的必然性後果。面向對象的誘惑力就在於它能徹底改變這種困惑被動的局面。達到設計目標的途徑可以有很多種,如果沒有得力的指導與約束,問題就會變得複雜起來。設計者常常會在仁者見仁、智者見智的抉擇中困惑不已,而客觀評價這些主觀構思方面的優劣並沒有多大的說服力,這里有技術上的原因,也有思維方式不同、習慣上的差別、視野視角的變化等原因。這往往是造成專案管理難度大、可控性不強的主要原因之一。

對於專業人士來說崇尚“陽春白雪”的高雅固然沒錯,但如果對“下里巴人”的技術不屑一顧也未必就是合理的選擇。因為“陽春白雪”會意味著更多成本的支出,如果“下里巴人”能夠兌現訂單也未必非要“陽春白雪”不可。技術的意義在於創造價值並兌現市場利益,當企業面對市場的時候,駕馭技術的本質並不在於技術本身,如何用盡量小的代價獲取相對好的市場回報才是技術價值的意義所在。推崇先進的開發理念並不等同於對技術的迷信或盲目崇拜,技術對於企業來說只是一個生產手段,而不是研究的對象。忽略技術在企業過程中的作用並不妥當,但盲目追求技術上的先進性也同樣具有極高的風險性。技術路線、把握技術介入的深刻程度都是決定專案盈利能力的控制要素。軟體企業中不能沒有技術,但企業畢竟不是基礎技術的機構,這也是技術管理人員經常容易步入的一個誤區。

analysis 3

在引入了面向對象的理念之後,通過對象的封裝可以在很大程度上形成設計實現的客觀約束,從而避免過多的自由發揮空間,使整個團隊能夠沿著基本相同的設計方式完成設計任務。關於業務對象的抽象與封裝如果是從實現的過程中去總結摸索,將會是一個漫長而重複的實踐過程,如果在需求分析階段就能夠造出對象原型,對於有效屏蔽上述種種風險具有非常明顯的改進效果,也就是說面向對象絕不僅僅是編程人員需要掌握的理念,需求分析人員對此理念的駕馭能力對專案的影響程度要比程式人員多得多。

 

文章節錄:中國項目管理者聯盟

圖片來源:1 2 3

 

ProjectClub 平台聚焦於提昇職場人溝通軟技巧與做事硬實力,提升您的超級競爭力讓您Work Hard 到 Work Smart

comments

登入

會員消息

最新消息 (站長有話跟你說)

線上直播專區

■追蹤PM編『互動圖文』讓你無痛學習

■註冊為新會員可以獲得專案點數10點

■不要用手機下載範本!

■記得每天登入有一點,

■怎麼註冊?怎麼輸入點數序號?

■忘記密碼嗎?快點來信

■找文章請善用『搜尋』功能

■點我闖關搶點數~

■點我去範本軍火庫