測試的差錯還是設計的問題

發布日期:
2012-01-08

瀏覽次數:

“救火”

6月中旬的一天,嘉程軟件公司總經理邱總在辦公室看著窗外久違的大雨,舒了口氣:經過幾年的努力,公司學生考試系統和學生學籍管理系統在省里占據了絕對的市場份額,公司計劃在中小學教育信息化領域大展拳腳。就在這時,一陣急促的電話鈴聲響起了,邱總抓起電話,另一頭傳來了服務部馬經理焦急的聲音:“邱總,不好了!中考學生的家長在各學校填報考信息時,信息無法上報到市教育局,無法打印回執,家長們都等在那里一段時間了,很有意見!”。邱總心里一陣緊張,趕緊指示:“我立即安排開發部人員到市教育局處理,請你們耐心做一下家長們的工作!”。

開發部李經理帶了一名技術骨干趕赴現場,經過近一小時的努力,終于排查出故障原因:系統對填報的報考信息要進行驗證,當檢查有的信息不符合邏輯或錯誤時會退回會提醒重填。但系統運行時,對其中兩字段的錯誤信息檢查時進入死循環,導致系統無法繼續進行數據處理。這完全是系統的一個重大BUG,經過修改后,系統恢復運行,考生志愿終于能夠上報了,但這時系統又出現重復填報志愿的情況,經過分析發現原來系統沒有撤消功能,另外,更改志愿后,原來的記錄未被覆蓋,李經理趕緊把這一問題也解決了。

分析

事后,邱總召集相關人員開會分析這次嚴重的質量事件,漢捷咨詢吳顧問也受邀參加了分析會。邱總希望分清責任,以免再次出現類似的情況。大家很自然把矛頭對準了測試部王經理:“為何測試沒有把好關?是不是漏測了?相關測試人員責任心是不是有問題?……”。王經理顯得非常委屈:“我已經向測試人員做了調查,系統上線前我們完全是按照測試規范和事先確定的測試項目做的測試,結果都是OK的!系統出了問題就算到測試部門頭上,那我們以后的工作還怎么做啊?!”

服務部馬經理聽后不以為然:“我們關鍵是要為客戶著想,測試部為什么不能從客戶應用的角度進行運行測試?我們不要老是把有‘定時炸彈’的系統交給客戶使用啊!”

王經理也不示弱:“你以為測試部就不想把沒有問題的產品交給客戶?這樣我們也安心。但是,我們只是一個執行部門,按照測試用例和規范完成測試是我們的責任,我們也無法保證系統不會出問題啊!關于進行客戶運行測試的問題,需要方方面面配合,我也提出來過,但是與相關部門討論了一番,大家都覺得有困難,后面就不了了之了。我認為,開發部才是產品開發的主導部門......”

談到這里,大家才想起問題首先是設計出來的啊。面對大家投來的目光,開發部李經理開始有點心虛:“我承認很多問題是開發人員設計不周或失誤造成的BUG,這是我們需要反思和改進的,開發人員也一直在努力中.....” 他想起開發人員這些年總是在疲于奔命,頓了頓:“開發人員既要忙于新系統的開發,又要應付系統維護、升級和出現的問題,難免有疏忽的時候,再說市場部給我們提供的客戶需求比較模糊,我們無法了解客戶的運行環境和全面的需求,比如這次出問題的系統,填報志愿的撤消功能在需求中就沒有提出來。開發部名義上是主導部門,需要各部門配合的時候總是出現這樣那樣的問題,好象產品開發只是開發部門的事情,各部門都是幫忙的,想幫或者容易幫的時候就幫一下,不想幫的時候總能找到各種各樣的借口!”

看來問題還在源頭啊!不過,市場部徐經理出差在外,沒能參加會議,總不能責任都推到他身上去吧。這時,邱總發話了:“聽了大家發言,好象大家都有責任,又都沒有責任,即使有責任也可以推脫到別的部門,這樣下去看來問題是無法解決的。請聽聽漢捷吳顧問有何意見。”

吳顧問首先從一個例子來啟發大家的思考:“三個人一起種樹,分別負責挖坑、插樹苗、填土,如果樹苗沒有成活,應用由誰來負責任?”

“要具體問題具體分析,看誰的工作出了差錯,各自要對自己的工作結果負責.....”測試部王經理搶著回答,大家似乎都贊同這種說法。

“吳顧問舉的例子其實就是我們公司現在遇到的問題:系統在運行中出了問題,是測試的差錯,還是設計的問題?或者是市場的問題?......大家討論了半天,好象都是別部門的責任,即使自己有 ? ?問題也是別人造成的,這樣下去問題就無解了。在我看來,系統運行不好,涉及到的每個部門都要承擔責任,就象剛才提到的例子中如果樹苗死了,三個人都要負責,這樣才能促使大家去找自己的問題,并設法改進!”邱總的講話語氣越來越堅決。

“對!這就是共同責任或稱連帶責任的概念,從流程的角度看,就是流程中的每個部門或環節都要對流程的最終結果負責。系統運行中出了問題,這是我們每個部門共同的責任,是我們的問題,進一步來說就是我的問題。”吳顧問作了簡要總結,又啟發到:“接下來,各部門能不能談談部門工作中有哪些不足會導致產品開發的最終結果不好呢?”

反省

“其實,我們現在主要做的是系統測試,單元測試、集成測試、驗收測試基本上都沒有做起來,”測試部王經理首先做起了反省:“這樣導致很多問題測不出來,系統在運行中老是出問題,讓服務部門受委屈了!”

“是啊,開發項目組設計方面經常考慮不周,由于周期緊匆匆忙忙就進入詳細設計和編碼階段,過去中評審很少或者流于形式,加上缺乏規范指導,研發人員都比較年輕,我們的設計質量是較差的!”開發部李經理說到。

服務部馬經理平時經常處理客戶投訴,對開發部和測試部意見最大,聽到兩個部門都在做自我批評,說道:“服務部門直接面對客戶,系統出了問題我們很著急,難免對上游環節就有怨言,其實仔細想想光抱怨解決不了問題,服務部門應該多把客戶關心的問題進行收集整理,反饋給開發小組,事先就提出系統在服務方面需要注意的問題,如果有條件,最好能開發前期服務人員就參與進去。”

“馬經理說得很好!談到了兩個問題。”漢捷吳顧問插話道:“一是并行開發,即在產品開發初期各環節人員就都參與進去,并行開展設計、測試、服務、銷售、制造等各項工作并進行有效的協同,避免串行開發導致設計更改或返工、時間延誤、準備不足等問題。二是需求管理,服務環節也應該作為一個很重要的客戶需求來源。”

談到需求管理,邱總說到:“需求管理一直是公司的薄弱環節,也多次要求市場部加強。本來今天徐經理要參會的,但臨時有個非常關鍵的銷售項目要談,等他回來我們再針對需求管理專門開一個會。”

“是得趕緊開這個會,”開發部李經理顯得很是期待:“現在設計與市場脫節的問題比較嚴重,市場部往往只是告訴我們客戶需要這個那個,既不完整也比較模糊,開發人員就憑自己的理解去開發了。我們的開發人員有個毛病,不愿意去見客戶,覺得那是市場部的事情。”

“需求不明確、不準確是軟件產品失敗的主要原因!但如果大家就指望市場部來解決,那肯定會失望了。”漢捷吳顧問提醒到:“目前的市場部并不是真正意義上的市場部,主要還是對銷售目標負責,需求工作擺在次要位置,而且更多是關注短期的需求......”

“那我們就單獨成立一個市場部,這樣問題是否就解決了呢?”邱總顯得有點急于找到答案。

“呵呵!如果成立單獨的市場部就能解決需求問題那就太好了!” 吳顧問笑了笑:“客戶需求這樣的復雜問題是無法只靠一個部門解決的:客戶需求來源就有多種渠道,需要相關環節都收集和反饋需求;需求訪談和需求分析活動需要市場、技術、服務等不同專業人員的相互合作;開發項目組應在前期開展充分的需求分析活動,必要時還需要進行需求收集和訪談。其實,研發的很多問題都無法只靠一個部門解決,包括設計問題、測試問題、工藝問題等等。李經理你說是吧?”

“是的!我們已經開始意識到研發不應該只是開發部門的事情,應該由各部門共同來參與和負責,但不知道如何做。”開發部李經理回答道。

邱總:“那我們接下來討論一下解決方案吧!”

解決方案

“我想,需要加強各部門對研發項目的參與,還有就是前面吳顧問提到的,大家都要對最終結果負責。”李經理首先提出了自己的想法。

“我們測試肯定全力配合你們開發,首先配合開發人員把單元測試做起來,其次盡量在開發前期就參與,與開發人員一道制定測試計劃和測試用例。”測試部王經理也表態。

服務部馬經理:“如果開發人員一開始就能夠聽取我們的意見那就太好了,就怕開發人員認為開發是他們的事情,不關服務的事情,產品開發出來交給服務部門就行了。”

吳顧問:“馬經理提到的是企業研發中的典型問題,只是從功能和性能實現的角度來定義研發,所以開發人員認為只是他們的事情,這種看法是片面的和有害的。產品開發是為客戶開發,應該從客戶需求的角度來定義研發的內容,客戶除了關心功能、性能外,還關心價格、服務、體驗、包裝、產品現象、營銷方式等,把客戶需要的這些作為一個整體稱之為產品包,所以產品開發應該是產品包的開發。”

“既然是產品包開發,那就不光是開發部門的事情,各部門參與進來就有依據了。”邱總很是興奮:“要讓各部門人員都參與開發項目組,共同配合做好產品包。”

“邱總的思路是對的!”漢捷吳顧問:“但是,僅僅建立包括各部門人員的開發項目組是否就夠了呢?”

“我原來服務的公司也成立了這樣的項目組。”李經理若有所思地說:“但運行情況很不理想,除了技術人員,其它部門人員參與度很有限,還是各自為政,溝通困難,經常扯皮,問題到了各部門經理那里也很難協調解決,項目經理感到很難做,吃力不討好。”

吳顧問:“這是弱矩陣結構下的輕量級項目組開發模式,其實還是各部門各管一段地進行開發,部門壁壘不可避免,如果缺乏前面提到的共同目標和共同責任的意識,那協調溝通的問題就更嚴重了!”

“那到底如何解決呢?”邱總顯得有些焦急了。

“其實,通過前面的研討我們把問題都分析清楚了。針對這些問題,結合產品開發的目的和特點,”吳顧問頓了頓:“從思路上來看,應該從樹立產品包概念、以產品市場成功為目標、打破部門壁壘、構建跨部門團隊、人員能力提升、建立研發規范幾個方面考慮。具體的解決方案包括思想意識宣貫、組織結構調整、角色職責分配、跨部門PDT團隊組建、績效管理機制設計、資源及能力建設、產品開發流程設計、體系實施運行、優化調整等多個方面。這是一個系統性的解決方案,過程中會涉及很多專業性問題,而且需要很強的推動力,所以最好借助專業咨詢機構的幫助。“

“好,那我們就聘請漢捷咨詢來幫助!”邱總道。


相關推薦