摘自http://www.51testing.com/html/81/n-3721981.html
1、軟件公司存在的問題
目前很多軟件公司都存在下面一些問題:
公司的產(chǎn)品質(zhì)量很難穩(wěn)定渐扮,到了客戶那里總是出現(xiàn)很多問題柑贞,他們的高手經(jīng)常去客戶那里現(xiàn)場(chǎng)救火嫂伞。
產(chǎn)品的質(zhì)量問題總是重復(fù)出現(xiàn)孔厉。這個(gè)版本已經(jīng)解決,到了下個(gè)新版本可能又出現(xiàn)帖努。開發(fā)人員總是抱怨沒有時(shí)間把問題一次解決好撰豺,但是卻有時(shí)間把反復(fù)出現(xiàn)的問題解決很多次。
產(chǎn)品上市時(shí)間總是一拖再拖拼余,很難按時(shí)推出新產(chǎn)品或新版本污桦。產(chǎn)品推出之后也不能適應(yīng)市場(chǎng)需求。
公司的人員總是加班加點(diǎn)工作匙监,還是有解決不完的問題凡橱。
這一切的一切都是什么原因造成的?
那就是軟件的質(zhì)量管理沒有做好亭姥。
那怎樣才能做好質(zhì)量管理呢梭纹?
2、質(zhì)量管理就像治病
我們先來看一個(gè)故事致份。
中國古代有一個(gè)著名的神醫(yī),叫扁鵲础拨。傳說扁鵲有三兄弟氮块,并且全是郎中。其中老三扁鵲是名醫(yī)诡宗。人們問他:“你們兄弟三人誰的醫(yī)術(shù)最高滔蝉?”
他回答說:“我常用猛藥給病危者醫(yī)治,偶爾有些病危者被我救活塔沃,于是我的醫(yī)術(shù)遠(yuǎn)近聞名并成了名醫(yī)蝠引。我二哥通常在人們剛剛生病的時(shí)候馬上就治愈他們,臨近村莊的人說他是好郎中蛀柴。我大哥不外出治病螃概,他深知人們生病的原因,所以能夠預(yù)防村里人生病鸽疾,他的醫(yī)術(shù)只有我們村里才知道吊洼。其實(shí)我的醫(yī)術(shù)不如二哥,二哥的醫(yī)術(shù)不如大哥制肮∶扒希”
從這里看出递沪,要想身體好,少生病综液,有三種辦法款慨。
第一是早預(yù)防,不讓疾病產(chǎn)生谬莹,這就是扁鵲大哥的方法檩奠。
第二是早發(fā)現(xiàn)早治療,這就是扁鵲二哥的方法届良。
第三是早搶救笆凌,死馬當(dāng)活馬醫(yī)。這是沒有辦法的辦法士葫,萬不得已而為之乞而。這就是扁鵲經(jīng)常做的事。
3慢显、質(zhì)量管理的三套體系
從上面的故事可以明白爪模,其實(shí)質(zhì)量管理也類似。我們應(yīng)該建立三套體系:預(yù)防體系荚藻,有效檢查體系屋灌、快速搶救體系。
3.1 建立預(yù)防體系
在軟件開發(fā)過程中有效地防止工作成果產(chǎn)生缺陷应狱。主要措施有:
1)專家培訓(xùn)共郭,不斷提高大家的技術(shù)水平、管理水平疾呻;
2)流程化除嘹,不斷提高規(guī)范化水平,把經(jīng)驗(yàn)和教訓(xùn)固化在流程中岸蜗。大家如果按照流程來做尉咕,軟件質(zhì)量不會(huì)差,但是如果不按流程來做璃岳,那軟件質(zhì)量不確定年缎,有可能很差,也有可能很好铃慷。他依賴于人单芜。流程化的目的就是希望產(chǎn)品質(zhì)量不要依賴于人,而是要依賴于流程犁柜、制度缓溅、規(guī)范。這樣公司的產(chǎn)品質(zhì)量就比較穩(wěn)定赁温,即使人員變更也會(huì)比較穩(wěn)定坛怪。這就是流程化的目的淤齐。
當(dāng)然流程化不僅僅是把流程整理出來,還要在運(yùn)行過程中不停優(yōu)化袜匿,保證流程確實(shí)是好用的更啄、容易執(zhí)行的。
要想保證流程容易執(zhí)行居灯,應(yīng)盡量讓流程工具化祭务,把流程固化在工具中。在使用工具時(shí)怪嫌,大家按照工具的要求來做义锥,就已經(jīng)在很好的執(zhí)行流程了。市場(chǎng)上有很多這方面的工具岩灭。上網(wǎng)一搜索很快就能找到一些拌倍。我們?cè)?jīng)用過bugzilla,漫索軟件噪径。
3)復(fù)用化柱恤。處理相同的事最好盡量復(fù)用現(xiàn)有代碼,或者把公共功能做成模塊找爱,便于大家復(fù)用梗顺。這樣就可以預(yù)防問題的發(fā)生。
3.2 建立有效檢查體系
在軟件開發(fā)過程中能盡早發(fā)現(xiàn)問題车摄,盡早解決問題寺谤。這樣代價(jià)最少。主要措施有:
1)技術(shù)評(píng)審吮播。請(qǐng)專家對(duì)技術(shù)方案矗漾、思路進(jìn)行評(píng)審,在編碼之前找出可能的問題薄料。質(zhì)量管理大師戴明博士說過:質(zhì)量是設(shè)計(jì)出來的”昧眨可見編碼之前的設(shè)計(jì)方案是非常重要摄职。設(shè)計(jì)時(shí)就埋下的缺陷隱患在后期是很難解決的。設(shè)計(jì)不好的軟件就像體質(zhì)不好的人获列,后期再多的調(diào)理也收效甚微谷市。
2)測(cè)試。測(cè)試是查漏補(bǔ)缺的重要手段击孩。這里有各種測(cè)試方法迫悠,例如靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試巩梢、白盒測(cè)試创泄、黑盒測(cè)試艺玲、單元測(cè)試、模塊測(cè)試鞠抑、系統(tǒng)測(cè)試饭聚、回歸測(cè)試、功能測(cè)試搁拙、性能測(cè)試秒梳、易用性測(cè)試手工測(cè)試、自動(dòng)測(cè)試箕速。但是我覺得最重要的是要使所有的測(cè)試方法形成一套有效的測(cè)試系統(tǒng)酪碘。
如何衡量有效?那就是任何新的改動(dòng)盐茎,如果它導(dǎo)致以前正確的行為變成錯(cuò)誤兴垦,這套系統(tǒng)應(yīng)該能報(bào)告出來。建議的方法是保證每種情況都有對(duì)應(yīng)的測(cè)試用例庭呜,每種錯(cuò)誤也都有對(duì)應(yīng)的測(cè)試用例滑进。
3)過程檢查。軟件開發(fā)過程中有一些大家公認(rèn)的過程或規(guī)范能夠避免產(chǎn)生一些問題募谎,那這些過程和規(guī)范就應(yīng)該被檢查扶关,保證軟件開發(fā)過程與規(guī)范被大家遵守。這主要是QA的工作数冬。
4)代碼評(píng)審节槐。評(píng)審工作主要看代碼是否與當(dāng)初的設(shè)計(jì)方案一致。這樣我們就能最大限制減少問題的產(chǎn)生拐纱。
3.3 建立快速搶救體系
在軟件產(chǎn)品發(fā)布之后铜异,客戶可能會(huì)發(fā)現(xiàn)問題。因此一定要盡早回應(yīng)秸架、解決揍庄,盡量減少對(duì)客戶的影響,也有利于維護(hù)自己產(chǎn)品的聲譽(yù)东抹。
這主要是要提供方便蚂子、快速的售前售后服務(wù)。內(nèi)容包括從新客戶的接入缭黔,到新老客戶維護(hù)和營銷的每一個(gè)環(huán)節(jié)的工作食茎,與銷售、營銷馏谨、推廣别渔、策劃、人事等多部門業(yè)務(wù)對(duì)接,優(yōu)化各業(yè)務(wù)環(huán)節(jié)哎媚,減少各環(huán)節(jié)客戶流失和公司成本等喇伯。