獨立與客觀—CMM中的軟體品質保證實施準則

來源:互聯網
上載者:User

軟體企業必須通過CMM認證標準的錘鍊,這是軟體企業逐漸達成的共識。國內眾多的軟體企業正在圍繞CMM進行研究、討論和實施,可謂躍躍欲試、緊鑼密鼓。截止到目前,已經有幾家國內軟體企業通過了CMM3認證。

  
確立工作目標
  SQA(Software Quality Assurance,軟體品質保證)是CMM的一個關鍵過程域,CMM的每個關鍵過程域幾乎都涉及軟體品質的驗證,它在軟體開發過程中起著非常重要的作用。在CMM中,軟體品質保證的目標是為管理者提供當前軟體項目進行過程與最終產品的可視性。它的主要工作包括:評審軟體工程活動、審計軟體產品、將結果通知項目群組成員及相關經理。從CMM的架構結構來看,軟體品質保證人員的主要工作目標是保證軟體過程品質。軟體最終產品的品質則是專案經理與品質工程師關心的問題,而不是由軟體品質保證人員負責。

  軟體品質保證的價值依賴於一些前提,其中最重要的是以下兩個:
  首先,軟體項目開發過程遵循明確定義好的既定規則,由此所獲得的利益遠大於為它所付出的代價。先有穩定、明確的使用者需求再進行開發,雖然進度可能有所延遲,但與開發後發現不是使用者所需要的產品相比,這個代價要小得多。
  其次,在沒有獨立評價系統的情況下,人們有時候會偏離既定的規則。軟體開發人員由於各種各樣的原因,總是自覺或不自覺地忽視過程,這時就需要軟體品質保證人員來發現問題。

確保人員的獨立性
  好的過程品質並不等於好的產品品質,但是糟糕的過程很難帶來好的產品品質。如果一個項目按照既定的過程完成開發工作,沒有偏離,說明軟體品質保證人員盡到了他的職責。
  為了較好地開展軟體品質保證工作,軟體品質保證人員應該是獨立的,與專案經理沒有任何行政隸屬關係,對他的考核與評價也不應由專案經理做出,同時他也不能承擔本項目中除軟體品質保證外的其他任何工作,以確保其獨立性。
  建議在企業中將軟體品質保證機構設立成專門的獨立機構。如果企業規模較小,可以由測試人員兼任。在某些企業中,測試人員從屬於項目組,此時,軟體品質保證人員應該由其他項目組的測試人員擔任。

標準的客觀性
  軟體品質保證的目的是給管理者提供可視性。如果存在主觀因素,管理者看到的就不是軟體開發過程的真實情況,這一點對軟體品質保證工作至關重要。例如,聯想公司的軟體產品是通過“品質保證檢查表”來實現的。針對每個軟體工程活動與軟體工作產品,都有一個軟體品質保證檢查表。軟體品質保證人員可以根據檢查表來判斷當前的軟體工程活動是否存在偏離以及軟體工作產品是否符合要求。軟體工程活動是否有所偏離,主要看軟體工程活動的進入準則是否達到、輸入是否正確、執行任務是否符合要求、結束時是否符合完成準則以及是否具有合乎要求的輸出。在審計軟體工作產品時,軟體品質保證人員主要審計軟體產品是否符合規程、標準等要求,一般不考慮技術問題。

  所有軟體開發人員都應當接受軟體品質保證方面的定向培訓,瞭解軟體品質保證的目的、工作方式以及其他相關內容。只有所有的人都認識到軟體品質保證工作的意義,這項工作才能很好地開展起來。

幾個誤區
誤區之一:軟體品質保證人員對軟體產品品質負責。
  軟體品質保證人員一般只對軟體過程品質負責,如果一個項目按照既定的過程完成了開發工作,沒有發生偏離,軟體品質保證人員就算盡到了職責,他的價值主要體現在過程品質上而不是最終的軟體產品品質上。
誤區之二:軟體品質保證人員對軟體工作產品的審計包括髮現其中的技術問題。
  軟體品質保證人員對軟體工作產品的審計主要是針對過程,例如是否採用過程所規定的模板,所有必要的內容是否都具備等,而不是關注技術問題。
誤區之三:軟體品質保證人員要負責解決所發現的品質問題。
  軟體品質保證的最大作用是發現問題,提供可視性,而不是解決問題。軟體品質保證人員發現問題後,必須提交到相關責任人那裡,由相關責任人給出解決方案並予以解決。軟體品質保證人員只是跟蹤問題直至得到解決。如果在相關責任人處無法得到解決,則將問題提交給專案經理。如果仍然無法解決,則提交給高層經理。這樣一層層提交,直到問題有了結論。至於最終的結論是解決問題還是暫時擱置問題,由做出決策的人員對此負責。如果要求軟體品質保證人員負責解決品質問題,他就可能陷入其中,失去了軟體品質保證人員最為寶貴的獨立性與客觀性。
誤區之四:軟體品質保證人員是專門監督項目群組成員的。

  軟體品質保證人員不是監督項目群組成員的,他只是從第三方、客觀的角度將項目組的情況反映給管理者,讓管理者瞭解項目與規定過程之間存在的偏差。如果軟體品質保證人員將自己放到項目組的對立面,專門去找項目組的毛病,那麼項目群組成員就可能將真實問題隱藏起來,使問題無法得到解決。軟體品質保證人員對項目組是有協助作用的,他要協助項目組提高開發和管理活動的正常化、標準化,發現問題時,要首先在項目組內解決。
  總之,要在企業內開展軟體品質保證工作,最重要的是讓所有員工都認識到,品質不是依賴於某個或某幾個高手,而是依賴於整個過程。好的過程是好產品的必備條件,這一點要成為企業文化的一部分,深深紮根於每個員工的心中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.