的客戶需求往往是不完整的,甚至具有很大的片面性。除了隱含需求的定義比較困難以外,客戶本身也是影響需求質(zhì)量的一個重要因素。
1、客戶有不同的需要。一些客戶知道他們需要什么,而另外一些人知道他們不需要什么。一些客戶希望進(jìn)行詳細(xì)討論,而另外一些客戶則滿足于模糊的承諾。
2、客戶有不同的個性。
3、客戶和供應(yīng)商之間有著不同的通信方式。一些人非常熟悉產(chǎn)品以及生產(chǎn)廠商,而另外一些人則可能素未謀面,僅僅通過信件往來和幾個匆忙的電話與生產(chǎn)廠商溝通。
4、客戶也經(jīng)常是矛盾的。事實上,很少有客戶能夠明確的知道怎樣的一個系統(tǒng)對自己是最有益處的,他們往往在集中方案之間徘徊,于是經(jīng)常產(chǎn)生需求的變動。生產(chǎn)廠商經(jīng)常陷入客戶自己的矛盾之中。
客戶的負(fù)面影響可能對于能夠在預(yù)算內(nèi)按時完成項目產(chǎn)生很大的影響。盡管客戶需要對需求的質(zhì)量負(fù)責(zé)任,但是,當(dāng)一個軟件項目因為客戶事先沒有預(yù)料到的情況而導(dǎo)致失敗的時候,即使客戶不會追究開發(fā)方的責(zé)任,就軟件項目本身而言,也已經(jīng)是失敗的。
五、目前控制需求質(zhì)量的手段
目前,項目經(jīng)理和系統(tǒng)分析員主要通過聽證、評審、確認(rèn)等手段控制軟件需求的質(zhì)量。
聽證:主要是指通過正式或者非正式的渠道召開有關(guān)人員的會議,聽求大家對新的軟件系統(tǒng)的要求和意見。
評審:組織有關(guān)的專家對軟件需求進(jìn)行評價,指出目前的需求由那些不合理的地方,以及修改的意見等。評審一般發(fā)生在初步的軟件需求已經(jīng)形成以后。
確認(rèn):開發(fā)方將整理過的需求分析說明書交給客戶確認(rèn)。如果客戶認(rèn)可該需求分析說明書,就形成正式的需求分析文檔,并作為一個重要基線管理。
這些需求控制手段可以提高軟件需求的質(zhì)量,但是仍然無法保證需求是可用的。因為:
1、聽證會的參與者并不一定代表使用者的真實意圖。實踐中經(jīng)常遇到這樣的情況。即使他是目標(biāo)軟件的最主要使用者,他也經(jīng)常會遺忘一些他覺得是很基本的,而事實上對于軟件系統(tǒng)是很重要的細(xì)節(jié)。
2、參與評審的專家并不一定對軟件的最終質(zhì)量負(fù)責(zé),因此,他可能把工作的重點放在發(fā)現(xiàn)需求中的問題,而不是確認(rèn)需求是否可行。
3、客戶確認(rèn)只代表客戶對需求負(fù)責(zé)人,不代表客戶承認(rèn)需求的質(zhì)量。如果因為需求的質(zhì)量導(dǎo)致軟將項目無法進(jìn)展,客戶只能承擔(dān)經(jīng)濟(jì)上的責(zé)任,而項目小組并不能因此緩解軟件項目陷入的尷尬。
六、用逆向溝通改善需求的質(zhì)量
逆向溝通,就是在需求調(diào)研的過程中,除了了解客戶的情況,同時,向客戶提出一些建議,供客戶參考。
一般認(rèn)為,客戶在其所在的領(lǐng)域具有比較資深的經(jīng)歷,因此需要嚴(yán)格遵守客戶的意見。事實上,客戶雖然在其所在的領(lǐng)域內(nèi)很資深,但是,他們的角度是單純的業(yè)務(wù)流程,而不是從實現(xiàn)信息技術(shù)角度構(gòu)件的業(yè)務(wù)流程。因此,系統(tǒng)分析員要充分的說明對于實現(xiàn)一個業(yè)務(wù)系統(tǒng)而言,現(xiàn)有的業(yè)務(wù)流程應(yīng)該做如何的剪裁,以及需要注意哪些要點。
雖然,逆向溝通不能完全保證需求的質(zhì)量,有效的逆向溝通可以大大減少因為對業(yè)務(wù)流程的理解不一致而造成的需求質(zhì)量的下降。
七、逆向溝通的實現(xiàn)條件
1、熟悉業(yè)務(wù)流程的業(yè)務(wù)邏輯分析師
系統(tǒng)分析員熟悉業(yè)務(wù)流程是實現(xiàn)逆向溝通的前提。在進(jìn)入一個新的領(lǐng)域以前,系統(tǒng)分析員必須花費大量的經(jīng)歷,了解這個行業(yè)的狀況,行業(yè)的發(fā)展趨勢,行業(yè)內(nèi)企業(yè)的運(yùn)作模式,行業(yè)的目標(biāo)企業(yè)在這個行業(yè)所處的地位等信息。這些信息會為以后分析客戶的需求,了解需求的質(zhì)量