從定制一個(gè)軟件項(xiàng)目到最終的實(shí)現(xiàn)不僅是個(gè)漫長的過程,也是充滿變數(shù)的過程,全面理解與正確領(lǐng)悟用戶需求演變的本質(zhì)與應(yīng)對的策略應(yīng)當(dāng)是需求分析人員所要具備的素質(zhì)。有理由認(rèn)為面向?qū)ο蟮睦砟罱档土碎_發(fā)過程的難度,但卻強(qiáng)化了需求分析在項(xiàng)目過程中的地位與作用。需求分析人員是否具備、是否能夠駕馭面向?qū)ο蟮母拍顚?xiàng)目的成功率關(guān)系會更加重大。下面就說明一下需求分析與項(xiàng)目風(fēng)險(xiǎn)的關(guān)系。
1.來自用戶的風(fēng)險(xiǎn)
投資者總是在摸索的過程中不斷調(diào)整自己的實(shí)現(xiàn)目標(biāo),盡管軟件開發(fā)商使盡渾身解數(shù)也跟不上用戶需求的變化,最終只能是疲于應(yīng)付敷衍了事。投資方的感覺是上當(dāng)受騙卻又無可奈何,開發(fā)商則抱怨用戶需求漫無邊界、任意變更。這種公說公有理、婆說婆有理的局面在合同條款中難分伯仲,不能說是兩敗俱傷,起碼也是各有苦衷。造成這種局面固然存在著客戶方的原因,但要把責(zé)任全部歸結(jié)給“上帝”似乎也有失公允,因?yàn)橛脩魧τ谟?jì)算機(jī)應(yīng)用畢竟是外行。現(xiàn)實(shí)地說問題解決的關(guān)鍵只能是提升自身的設(shè)計(jì)能力來化解這種項(xiàng)目過程中可能出現(xiàn)的危機(jī),所以需求分析在項(xiàng)目過程中的作用就像航標(biāo)或是舵手,一旦有所偏頗對項(xiàng)目過程影響重大。
“對象”作為最接近真實(shí)事物的載體,把主觀思維與客觀事物形成映射關(guān)系。通過這種映射把設(shè)計(jì)構(gòu)思的模式標(biāo)準(zhǔn)化,把實(shí)現(xiàn)的方式規(guī)范化,這就是“對象”在軟件設(shè)計(jì)過程中的作用。所以,需求分析過程中善于發(fā)現(xiàn)與發(fā)覺可以被歸結(jié)成“對象”的元素非常必要。它以體現(xiàn)為承載技術(shù)設(shè)計(jì)的單元載體,也可以被構(gòu)造成同時(shí)承載技術(shù)與業(yè)務(wù)的合成載體。面向?qū)ο蟮脑O(shè)計(jì)理念為軟件的開發(fā)開辟了一條前所未有的光明之路,但要想在這條路上走好,就要學(xué)會全面應(yīng)用并自由駕馭面向?qū)ο蟮睦砟睢R?guī)避項(xiàng)目過程中的風(fēng)險(xiǎn),應(yīng)當(dāng)是從需求構(gòu)架的構(gòu)思過程開始,而不是在設(shè)計(jì)過程中開始。
2.來自開發(fā)過程的風(fēng)險(xiǎn)
如果基于“面向過程”的開發(fā)理念,面對項(xiàng)目過程中源源不斷的用戶需求及頻繁的功能變更,會使開發(fā)效率、工程質(zhì)量與服務(wù)能力面臨著嚴(yán)峻的考驗(yàn)。進(jìn)度停滯不前、性能難以把握、可靠程度低、測試工作量大、整體成本失控等一系列的問題很可能發(fā)生,最終導(dǎo)致交付周期長、實(shí)施難度大、應(yīng)變能力差、相對壽命周期短的必然性后果。面向?qū)ο蟮恼T惑力就在于它能徹底改變這種困惑被動的局面。達(dá)到設(shè)計(jì)目標(biāo)的途徑可以有很多種,如果沒有得力的指導(dǎo)與約束,問題就會變得復(fù)雜起來。設(shè)計(jì)者常常會在仁者見仁、智者見智的抉擇中困惑不已,而客觀評價(jià)這些主觀構(gòu)思方面的優(yōu)劣并沒有多大的說服力,這里有技術(shù)上的原因,也有思維方式不同、習(xí)慣上的差別、視野視角的變化等原因。這往往是造成項(xiàng)目管理難度大、可控性不強(qiáng)的主要原因之一。
對于專業(yè)人士來說崇尚“陽春白雪”的高雅固然沒錯(cuò),但如果對“下里巴人”的技術(shù)不屑一顧也未必就是合理的選擇。因?yàn)椤瓣柎喊籽睍馕吨喑杀镜闹С?,如果“下里巴人”能夠兌現(xiàn)訂單也未必非要“陽春白雪”不可。技術(shù)的意義在于創(chuàng)造價(jià)值并兌現(xiàn)市場利益,當(dāng)企業(yè)面對市場的時(shí)候,駕馭技術(shù)的本質(zhì)并不在于技術(shù)本身,如何用盡量小的代價(jià)獲取相對好的市場回報(bào)才是技術(shù)價(jià)值的意義所在。推崇先進(jìn)的開發(fā)理念并不等同于對技術(shù)的迷信或盲目崇拜,技術(shù)對于企業(yè)來說只是一個(gè)生產(chǎn)手段,而不是研究的對象。忽略技術(shù)在企業(yè)過程中的作用并不妥當(dāng),但盲目追求技術(shù)上的先進(jìn)性也同樣具有極高的風(fēng)險(xiǎn)性。制定技術(shù)路線、把握技術(shù)介入的深刻程度都是決定項(xiàng)目盈利能力的控制要素。軟件企業(yè)中不能沒有技術(shù),但企業(yè)畢竟不是基礎(chǔ)技術(shù)的機(jī)構(gòu),這也是技術(shù)管理人員經(jīng)常容易步入的一個(gè)誤區(qū)。
在引入了面向?qū)ο蟮睦砟钪?,通過對象的封裝可以在很大程度上形成設(shè)計(jì)實(shí)現(xiàn)的客觀約束,從而避免過多的自由
發(fā)揮空間,使整個(gè)團(tuán)隊(duì)能夠沿著基本相同的設(shè)計(jì)方式完成設(shè)計(jì)任務(wù)。關(guān)于業(yè)務(wù)對象的抽象與封裝如果是從實(shí)現(xiàn)的過程中去總結(jié)摸索,將會是一個(gè)漫長而重復(fù)的實(shí)踐過程,如果在需求分析階段就能夠造出對象原型,對于有效屏蔽上述種種風(fēng)險(xiǎn)具有非常明顯的改進(jìn)效果,也就是說面向?qū)ο蠼^不僅僅是編程人員需要掌握的理念,需求分析人員對此理念的駕馭能力對項(xiàng)目的影響程度要比程序員多得多。
項(xiàng)目經(jīng)理勝任力免費(fèi)測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html