目前,我國大多數軟件企業都是中小規模,其軟件開發團隊通常由幾人至數十人組成。在這樣的企業如何做好軟件質量保證工作,筆者根據自己在聯想軟件的工作經驗談一些看法。
確立工作目標
SQA(Software Quality Assurance,軟件質量保證)是CMM的一個關鍵過程域,CMM的每個關鍵過程域幾乎都涉及軟件質量的驗證,它在軟件開發過程中起著非常重要的作用。在CMM中,軟件質量保證的目標是為管理者提供當前軟件項目進行過程與最終產品的可視性。它的主要工作包括:評審軟件工程活動、審計軟件產品、將結果通知項目組成員及相關經理。從CMM的框架結構來看,軟件質量保證人員的主要工作目標是保證軟件過程質量。軟件最終產品的質量則是項目經理與質量工程師關心的問題,而不是由軟件質量保證人員負責。
軟件質量保證的價值依賴于一些前提,其中最重要的是以下兩個:
首先,軟件項目開發過程遵循明確定義好的既定規則,由此所獲得的利益遠大于為它所付出的代價。先有穩定、明確的用戶需求再進行開發,雖然進度可能有所延遲,但與開發后發現不是用戶所需要的產品相比,這個代價要小得多。
其次,在沒有獨立評價系統的情況下,人們有時候會偏離既定的規則。軟件開發人員由于各種各樣的原因,總是自覺或不自覺地忽視過程,這時就需要軟件質量保證人員來發現問題。
確保人員的獨立性
好的過程質量并不等于好的產品質量,但是糟糕的過程很難帶來好的產品質量。如果一個項目按照既定的過程完成開發工作,沒有偏離,說明軟件質量保證人員盡到了他的職責。
為了較好地開展軟件質量保證工作,軟件質量保證人員應該是獨立的,與項目經理沒有任何行政隸屬關系,對他的考核與評價也不應由項目經理做出,同時他也不能承擔本項目中除軟件質量保證外的其他任何工作,以確保其獨立性。
建議在企業中將軟件質量保證機構設立成專門的獨立機構。如果企業規模較小,可以由測試人員兼任。在某些企業中,測試人員從屬于項目組,此時,軟件質量保證人員應該由其他項目組的測試人員擔任。
標準的客觀性
軟件質量保證的目的是給管理者提供可視性。如果存在主觀因素,管理者看到的就不是軟件開發過程的真實情況,這一點對軟件質量保證工作至關重要。例如,聯想公司的軟件產品是通過“質量保證檢查表”來實現的。針對每個軟件工程活動與軟件工作產品,都有一個軟件質量保證檢查表。軟件質量保證人員可以根據檢查表來判斷當前的軟件工程活動是否存在偏離以及軟件工作產品是否符合要求。軟件工程活動是否有所偏離,主要看軟件工程活動的進入準則是否達到、輸入是否正確、執行任務是否符合要求、結束時是否符合完成準則以及是否具有合乎要求的輸出。在審計軟件工作產品時,軟件質量保證人員主要審計軟件產品是否符合規程、標準等要求,一般不考慮技術問題。
所有軟件開發人員都應當接受軟件質量保證方面的定向培訓,了解軟件質量保證的目的、工作方式以及其他相關內容。只有所有的人都認識到軟件質量保證工作的意義,這項工作才能很好地開展起來。
幾個誤區
誤區之一:軟件質量保證人員對軟件產品質量負責。
軟件質量保證人員一般只對軟件過程質量負責,如果一個項目按照既定的過程完成了開發工作,沒有發生偏離,軟件質量保證人員就算盡到了職責,他的價值主要體現在過程質量上而不是最終的軟件產品質量上。
誤區之二:軟件質量保證人員對軟件工作產品的審計包括發現其中的技術問題。
軟件質量保證人員對軟件工作產品的審計主要是針對過程,例如是否采用過程所規定的模板,所有必要的內容是否都具備等,而不是關注技術問題。
誤區之三:軟件質量保證人員要負責解決所發現的質量問題。
軟件質量保證的最大作用是發現問題,提供可視性,而不是解決問題。軟件質量保證人員發現問題后,必須提交到相關責任人那里,由相關責任人給出解決方法并予以解決。軟件質量保證人員只是跟蹤問題直至得到解決。如果在相關責任人處無法得到解決,則將問題提交給項目經理。如果仍然無法解決,則提交給高層經理。這樣一層層提交,直到問題有了結論。至于最終的結論是解決問題還是暫時擱置問題,由做出決策的人員對此負責。如果要求軟件質量保證人員負責解決質量問題,他就可能陷入其中,失去了軟件質量保證人員最為寶貴的獨立性與客觀性。
誤區之四:軟件質量保證人員是專門監督項目組成員的。
軟件質量保證人員不是監督項目組成員的,他只是從第三方、客觀的角度將項目組的情況反映給管理者,讓管理者了解項目與規定過程之間存在的偏差。如果軟件質量保證人員將自己放到項目組的對立面,專門去找項目組的毛病,那么項目組成員就可能將真實問題隱藏起來,使問題無法得到解決。軟件質量保證人員對項目組是有幫助作用的,他要幫助項目組提高開發和管理活動的規范化、標準化,發現問題時,要首先在項目組內解決。 總之,要在企業內開展軟件質量保證工作,最重要的是讓所有員工都認識到,質量不是依賴于某個或某幾個高手,而是依賴于整個過程。好的過程是好產品的必備條件,這一點要成為企業文化的一部分,深深扎根于每個員工的心中。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/