測試的差錯還是設(shè)計的問題
瀏覽次數(shù):
“救火”
6月中旬的一天,嘉程軟件公司總經(jīng)理邱總在辦公室看著窗外久違的大雨,舒了口氣:經(jīng)過幾年的努力,公司學(xué)生考試系統(tǒng)和學(xué)生學(xué)籍管理系統(tǒng)在省里占據(jù)了絕對的市場份額,公司計劃在中小學(xué)教育信息化領(lǐng)域大展拳腳。就在這時,一陣急促的電話鈴聲響起了,邱總抓起電話,另一頭傳來了服務(wù)部馬經(jīng)理焦急的聲音:“邱總,不好了!中考學(xué)生的家長在各學(xué)校填報考信息時,信息無法上報到市教育局,無法打印回執(zhí),家長們都等在那里一段時間了,很有意見!”。邱總心里一陣緊張,趕緊指示:“我立即安排開發(fā)部人員到市教育局處理,請你們耐心做一下家長們的工作!”。
開發(fā)部李經(jīng)理帶了一名技術(shù)骨干趕赴現(xiàn)場,經(jīng)過近一小時的努力,終于排查出故障原因:系統(tǒng)對填報的報考信息要進行驗證,當(dāng)檢查有的信息不符合邏輯或錯誤時會退回會提醒重填。但系統(tǒng)運行時,對其中兩字段的錯誤信息檢查時進入死循環(huán),導(dǎo)致系統(tǒng)無法繼續(xù)進行數(shù)據(jù)處理。這完全是系統(tǒng)的一個重大BUG,經(jīng)過修改后,系統(tǒng)恢復(fù)運行,考生志愿終于能夠上報了,但這時系統(tǒng)又出現(xiàn)重復(fù)填報志愿的情況,經(jīng)過分析發(fā)現(xiàn)原來系統(tǒng)沒有撤消功能,另外,更改志愿后,原來的記錄未被覆蓋,李經(jīng)理趕緊把這一問題也解決了。
分析
事后,邱總召集相關(guān)人員開會分析這次嚴重的質(zhì)量事件,漢捷咨詢吳顧問也受邀參加了分析會。邱總希望分清責(zé)任,以免再次出現(xiàn)類似的情況。大家很自然把矛頭對準了測試部王經(jīng)理:“為何測試沒有把好關(guān)?是不是漏測了?相關(guān)測試人員責(zé)任心是不是有問題?……”。王經(jīng)理顯得非常委屈:“我已經(jīng)向測試人員做了調(diào)查,系統(tǒng)上線前我們完全是按照測試規(guī)范和事先確定的測試項目做的測試,結(jié)果都是OK的!系統(tǒng)出了問題就算到測試部門頭上,那我們以后的工作還怎么做?。?!”
服務(wù)部馬經(jīng)理聽后不以為然:“我們關(guān)鍵是要為客戶著想,測試部為什么不能從客戶應(yīng)用的角度進行運行測試?我們不要老是把有‘定時炸彈’的系統(tǒng)交給客戶使用??!”
王經(jīng)理也不示弱:“你以為測試部就不想把沒有問題的產(chǎn)品交給客戶?這樣我們也安心。但是,我們只是一個執(zhí)行部門,按照測試用例和規(guī)范完成測試是我們的責(zé)任,我們也無法保證系統(tǒng)不會出問題??!關(guān)于進行客戶運行測試的問題,需要方方面面配合,我也提出來過,但是與相關(guān)部門討論了一番,大家都覺得有困難,后面就不了了之了。我認為,開發(fā)部才是產(chǎn)品開發(fā)的主導(dǎo)部門......”
談到這里,大家才想起問題首先是設(shè)計出來的啊。面對大家投來的目光,開發(fā)部李經(jīng)理開始有點心虛:“我承認很多問題是開發(fā)人員設(shè)計不周或失誤造成的BUG,這是我們需要反思和改進的,開發(fā)人員也一直在努力中.....” 他想起開發(fā)人員這些年總是在疲于奔命,頓了頓:“開發(fā)人員既要忙于新系統(tǒng)的開發(fā),又要應(yīng)付系統(tǒng)維護、升級和出現(xiàn)的問題,難免有疏忽的時候,再說市場部給我們提供的客戶需求比較模糊,我們無法了解客戶的運行環(huán)境和全面的需求,比如這次出問題的系統(tǒng),填報志愿的撤消功能在需求中就沒有提出來。開發(fā)部名義上是主導(dǎo)部門,需要各部門配合的時候總是出現(xiàn)這樣那樣的問題,好象產(chǎn)品開發(fā)只是開發(fā)部門的事情,各部門都是幫忙的,想幫或者容易幫的時候就幫一下,不想幫的時候總能找到各種各樣的借口!”
看來問題還在源頭??!不過,市場部徐經(jīng)理出差在外,沒能參加會議,總不能責(zé)任都推到他身上去吧。這時,邱總發(fā)話了:“聽了大家發(fā)言,好象大家都有責(zé)任,又都沒有責(zé)任,即使有責(zé)任也可以推脫到別的部門,這樣下去看來問題是無法解決的。請聽聽漢捷吳顧問有何意見?!?/p>
吳顧問首先從一個例子來啟發(fā)大家的思考:“三個人一起種樹,分別負責(zé)挖坑、插樹苗、填土,如果樹苗沒有成活,應(yīng)用由誰來負責(zé)任?”
“要具體問題具體分析,看誰的工作出了差錯,各自要對自己的工作結(jié)果負責(zé).....”測試部王經(jīng)理搶著回答,大家似乎都贊同這種說法。
“吳顧問舉的例子其實就是我們公司現(xiàn)在遇到的問題:系統(tǒng)在運行中出了問題,是測試的差錯,還是設(shè)計的問題?或者是市場的問題?......大家討論了半天,好象都是別部門的責(zé)任,即使自己有 ? ?問題也是別人造成的,這樣下去問題就無解了。在我看來,系統(tǒng)運行不好,涉及到的每個部門都要承擔(dān)責(zé)任,就象剛才提到的例子中如果樹苗死了,三個人都要負責(zé),這樣才能促使大家去找自己的問題,并設(shè)法改進!”邱總的講話語氣越來越堅決。
“對!這就是共同責(zé)任或稱連帶責(zé)任的概念,從流程的角度看,就是流程中的每個部門或環(huán)節(jié)都要對流程的最終結(jié)果負責(zé)。系統(tǒng)運行中出了問題,這是我們每個部門共同的責(zé)任,是我們的問題,進一步來說就是我的問題。”吳顧問作了簡要總結(jié),又啟發(fā)到:“接下來,各部門能不能談?wù)劜块T工作中有哪些不足會導(dǎo)致產(chǎn)品開發(fā)的最終結(jié)果不好呢?”
反省
“其實,我們現(xiàn)在主要做的是系統(tǒng)測試,單元測試、集成測試、驗收測試基本上都沒有做起來,”測試部王經(jīng)理首先做起了反?。骸斑@樣導(dǎo)致很多問題測不出來,系統(tǒng)在運行中老是出問題,讓服務(wù)部門受委屈了!”
“是啊,開發(fā)項目組設(shè)計方面經(jīng)??紤]不周,由于周期緊匆匆忙忙就進入詳細設(shè)計和編碼階段,過去中評審很少或者流于形式,加上缺乏規(guī)范指導(dǎo),研發(fā)人員都比較年輕,我們的設(shè)計質(zhì)量是較差的!”開發(fā)部李經(jīng)理說到。
服務(wù)部馬經(jīng)理平時經(jīng)常處理客戶投訴,對開發(fā)部和測試部意見最大,聽到兩個部門都在做自我批評,說道:“服務(wù)部門直接面對客戶,系統(tǒng)出了問題我們很著急,難免對上游環(huán)節(jié)就有怨言,其實仔細想想光抱怨解決不了問題,服務(wù)部門應(yīng)該多把客戶關(guān)心的問題進行收集整理,反饋給開發(fā)小組,事先就提出系統(tǒng)在服務(wù)方面需要注意的問題,如果有條件,最好能開發(fā)前期服務(wù)人員就參與進去?!?/p>
“馬經(jīng)理說得很好!談到了兩個問題?!睗h捷吳顧問插話道:“一是并行開發(fā),即在產(chǎn)品開發(fā)初期各環(huán)節(jié)人員就都參與進去,并行開展設(shè)計、測試、服務(wù)、銷售、制造等各項工作并進行有效的協(xié)同,避免串行開發(fā)導(dǎo)致設(shè)計更改或返工、時間延誤、準備不足等問題。二是需求管理,服務(wù)環(huán)節(jié)也應(yīng)該作為一個很重要的客戶需求來源?!?/span>
談到需求管理,邱總說到:“需求管理一直是公司的薄弱環(huán)節(jié),也多次要求市場部加強。本來今天徐經(jīng)理要參會的,但臨時有個非常關(guān)鍵的銷售項目要談,等他回來我們再針對需求管理專門開一個會?!?/p>
“是得趕緊開這個會,”開發(fā)部李經(jīng)理顯得很是期待:“現(xiàn)在設(shè)計與市場脫節(jié)的問題比較嚴重,市場部往往只是告訴我們客戶需要這個那個,既不完整也比較模糊,開發(fā)人員就憑自己的理解去開發(fā)了。我們的開發(fā)人員有個毛病,不愿意去見客戶,覺得那是市場部的事情。”
“需求不明確、不準確是軟件產(chǎn)品失敗的主要原因!但如果大家就指望市場部來解決,那肯定會失望了?!睗h捷吳顧問提醒到:“目前的市場部并不是真正意義上的市場部,主要還是對銷售目標(biāo)負責(zé),需求工作擺在次要位置,而且更多是關(guān)注短期的需求......”
“那我們就單獨成立一個市場部,這樣問題是否就解決了呢?”邱總顯得有點急于找到答案。
“呵呵!如果成立單獨的市場部就能解決需求問題那就太好了!” 吳顧問笑了笑:“客戶需求這樣的復(fù)雜問題是無法只靠一個部門解決的:客戶需求來源就有多種渠道,需要相關(guān)環(huán)節(jié)都收集和反饋需求;需求訪談和需求分析活動需要市場、技術(shù)、服務(wù)等不同專業(yè)人員的相互合作;開發(fā)項目組應(yīng)在前期開展充分的需求分析活動,必要時還需要進行需求收集和訪談。其實,研發(fā)的很多問題都無法只靠一個部門解決,包括設(shè)計問題、測試問題、工藝問題等等。李經(jīng)理你說是吧?”
“是的!我們已經(jīng)開始意識到研發(fā)不應(yīng)該只是開發(fā)部門的事情,應(yīng)該由各部門共同來參與和負責(zé),但不知道如何做。”開發(fā)部李經(jīng)理回答道。
邱總:“那我們接下來討論一下解決方案吧!”
解決方案
“我想,需要加強各部門對研發(fā)項目的參與,還有就是前面吳顧問提到的,大家都要對最終結(jié)果負責(zé)?!崩罱?jīng)理首先提出了自己的想法。
“我們測試肯定全力配合你們開發(fā),首先配合開發(fā)人員把單元測試做起來,其次盡量在開發(fā)前期就參與,與開發(fā)人員一道制定測試計劃和測試用例?!睖y試部王經(jīng)理也表態(tài)。
服務(wù)部馬經(jīng)理:“如果開發(fā)人員一開始就能夠聽取我們的意見那就太好了,就怕開發(fā)人員認為開發(fā)是他們的事情,不關(guān)服務(wù)的事情,產(chǎn)品開發(fā)出來交給服務(wù)部門就行了。”
吳顧問:“馬經(jīng)理提到的是企業(yè)研發(fā)中的典型問題,只是從功能和性能實現(xiàn)的角度來定義研發(fā),所以開發(fā)人員認為只是他們的事情,這種看法是片面的和有害的。產(chǎn)品開發(fā)是為客戶開發(fā),應(yīng)該從客戶需求的角度來定義研發(fā)的內(nèi)容,客戶除了關(guān)心功能、性能外,還關(guān)心價格、服務(wù)、體驗、包裝、產(chǎn)品現(xiàn)象、營銷方式等,把客戶需要的這些作為一個整體稱之為產(chǎn)品包,所以產(chǎn)品開發(fā)應(yīng)該是產(chǎn)品包的開發(fā)?!?/p>
“既然是產(chǎn)品包開發(fā),那就不光是開發(fā)部門的事情,各部門參與進來就有依據(jù)了。”邱總很是興奮:“要讓各部門人員都參與開發(fā)項目組,共同配合做好產(chǎn)品包?!?/p>
“邱總的思路是對的!”漢捷吳顧問:“但是,僅僅建立包括各部門人員的開發(fā)項目組是否就夠了呢?”
“我原來服務(wù)的公司也成立了這樣的項目組?!崩罱?jīng)理若有所思地說:“但運行情況很不理想,除了技術(shù)人員,其它部門人員參與度很有限,還是各自為政,溝通困難,經(jīng)常扯皮,問題到了各部門經(jīng)理那里也很難協(xié)調(diào)解決,項目經(jīng)理感到很難做,吃力不討好?!?/p>
吳顧問:“這是弱矩陣結(jié)構(gòu)下的輕量級項目組開發(fā)模式,其實還是各部門各管一段地進行開發(fā),部門壁壘不可避免,如果缺乏前面提到的共同目標(biāo)和共同責(zé)任的意識,那協(xié)調(diào)溝通的問題就更嚴重了!”
“那到底如何解決呢?”邱總顯得有些焦急了。
“其實,通過前面的研討我們把問題都分析清楚了。針對這些問題,結(jié)合產(chǎn)品開發(fā)的目的和特點,”吳顧問頓了頓:“從思路上來看,應(yīng)該從樹立產(chǎn)品包概念、以產(chǎn)品市場成功為目標(biāo)、打破部門壁壘、構(gòu)建跨部門團隊、人員能力提升、建立研發(fā)規(guī)范幾個方面考慮。具體的解決方案包括思想意識宣貫、組織結(jié)構(gòu)調(diào)整、角色職責(zé)分配、跨部門PDT團隊組建、績效管理機制設(shè)計、資源及能力建設(shè)、產(chǎn)品開發(fā)流程設(shè)計、體系實施運行、優(yōu)化調(diào)整等多個方面。這是一個系統(tǒng)性的解決方案,過程中會涉及很多專業(yè)性問題,而且需要很強的推動力,所以最好借助專業(yè)咨詢機構(gòu)的幫助?!?/p>
“好,那我們就聘請漢捷咨詢來幫助!”邱總道。
相關(guān)推薦