軟件企業(yè)必須通過CMM認證標準的錘煉,這是軟件企業(yè)逐漸達成的共識。國內眾多的軟件企業(yè)正在圍繞CMM進行研究、討論和實施,可謂躍躍欲試、緊鑼密鼓。截止到目前,已經有幾家國內軟件企業(yè)通過了CMM3認證。
目前,我國大多數軟件企業(yè)都是中小規(guī)模,其軟件開發(fā)團隊通常由幾人至數十人組成。在這樣的企業(yè)如何做好軟件質量保證工作,筆者根據自己在聯想軟件的工作經驗談一些看法。
確立工作目標
SQA(Software Quality Assurance,軟件質量保證)是CMM的一個關鍵過程域,CMM的每個關鍵過程域幾乎都涉及軟件質量的驗證,它在軟件開發(fā)過程中起著非常重要的作用。在CMM中,軟件質量保證的目標是為管理者提供當前軟件項目進行過程與最終產品的可視性。它的主要工作包括:評審軟件工程活動、審計軟件產品、將結果通知項目組成員及相關經理。從CMM的框架結構來看,軟件質量保證人員的主要工作目標是保證軟件過程質量。軟件最終產品的質量則是項目經理與質量工程師關心的問題,而不是由軟件質量保證人員負責。
軟件質量保證的價值依賴于一些前提,其中最重要的是以下兩個:
首先,軟件項目開發(fā)過程遵循明確定義好的既定規(guī)則,由此所獲得的利益遠大于為它所付出的代價。先有穩(wěn)定、明確的用戶需求再進行開發(fā),雖然進度可能有所延遲,但與開發(fā)后發(fā)現不是用戶所需要的產品相比,這個代價要小得多。
其次,在沒有獨立評價系統(tǒng)的情況下,人們有時候會偏離既定的規(guī)則。軟件開發(fā)人員由于各種各樣的原因,總是自覺或不自覺地忽視過程,這時就需要軟件質量保證人員來發(fā)現問題。
確保人員的獨立性
好的過程質量并不等于好的產品質量,但是糟糕的過程很難帶來好的產品質量。如果一個項目按照既定的過程完成開發(fā)工作,沒有偏離,說明軟件質量保證人員盡到了他的職責。
為了較好地開展軟件質量保證工作,軟件質量保證人員應該是獨立的,與項目經理沒有任何行政隸屬關系,對他的考核與評價也不應由項目經理做出,同時他也不能承擔本項目中除軟件質量保證外的其他任何工作,以確保其獨立性。
建議在企業(yè)中將軟件質量保證機構設立成專門的獨立機構。如果企業(yè)規(guī)模較小,可以由測試人員兼任。在某些企業(yè)中,測試人員從屬于項目組,此時,軟件質量保證人員應該由其他項目組的測試人員擔任。
標準的客觀性
軟件質量保證的目的是給管理者提供可視性。如果存在主觀因素,管理者看到的就不是軟件開發(fā)過程的真實情況,這一點對軟件質量保證工作至關重要。例如,聯想公司的軟件產品是通過“質量保證檢查表”來實現的。針對每個軟件工程活動與軟件工作產品,都有一個軟件質量保證檢查表。軟件質量保證人員可以根據檢查表來判斷當前的軟件工程活動是否存在偏離以及軟件工作產品是否符合要求。軟件工程活動是否有所偏離,主要看軟件工程活動的進入準則是否達到、輸入是否正確、執(zhí)行任務是否符合要求、結束時是否符合完成準則以及是否具有合乎要求的輸出。在審計軟件工作產品時,軟件質量保證人員主要審計軟件產品是否符合規(guī)程、標準等要求,一般不考慮技術問題。
所有軟件開發(fā)人員都應當接受軟件質量保證方面的定向培訓,了解軟件質量保證的目的、工作方式以及其他相關內容。只有所有的人都認識到軟件質量保證工作的意義,這項工作才能很好地開展起來。
幾個誤區(qū)
誤區(qū)之一:軟件質量保證人員對軟件產品質量負責。
軟件質量保證人員一般只對軟件過程質量負責,如果一個項目按照既定的過程完成了開發(fā)工作,沒有發(fā)生偏離,軟件質量保證人員就算盡到了職責,他的價值主要體現在過程質量上而不是最終的軟件產品質量上。
誤區(qū)之二:軟件質量保證人員對軟件工作產品的審計包括發(fā)現其中的技術問題。
軟件質量保證人員對軟件工作產品的審計主要是針對過程,例如是否采用過程所規(guī)定的模板,所有必要的內容是否都具備等,而不是關注技術問題。
誤區(qū)之三:軟件質量保證人員要負責解決所發(fā)現的質量問題。
軟件質量保證的最大作用是發(fā)現問題,提供可視性,而不是解決問題。軟件質量保證人員發(fā)現問題后,必須提交到相關責任人那里,由相關責任人給出解決方法并予以解決。軟件質量保證人員只是跟蹤問題直至得到解決。如果在相關責任人處無法得到解決,則將問題提交給項目經理。如果仍然無法解決,則提交給高層經理。這樣一層層提交,直到問題有了結論。至于最終的結論是解決問題還是暫時擱置問題,由做出決策的人員對此負責。如果要求軟件質量保證人員負責解決質量問題,他就可能陷入其中,失去了軟件質量保證人員最為寶貴的獨立性與客觀性。
誤區(qū)之四:軟件質量保證人員是專門監(jiān)督項目組成員的。
軟件質量保證人員不是監(jiān)督項目組成員的,他只是從第三方、客觀的角度將項目組的情況反映給管理者,讓管理者了解項目與規(guī)定過程之間存在的偏差。如果軟件質量保證人員將自己放到項目組的對立面,專門去找項目組的毛病,那么項目組成員就可能將真實問題隱藏起來,使問題無法得到解決。軟件質量保證人員對項目組是有幫助作用的,他要幫助項目組提高開發(fā)和管理活動的規(guī)范化、標準化,發(fā)現問題時,要首先在項目組內解決。
總之,要在企業(yè)內開展軟件質量保證工作,最重要的是讓所有員工都認識到,質量不是依賴于某個或某幾個高手,而是依賴于整個過程。好的過程是好產品的必備條件,這一點要成為企業(yè)文化的一部分,深深扎根于每個員工的心中。
溫馨提示:因考試政策、內容不斷變化與調整,信管網網站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!
信管網致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網軟考課程由信管網依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |