項(xiàng)目需求分析,看了聽棠的“客戶需求何時(shí)休”,深有感觸,何曾自己不是被這個(gè)問題整天困擾:客戶需求,為什么總在變阿?做項(xiàng)目真辛苦阿!這樣的感嘆整天都掛在口上??蛻粜枨笞儎?dòng)確實(shí)是一個(gè)軟件開發(fā)永遠(yuǎn)不變的話題。為什么小的軟件企業(yè)面對(duì)經(jīng)常變動(dòng)的需求是如此的狼狽?到底要怎么做才能滿足客戶的需求?
聽棠的“客戶需求何時(shí)休”深刻的披露了這個(gè)問題存在的根源。
需求分析,不僅僅是拿到客戶的需求,更重要的是還需進(jìn)行分析,了解細(xì)節(jié),并就細(xì)節(jié)跟客戶咨詢,獲取最詳細(xì)的資料??蛻羲芴峁┙o你的只是他們想到的功能需求,很多問題并不在他們考慮的范圍之內(nèi),如果作為項(xiàng)目承擔(dān)方?jīng)]有去做分析,簡單的按照功能要求去設(shè)計(jì)、規(guī)劃,最終出來的系統(tǒng)是很難完全符合客戶的業(yè)務(wù)流程的,這時(shí),自然需要更改,被看成了需求的更改。其實(shí),都是缺乏分析所一手造成的。問題等到系統(tǒng)出來了才被發(fā)現(xiàn),這樣的系統(tǒng)本身就是先天不足的了。
聽棠所說到的幾點(diǎn),感受特別深:
“其實(shí)問題出在開頭,客戶需求只是軟件需求分析的一部分,雖然是比較重要的一部分,但也不要只是去記客戶的需求,而是要把客戶的需求進(jìn)行分析”
“客戶本身是不怎么懂技術(shù)的,客戶只知道自己的業(yè)務(wù)需求,而在軟件設(shè)計(jì)時(shí),是在把業(yè)務(wù)需求抽象到系統(tǒng)中實(shí)現(xiàn)的,把業(yè)務(wù)轉(zhuǎn)變?yōu)檫壿嫊r(shí),一切都應(yīng)該符合邏輯的,但客戶的業(yè)務(wù)思想有時(shí)候在軟件系統(tǒng)實(shí)現(xiàn)時(shí)會(huì)有問題的,這就需要分析時(shí)分析出來的。少了分析,問題也會(huì)在后面的開發(fā)中暴露出來,到時(shí)可就更麻煩了?!?/P>
還有客戶的需求本身會(huì)有矛盾(這矛盾是指在邏輯角度來講),客戶本身是意識(shí)不到的,只有在分析設(shè)計(jì)時(shí),才會(huì)分析出這里的矛盾,而這些問題,如果在期初時(shí),軟件負(fù)責(zé)人不分析,而是純粹的“聽從”客戶要求去做,當(dāng)暴露這些問題時(shí),你怪客戶也沒用啊。
項(xiàng)目需求分析報(bào)告,在了解客戶需求時(shí),不要不動(dòng)腦子,不要一味的點(diǎn)頭說“I C”,其實(shí)在表面的業(yè)務(wù)里面可能包含著N多的細(xì)節(jié),這些細(xì)節(jié)是需要你反問客戶的,只有當(dāng)你提的問題越多,最終獲取的需求最具體,才能讓項(xiàng)目越順利。而且有很多問題,都是在你的反問中,客戶也才開始思考本來沒思考過的問題,客戶也會(huì)找到一種合理的需求給你,有人會(huì)覺得這樣了解客戶需求未免太麻煩了。至于一些在技術(shù)上會(huì)遇到問題的地方,也要告訴客戶,別以為到時(shí)候再說,客戶是不關(guān)心你的技術(shù)細(xì)節(jié)的,但你如果給他解釋的話,他也會(huì)試著理解的。
客戶的需求本身是無休止,因?yàn)樗麄儽旧硪苍谧儯?dāng)你期初的分析合理,后面的變動(dòng)也將在邏輯上變動(dòng),相信代價(jià)已經(jīng)不會(huì)那么大了。這其實(shí)也體現(xiàn)了系統(tǒng)的擴(kuò)展性。
需求分析,是一個(gè)項(xiàng)目提出方和承擔(dān)方相互溝通的過程,一方是系統(tǒng)的使用者,一方是系統(tǒng)的制造者,在系統(tǒng)制造過程中,只有雙方相互配合,共同對(duì)系統(tǒng)進(jìn)行設(shè)計(jì)才能最后達(dá)到使用的要求??蛻羰菢I(yè)務(wù)上的熟悉者,對(duì)業(yè)務(wù)流程有非常清晰的了解,但是,對(duì)于軟件需求方面的描述是不了解的,他們所能提供的只是他們最終要達(dá)到的功能,但是,這其中包含的業(yè)務(wù)流程是非常復(fù)雜的。我們拿到客戶需求后,應(yīng)該根據(jù)功能、流程進(jìn)行初步的設(shè)計(jì),構(gòu)造出業(yè)務(wù)流程圖,再讓客戶進(jìn)行評(píng)審,提出業(yè)務(wù)流程上不對(duì)的地方進(jìn)行修改。這樣來回的交流,最終才能取得較全面的需求,并減少后期的修改。
謹(jǐn)記一點(diǎn),需求是經(jīng)常變動(dòng)的,只有先做好需求的分析,了解業(yè)務(wù)以后的發(fā)展趨勢,做好具有拓展性的系統(tǒng)設(shè)計(jì),才會(huì)給系統(tǒng)更大的擴(kuò)展空間,從而在需求發(fā)生變化的時(shí)候可以更從容的修改。