SQA軟件質(zhì)量保證(SQA)是建立一套有計(jì)劃,有系統(tǒng)的方法,來(lái)向管理層保證擬定出的標(biāo)準(zhǔn)、步驟、實(shí)踐和方法能夠正確地被所有項(xiàng)目所采用。 軟件質(zhì)量保證的目的是使軟件過(guò)程對(duì)于管理人員來(lái)說(shuō)是可見(jiàn)的。它通過(guò)對(duì)軟件產(chǎn)品和活動(dòng)進(jìn)行評(píng)審和審計(jì)來(lái)驗(yàn)證軟件是合乎標(biāo)準(zhǔn)的。軟件質(zhì)量保證組在項(xiàng)目開(kāi)始時(shí)就一起參與建立計(jì)劃、標(biāo)準(zhǔn)和過(guò)程。這些將使軟件項(xiàng)目滿(mǎn)足機(jī)構(gòu)方針的要求。
目標(biāo) 1: 軟件質(zhì)量保證工作是有計(jì)劃進(jìn)行的。 我們知道,國(guó)外很多的大公司,QA的職責(zé)就是測(cè)試(主要是系統(tǒng)測(cè)試),比如IBM、CA、PeoplESoft等。其實(shí)在最初,幾乎所有的公司都是這樣的。后來(lái),由于缺乏有效的項(xiàng)目計(jì)劃和項(xiàng)目管理,留給系統(tǒng)測(cè)試的時(shí)間很少(注:我以前做的一個(gè)項(xiàng)目,項(xiàng)目經(jīng)理就明確告訴我系統(tǒng)測(cè)試就1天,沒(méi)得商量)。另外,需求變化太快,沒(méi)有完整的需求文檔,測(cè)試人員就只能根據(jù)自己的想象來(lái)測(cè)試。這樣一來(lái),測(cè)試就很難保障產(chǎn)品的質(zhì)量,事先預(yù)防的QA職能就應(yīng)運(yùn)而生。 三、QA的現(xiàn)在 目前,實(shí)施CMM的企業(yè)越來(lái)越多了。CMM模型就要求建立QA角色。這里的QA類(lèi)似于過(guò)程警察,主要職責(zé)是,檢查開(kāi)發(fā)和管理活動(dòng)是否與已定的過(guò)程策略、標(biāo)準(zhǔn)和流程一致,檢查工作產(chǎn)品是否遵循模板規(guī)定的內(nèi)容和格式。在這些企業(yè)中,一般還要求QA獨(dú)立于項(xiàng)目組,以保障評(píng)價(jià)的客觀性。從國(guó)內(nèi)來(lái)看,多數(shù)的QA沒(méi)有技術(shù)背景,檢查出的偏差多為雞毛蒜皮,再加上自己沒(méi)有令人信服的背景,領(lǐng)導(dǎo)也不支持,當(dāng)然做起來(lái)就很困難了。 缺乏信任和支持只是一個(gè)方面,QA工作本身就很具挑戰(zhàn)性。它要求QA具有軟件工程的知識(shí)、軟件開(kāi)發(fā)的知識(shí)、行業(yè)背景的知識(shí)、數(shù)理統(tǒng)計(jì)的知識(shí)、項(xiàng)目管理的知識(shí)、質(zhì)量管理的知識(shí)等等。 我們常常遇到這樣的問(wèn)題,改進(jìn)到一定程度就很難突破,感覺(jué)心有余而力不足了,就開(kāi)始郁悶了。后來(lái)通過(guò)學(xué)習(xí)、培訓(xùn)、交流,思想和技能得到升華,又發(fā)現(xiàn)了木桶中最短的那塊,然后又開(kāi)始改進(jìn),然后又遇到了玻璃天花板,然后……就這樣處于郁悶的循環(huán)中。 四、QA的未來(lái) 從某種程度上說(shuō),獨(dú)立的QA審查機(jī)制是瀑布模型的產(chǎn)物。隨著現(xiàn)代軟件開(kāi)發(fā)技術(shù)的演變,螺旋模型和迭代模型的興起,QA機(jī)制正在悄然發(fā)生變化。這種變化就是從獨(dú)立專(zhuān)職的QA向貫穿過(guò)程的兼職QA演變。在CMMI模型中,這種兼職的QA也是被允許的。為什么會(huì)發(fā)生這種改變呢?無(wú)論是XP、RUP還是其它先進(jìn)的方法論,都是先產(chǎn)生架構(gòu),然后再增量開(kāi)發(fā),直到完成。這種模式中,需求和設(shè)計(jì)缺陷在各個(gè)迭代周期被所盡早發(fā)現(xiàn)和修復(fù),質(zhì)量也內(nèi)建于架構(gòu)和過(guò)程中,項(xiàng)目的成本和進(jìn)度也得到保障。 五、SQA的理論探索 1、過(guò)程的認(rèn)識(shí) 我們都知道一個(gè)項(xiàng)目的主要內(nèi)容是:成本、進(jìn)度、質(zhì)量;良好的項(xiàng)目管理就是綜合三方面的因素,平衡三方面的目標(biāo),最終依照目標(biāo)完成任務(wù)。項(xiàng)目的這三個(gè)方面是相互制約和影響的,有時(shí)對(duì)這三方面的平衡策略甚至成為一個(gè)企業(yè)級(jí)的要求,決定了企業(yè)的行為,我們知道 IBM的軟件是以質(zhì)量為最重要目標(biāo)的,而微軟的“足夠好的軟件”策略更是耳熟能詳,這些質(zhì)量目標(biāo)其實(shí)立足于企業(yè)的戰(zhàn)略目標(biāo)。所以用于進(jìn)行質(zhì)量保證的SQA工作也應(yīng)當(dāng)立足于企業(yè)的戰(zhàn)略目標(biāo),從這個(gè)角度思考SQA,形成對(duì)SQA的理論認(rèn)識(shí)。 軟件界已經(jīng)達(dá)成共識(shí)的:影響軟件項(xiàng)目進(jìn)度、成本、質(zhì)量的因素主要是 “人、過(guò)程、技術(shù)”。首先要明確的是這三個(gè)因素中,人是第一位的。 現(xiàn)在許多實(shí)施 CMM的人員沉溺于CMM的理論過(guò)于強(qiáng)調(diào)“過(guò)程”,這是很危險(xiǎn)的傾向。這個(gè)思想傾向在國(guó)外受到了猛烈抨擊,從某種意義上各種敏捷過(guò)程方法的提出就是對(duì)強(qiáng)調(diào)過(guò)程的一種反思。 “XP”中的一個(gè)思想“人比過(guò)程更重要” 是值得我們思考的。我個(gè)人的意見(jiàn)在進(jìn)行過(guò)程改進(jìn)中堅(jiān)持“以人為本”,強(qiáng)調(diào)過(guò)程和人的和諧。 根據(jù)現(xiàn)代軟件工程對(duì)眾多失敗項(xiàng)目的調(diào)查,發(fā)現(xiàn)管理是項(xiàng)目失敗的主要原因。這個(gè)事實(shí)的重要性在于說(shuō)明了 “要保證項(xiàng)目不失敗,我們應(yīng)當(dāng)更加關(guān)注管理”,注意這個(gè)事實(shí)沒(méi)有說(shuō)明另外一個(gè)問(wèn)題“良好的管理可以保證項(xiàng)目的成功”?,F(xiàn)在很多人基于一種粗糙的邏輯,從一個(gè)事實(shí)反推到的這個(gè)結(jié)論,在邏輯上是錯(cuò)誤的,這種錯(cuò)誤形成了更加錯(cuò)誤的做法,這點(diǎn)在SQA的理解上是體現(xiàn)較深。 如果我們考證一下歷史的沿革,應(yīng)當(dāng)更加容易理解 CMM的本質(zhì)。CMM首先是作為一個(gè)“評(píng)估標(biāo)準(zhǔn)”出現(xiàn)的,主要評(píng)估的是美國(guó)國(guó)防部供應(yīng)商保證質(zhì)量的能力。CMM關(guān)注的軟件生產(chǎn)有如下特點(diǎn): 這是 CMM產(chǎn)生的原因。它引入了“全面質(zhì)量管理”的思想,尤其側(cè)重了“全面質(zhì)量管理”中的“過(guò)程方法”,并且引入了“統(tǒng)計(jì)過(guò)程控制”的方法??梢哉f(shuō)這兩個(gè)思想是CMM背后的基礎(chǔ)。 上面這些內(nèi)容形成了我對(duì)軟件過(guò)程地位、價(jià)值的基本理解;在這個(gè)基礎(chǔ)上我們可以引申討論 SQA。 2、生產(chǎn)線(xiàn)的隱喻 如果將一個(gè)軟件生產(chǎn)類(lèi)比于一個(gè)工廠的生產(chǎn)。那么生產(chǎn)線(xiàn)就是過(guò)程,產(chǎn)品按照生產(chǎn)線(xiàn)的規(guī)定過(guò)程進(jìn)行生產(chǎn)。 SQA的職責(zé)就是保證過(guò)程的執(zhí)行,也就是保證生產(chǎn)線(xiàn)的正常執(zhí)行。 抽象出管理體系模型的如下,這個(gè)模型說(shuō)明了一個(gè)過(guò)程體系至少應(yīng)當(dāng)包含 “決策、執(zhí)行、反饋”三個(gè)重要方面。 QA的職責(zé)就是確保過(guò)程的有效執(zhí)行,監(jiān)督項(xiàng)目按照過(guò)程進(jìn)行項(xiàng)目活動(dòng);它不負(fù)責(zé)監(jiān)管產(chǎn)品的質(zhì)量,不負(fù)責(zé)向管理層提供項(xiàng)目的情況,不負(fù)責(zé)代表管理層進(jìn)行管理,只是代表管理層來(lái)保證過(guò)程的執(zhí)行。 3、SQA和其他工作的組合 在很多企業(yè)中,將 SQA的工作和QC、SEPG、組織級(jí)的項(xiàng)目管理者的工作混合在一起了,有時(shí)甚至更加注重其他方面的工作而沒(méi)有做好SQA的本職工作。 根據(jù) hjhza 的意見(jiàn)“中國(guó)現(xiàn)在基本有三種QA(按照工作重點(diǎn)不同來(lái)分):一是過(guò)程改進(jìn)型,一是配置管理型,一是測(cè)試型”。我個(gè)人認(rèn)為是因?yàn)镾QA工作和其他不同工作組合在一起形成的。 下面根據(jù)本人經(jīng)驗(yàn)對(duì)它們之間的關(guān)系進(jìn)行一個(gè)說(shuō)明。 4、QA和QC 兩者基本職責(zé) QC:檢驗(yàn)產(chǎn)品的質(zhì)量,保證產(chǎn)品符合客戶(hù)的需求;是產(chǎn)品質(zhì)量檢查者; 注意區(qū)別檢查和審計(jì)的不同 檢查:就是我們常說(shuō)的找茬,是挑毛病的; 審計(jì):來(lái)確認(rèn)項(xiàng)目按照要求進(jìn)行的證據(jù);仔細(xì)看看CMM中各個(gè)KPA中SQA的檢查采用的術(shù)語(yǔ)大量用到了“證實(shí)”,審計(jì)的內(nèi)容主要是過(guò)程的;對(duì)照CMM看一下項(xiàng)目經(jīng)理和高級(jí)管理者的審查內(nèi)容,他們更加關(guān)注具體內(nèi)容。 對(duì)照上面的管理體系模型,QC進(jìn)行質(zhì)量控制,向管理層反饋質(zhì)量信息;QA則確保QC按照過(guò)程進(jìn)行質(zhì)量控制活動(dòng),按照過(guò)程將檢查結(jié)果向管理層匯報(bào)。這就是QA和QC工作的關(guān)系。 在這樣的分工原則下, QA只要檢查項(xiàng)目按照過(guò)程進(jìn)行了某項(xiàng)活動(dòng)沒(méi)有,產(chǎn)出了某個(gè)產(chǎn)品沒(méi)有;而QC來(lái)檢查產(chǎn)品是否符合質(zhì)量要求。 如果企業(yè)原來(lái)具有 QC人員并且QA人員配備不足,可以先確定由QC兼任QA工作。但是只能是暫時(shí)的,獨(dú)立的QA人員應(yīng)當(dāng)具備,因?yàn)镼C工作也是要遵循過(guò)程要求的,也是要被審計(jì)過(guò)程的,這種混合情況,難以保證QC工作的過(guò)程質(zhì)量。 5、QA和SEPG 兩者基本職責(zé) SEPG:制定過(guò)程,實(shí)施過(guò)程改進(jìn); SEPG應(yīng)當(dāng)提供過(guò)程上的指導(dǎo),幫助項(xiàng)目組制定項(xiàng)目過(guò)程,幫助項(xiàng)目組進(jìn)行策劃;從而幫助項(xiàng)目組有效的工作,有效的執(zhí)行過(guò)程。如果項(xiàng)目和QA對(duì)過(guò)程的理解發(fā)生爭(zhēng)持,SEPG作為最終仲裁者。為了進(jìn)行有效過(guò)程改進(jìn),SEPG必須分析項(xiàng)目的數(shù)據(jù)。 QA本也要進(jìn)行過(guò)程規(guī)范,那么所有QA中最有經(jīng)驗(yàn)、最有能力的QA可以參加SEPG,但是要注意這兩者的區(qū)別。 如果企業(yè)的 SEPG人員具有較為深厚的開(kāi)發(fā)背景,可以兼任SQA工作,這樣利于過(guò)程的不斷改進(jìn);但是由于立法、執(zhí)法集于一身也容易造成SQA過(guò)于強(qiáng)勢(shì),影響項(xiàng)目的獨(dú)立性。 管理過(guò)程比較成熟的企業(yè),因?yàn)槠髽I(yè)的文化和管理機(jī)制已經(jīng)健全, SQA職責(zé)范圍的工作較少,往往只是針對(duì)具體項(xiàng)目制定明確重點(diǎn)的SQA計(jì)劃,這樣SQA的審計(jì)工作會(huì)大大減少,從而可以同時(shí)審計(jì)較多項(xiàng)目。 另一方面,由于分工的細(xì)致化,管理體系的復(fù)雜化,往往需要專(zhuān)職的 SEPG人員,這些人員要求了解企業(yè)的所有管理過(guò)程和運(yùn)作情況,在這個(gè)基礎(chǔ)上才能統(tǒng)籌全局的進(jìn)行過(guò)程改進(jìn),這時(shí)了解全局的SQA人員就是專(zhuān)職SEPG的主要人選;這些SQA人員將逐漸的轉(zhuǎn)化為SEPG人員,并且更加了解管理知識(shí),而SQA工作漸漸成為他們的兼職工作。 這種情況在許多 CMM5企業(yè)比較多見(jiàn),往往有時(shí)看不見(jiàn)SQA人員在項(xiàng)目組出現(xiàn)或者很少出現(xiàn),這種SEPG和SQA的融合特別有利于組織的過(guò)程改進(jìn)工作。SEPG確定過(guò)程改進(jìn)內(nèi)容,SQA計(jì)劃重點(diǎn)反映這些改進(jìn)內(nèi)容,從保證有效的改進(jìn),特別有利于達(dá)到CMM5的要求。從這個(gè)角度,國(guó)外的SQA人員為什么高薪就不難理解了,也決定了當(dāng)前中國(guó)SQA人員比較被輕視的原因;因?yàn)楣芾磉^(guò)程還不完善,我們的SQA人員還沒(méi)有產(chǎn)生這么大的價(jià)值嘛! 6、QA和組織級(jí)的監(jiān)督管理 有的企業(yè)為了更好的監(jiān)督管理項(xiàng)目,建立了一個(gè)角色,我取名為 “組織級(jí)的監(jiān)督管理者”,他們的職責(zé)是對(duì)所有項(xiàng)目進(jìn)行統(tǒng)一的跟蹤、監(jiān)督、適當(dāng)?shù)墓芾?,?lái)保證管理層對(duì)所有項(xiàng)目的可視性、可管理性。 為了有效管理項(xiàng)目, “組織級(jí)的監(jiān)督管理者”必須分析項(xiàng)目的數(shù)據(jù)。 他們的職責(zé)對(duì)照上圖的模型,就是執(zhí)行 “反饋”職能。 SQA職責(zé)最好不要和“組織級(jí)的項(xiàng)目管理者”的職責(zé)混合在一起,否則容易出現(xiàn)SAQ困境:一方面SQA不能準(zhǔn)確定位自己的工作,另一方面過(guò)程執(zhí)行者對(duì)SQA人員抱有較大戒心。 如果建立了較好的管理過(guò)程,那么就會(huì)增強(qiáng)項(xiàng)目的可視性,從而保證企業(yè)對(duì)所有項(xiàng)目的較好管理;而 QA來(lái)確保這個(gè)管理過(guò)程的運(yùn)行。 五、SQA的工作內(nèi)容和工作方法 1、 計(jì)劃 針對(duì)具體項(xiàng)目制定 SQA計(jì)劃,確保項(xiàng)目組正確執(zhí)行過(guò)程。制定SQA計(jì)劃應(yīng)當(dāng)注意如下幾點(diǎn): 有重點(diǎn):依據(jù)企業(yè)目標(biāo)以及項(xiàng)目情況確定審計(jì)的重點(diǎn) 2、審計(jì)/證實(shí) 依據(jù) SQA計(jì)劃進(jìn)行SQA審計(jì)工作,按照規(guī)則發(fā)布審計(jì)結(jié)果報(bào)告。 注意審計(jì)一定要有項(xiàng)目組人員陪同,不能搞突然襲擊。雙方要開(kāi)誠(chéng)布公,坦誠(chéng)相對(duì)。 審計(jì)的內(nèi)容:是否按照過(guò)程要求執(zhí)行了相應(yīng)活動(dòng),是否按照過(guò)程要求產(chǎn)生了相應(yīng)產(chǎn)品。 3、問(wèn)題跟蹤 對(duì)審計(jì)中發(fā)現(xiàn)的問(wèn)題,要求項(xiàng)目組改進(jìn),并跟進(jìn)直到解決。
過(guò)程為中心:應(yīng)當(dāng)站在過(guò)程的角度來(lái)考慮問(wèn)題,只要保證了過(guò)程, QA就盡到了責(zé)任。 服務(wù)精神:為項(xiàng)目組服務(wù),幫助項(xiàng)目組確保正確執(zhí)行過(guò)程 了解過(guò)程:深刻了解企業(yè)的工程,并具有一定的過(guò)程管理理論知識(shí) 了解開(kāi)發(fā):對(duì)開(kāi)發(fā)工作的基本情況了解,能夠理解項(xiàng)目的活動(dòng) 溝通技巧:善于溝通,能夠營(yíng)造良好的氣氛,避免審計(jì)活動(dòng)成為一種找茬活動(dòng)。 七、SQA活動(dòng) 軟件質(zhì)量保證(SQA)是一種應(yīng)用于整個(gè)軟件過(guò)程的活動(dòng),它包含: SQA與兩種不同的參與者相關(guān) —— 做技術(shù)工作的軟件工程師和負(fù)責(zé)質(zhì)量保證的計(jì)劃、監(jiān)督、記錄、分析及報(bào)告工作的SQA小組 。 軟件工程師通過(guò)采用可靠的技術(shù)方法和措施,進(jìn)行正式的技術(shù)評(píng)審,執(zhí)行計(jì)劃周密的軟件測(cè)試來(lái)考慮質(zhì)量問(wèn)題,并完成軟件質(zhì)量保證和質(zhì)量控制活動(dòng)。 SQA小組的職責(zé)是輔助軟件工程小組得到高質(zhì)量的最終產(chǎn)品。SQA小組完成: (1)為項(xiàng)目準(zhǔn)備SQA計(jì)劃。該計(jì)劃在制定項(xiàng)目規(guī)定項(xiàng)目計(jì)劃時(shí)確定,由所有感興趣的相關(guān)部門(mén)評(píng)審。 八、正式技術(shù)評(píng)審(FTR) 正式技術(shù)評(píng)審是一種由軟件工程師和其他人進(jìn)行的軟件質(zhì)量保障活動(dòng)。 1. 目標(biāo): 2、評(píng)審會(huì)議 3、評(píng)審總結(jié)報(bào)告、回答 4、評(píng)審指導(dǎo)原則 九、統(tǒng)計(jì)軟件質(zhì)量保證 1、對(duì)所有錯(cuò)誤進(jìn)行分類(lèi)統(tǒng)計(jì) 然后考慮“重要少數(shù)”的錯(cuò)誤指標(biāo),提出改進(jìn)意見(jiàn)。 2、根據(jù)軟件過(guò)程中的每個(gè)步驟計(jì)算錯(cuò)誤指標(biāo)。 Ei = 第i發(fā)現(xiàn)的錯(cuò)誤總數(shù) 檢驗(yàn)的類(lèi)型有: 十、檢驗(yàn)項(xiàng)目?jī)?nèi)容 1.需求分析 1.3質(zhì)量保證實(shí)施
五個(gè)實(shí)施步驟 1.4 軟件可靠性 可靠性統(tǒng)計(jì)定義: 1.5 ISO9000 質(zhì)量標(biāo)準(zhǔn) ISO9000標(biāo)準(zhǔn)被很多國(guó)家采用,包括歐盟的所有成員,加拿大、墨西哥、美國(guó)、澳大利亞、新西蘭和太平洋區(qū)域。為了注冊(cè)成為ISO9000中包含的質(zhì)量保證系統(tǒng)模型中的一種,一個(gè)公司的質(zhì)量系統(tǒng)和操作應(yīng)該由第三方審計(jì)者仔細(xì)檢查,查看其標(biāo)準(zhǔn)的符合性以及操作的有效性。成功注冊(cè)之后,這一公司將收到由審計(jì)者所代表的注冊(cè)實(shí)體頒發(fā)的證書(shū)。此后,每半年進(jìn)行一次檢查性審計(jì)。 |
|