1 引論
在51CMM的質(zhì)量保證論壇中,Robinzrb 的一帖 “做QA,并且感到郁悶的請(qǐng)進(jìn)!”,引無數(shù)英雄竟折腰。這些英雄包括思想活躍的hjhza,樂于傳道授業(yè)解惑的wtswts,喜歡指點(diǎn)江山激揚(yáng)文字的vvvvvv……。為什么郁悶?zāi)??還是先讓我們來討論一下QA的何去何從吧!
2 QA的由來
我們知道,國外很多的大公司,QA的職責(zé)就是測試(主要是系統(tǒng)測試),比如IBM、CA、PeopleSoft等。其實(shí)在最初,幾乎所有的公司都是這樣的。后來,由于缺乏有效的項(xiàng)目計(jì)劃和項(xiàng)目管理,留給系統(tǒng)測試的時(shí)間很少(注:我以前做的一個(gè)項(xiàng)目,項(xiàng)目經(jīng)理就明確告訴我系統(tǒng)測試就1天,沒得商量)。另外,需求變化太快,沒有完整的需求文檔,測試人員就只能根據(jù)自己的想象來測試。這樣一來,測試就很難保障產(chǎn)品的質(zhì)量,事先預(yù)防的QA職能就應(yīng)運(yùn)而生。
事先預(yù)防其實(shí)是借鑒了TQM的思想,而且也符合軟件工程“缺陷越早發(fā)現(xiàn)越早修改越經(jīng)濟(jì)”的原則。這些思想的淵源還可以追溯到中國古代的典故中,比如曲突徙薪、扁鵲論醫(yī)術(shù)等。特別是扁鵲論醫(yī)術(shù)這個(gè)典故,我偶然在國外的一篇文章中看到了(后來在林銳的文章中也看到了),常感嘆我們國人連祖先的思想文化遺產(chǎn)都丟的差不多了。
3 QA的現(xiàn)在
目前,實(shí)施CMM的企業(yè)越來越多了。CMM模型就要求建立QA角色。這里的QA類似于過程警察,主要職責(zé)是,檢查開發(fā)和管理活動(dòng)是否與已定的過程策略、標(biāo)準(zhǔn)和流程一致,檢查工作產(chǎn)品是否遵循模板規(guī)定的內(nèi)容和格式。在這些企業(yè)中,一般還要求QA獨(dú)立于項(xiàng)目組,以保障評(píng)價(jià)的客觀性。從國內(nèi)來看,多數(shù)的QA沒有技術(shù)背景,檢查出的偏差多為雞毛蒜皮,再加上自己沒有令人信服的背景,領(lǐng)導(dǎo)也不支持,當(dāng)然做起來就很困難了。
缺乏信任和支持只是一個(gè)方面,QA工作本身就很具挑戰(zhàn)性。它要求QA具有軟件工程的知識(shí)、軟件開發(fā)的知識(shí)、行業(yè)背景的知識(shí)、數(shù)理統(tǒng)計(jì)的知識(shí)、項(xiàng)目管理的知識(shí)、質(zhì)量管理的知識(shí)等等。
我們常常遇到這樣的問題,改進(jìn)到一定程度就很難突破,感覺心有余而力不足了,就開始郁悶了。后來通過學(xué)習(xí)、培訓(xùn)、交流,思想和技能得到升華,又發(fā)現(xiàn)了木桶中最短的那塊,然后又開始改進(jìn),然后又遇到了玻璃天花板,然后……就這樣處于郁悶的循環(huán)中。
假使我們掌握了所有的知識(shí),能突破所有的玻璃天花板,那是不是QA就可以一帆風(fēng)順了。答案是否定的。QA角色定義本身就有很大的局限性。QA充當(dāng)?shù)氖沁^程警察的角色,無論是否有意義,都專橫地強(qiáng)制過程的執(zhí)行,容易在項(xiàng)目組中造成敵對(duì)的關(guān)系,受到排擠,而且這種警察的姿態(tài)也破壞了團(tuán)隊(duì)精神。如此一來,QA工作還需要的是人際關(guān)系技能,就如我以前寫的《質(zhì)量平衡》和《QA應(yīng)該獨(dú)立于項(xiàng)目組嗎?》一樣,藝術(shù)化地處理這種關(guān)系。
4 QA的未來
從某種程度上說,獨(dú)立的QA審查機(jī)制是瀑布模型的產(chǎn)物。隨著現(xiàn)代軟件開發(fā)技術(shù)的演變,螺旋模型和迭代模型的興起,QA機(jī)制正在悄然發(fā)生變化。這種變化就是從獨(dú)立專職的QA向貫穿過程的兼職QA演變。在CMMI模型中,這種兼職的QA也是被允許的。為什么會(huì)發(fā)生這種改變呢?無論是XP、RUP還是其它先進(jìn)的方法論,都是先產(chǎn)生架構(gòu),然后再增量開發(fā),直到完成。這種模式中,需求和設(shè)計(jì)缺陷在各個(gè)迭代周期被所盡早發(fā)現(xiàn)和修復(fù),質(zhì)量也內(nèi)建于架構(gòu)和過程中,項(xiàng)目的成本和進(jìn)度也得到保障。
到那時(shí),是不是獨(dú)立的QA就不復(fù)存在了呢?有些成熟度較低的企業(yè)還是需要的,主要是保證過程執(zhí)行的有效性和評(píng)價(jià)的客觀性。