做項(xiàng)目的時(shí)候,我們都有很好的計(jì)劃,也在不斷的強(qiáng)化風(fēng)險(xiǎn)承受力等等~~~ 但事實(shí)上,Devolpment完了,到了test和UAT的時(shí)候了,通常時(shí)間處于這個(gè)階段的時(shí)間都比計(jì)劃安排或者領(lǐng)導(dǎo)認(rèn)為需要的時(shí)間要長的多。程序員一次又一次的收到bug report 和new changes。這里面new changes 當(dāng)然是新添加的修改了,可以要客戶再算錢的,bug不是了。的程序員團(tuán)隊(duì)的code中一般的range異常阿,null異常阿,分支阿,算法阿等等真正的技術(shù)bug是很少的。常見的,也難修改的是logic error和實(shí)現(xiàn)情況與真正需求不一致。

  讓整個(gè)團(tuán)隊(duì)懊惱的是實(shí)現(xiàn)和真正需求不一致的情況,程序員抱怨:需求文檔明明是這么寫的,我這么做是對的。需求分析人員則抱怨更多,我明明是這么寫的,怎么他們做成了那個(gè)樣子啊?客戶當(dāng)初是這么說的啊,怎么現(xiàn)在到測試了,他們說不是這個(gè)意思啊,都快變的面目全非了?.......

  總結(jié)一下個(gè)人對于實(shí)現(xiàn)與需求不一致現(xiàn)象出現(xiàn)的原因:

  1、需求文檔表述不明確,這個(gè)包含2個(gè)意思,一是需求條款含義模糊;二是需求信息不全面。這導(dǎo)致分析人員與設(shè)計(jì)人員理解出現(xiàn)較大偏差。而且,一般公司如果有專業(yè)的分析人員和職位,他們做完一個(gè)項(xiàng)目的分析后可能馬上接收下一個(gè)項(xiàng)目的需求了,這導(dǎo)致在開發(fā)中間需要需求再討論和澄清的時(shí)候,分析員可能自己都不能完全確定需求或者表示錯(cuò)誤了。

  2、需求挖掘不深,記錄的未能表達(dá)客戶真正需要的。這通常表現(xiàn)為將產(chǎn)品拿到客戶那里測試時(shí),客戶沒看完幾眼,說:這個(gè)***怎么是這樣的? 這個(gè)報(bào)表要加*** ........

  3、分析人員未能引導(dǎo)客戶那邊決策人員與實(shí)際操作人員的需求統(tǒng)一。這表現(xiàn)為時(shí)常的,我們按照客戶項(xiàng)目負(fù)責(zé)人的表述完成了需求分析。后UAT的時(shí)候幾乎都是由實(shí)際的操作人員參入的,于是很多操作人員開始7嘴8舌的表述自己的要求 ?蛻舻捻(xiàng)目負(fù)責(zé)人在這時(shí)候表現(xiàn)出極高的尊重下屬意見的素質(zhì):這個(gè)是他們用的,當(dāng)然他們都說是那樣,當(dāng)然要改成那個(gè)樣子了,不然我買來干嘛~~~~ 云云

  4、不斷的發(fā)現(xiàn)問題和小修小改,導(dǎo)致后如果要查詢一個(gè)部分的終詳細(xì)需求,可能需要參考n個(gè)相關(guān)文檔.人之常情,即使假設(shè)所有人都知道這些文檔并能獲得,那也不如去找一個(gè)人問,所以問下 程序經(jīng)理/分析人員/項(xiàng)目經(jīng)理,而對被改動(dòng)過的需求,他們(被問者)是否都對修改了然于胸呢?算他/她很明確,他/她的表述力如何?

  出現(xiàn)test和UAT不斷延期的狀況后影響是極大的,幾乎你見到的每個(gè)人都在抱怨.領(lǐng)導(dǎo)開始不滿,怎么拖了這么久阿,原計(jì)劃將人馬投入下一個(gè)項(xiàng)目的計(jì)劃不得不變更了.項(xiàng)目成本不斷增加,而項(xiàng)目的總訂單額倒不一定增加了多少.程序員開始在bug-fix的過程中情緒低落,因?yàn)轫?xiàng)目拖的久了,修改的東西有沒有新意,而且對所有人都一樣的會(huì)催化情緒的是,要做的(實(shí)現(xiàn)的)變來變?nèi)?分析人員面對著壓力,但很多人會(huì)把責(zé)任推到程序員和客戶.項(xiàng)目經(jīng)理為倍受煎熬.一個(gè)現(xiàn)象也可能出現(xiàn)了: 加班,加班,再加班.....

  那么我們應(yīng)該怎樣來減少這種事件的概率呢?這里列舉1,2所想:

  1、需求表述一定要保留文字描述,不要以為使用了OOA和UML后不寫描述性需求了。

  2、需求表述每項(xiàng)盡量簡短明確,意思單一,進(jìn)出。

  3、分析人員要保管好未整理前的需求調(diào)研材料。

  4、分析人員對需求的理解盡量要達(dá)到與分析人員每一項(xiàng)都一樣,可以采用講解,復(fù)述,確認(rèn)等手段。

  5、分析人員好能在詳細(xì)設(shè)計(jì)文檔初步完成后和設(shè)計(jì)人員一起討論確認(rèn)詳細(xì)設(shè)計(jì)。

  6、保持紀(jì)錄和維護(hù)需求文檔.這一點(diǎn)非常重要。