http://www./html/43/59943-16105.html 2007 提起軟件質量管理,,人們更多地會想起ISO9001,、CMM、CMMI這些“質量管理圣經”,。但國內企業(yè)做了這么多年的質量認證,,卻沒有使軟件質量有大幅度地提高。實際上,,很多企業(yè)通過ISO9001,、CMM、CMMI等質量認證的目的就不是為了提高質量:有的企業(yè)是為了跟風,,有的企業(yè)則是為了向客戶展示證書,。 在很多軟件企業(yè)里,軟件質量管理在內部開發(fā)產品時做的相對較好:因為產品開發(fā)通常在各個軟件企業(yè)的研發(fā)中心進行,,涉及的人員以內部為主,,進度壓力相對較小,可以投入時間和精力來開展軟件質量管理,。對于有客戶進行參與的軟件實施項目,,多數企業(yè)為了節(jié)省成本和趕進度,往往會忽略質量管理,,最后導致軟件質量很差——投產后的軟件經常會被用戶發(fā)現很多Bug,。實際上,在項目實施中開展質量管理工作更加重要,,因為產品上線后的質量問題往往意味著更大的投入,。本文將和讀者一起探討軟件項目實施中如何開展質量管理工作。 1. 質量管理主要內容 在探討項目實施中開展軟件質量管理工作前,,我們先回顧一下質量管理的基礎知識,。質量管理主要包括三個過程:質量計劃制定、質量保證和質量控制,。 質量計劃:是質量管理的第一過程域,,它主要指依據公司的質量方針、產品描述以及質量標準和規(guī)則等制定出來實施方略,,其內容全面反應用戶的要求,,為質量小組成員有效工作提供了指南,為項目小組成員以及項目相關人員了解在項目進行中如何實施質量保證和控制提供依據,為確保項目質量得到保障提供堅實的基礎,。 質量保證:是貫穿整個項目全生命周期的有計劃和有系統(tǒng)的活動,經常性地針對整個項目質量計劃的執(zhí)行情況進行評估,、檢查與改進等工作,,向管理者、顧客或其他方提供信任,,確保項目質量與計劃保持一致,。 質量控制:是對階段性的成果進行測試、驗證,,為質量保證提供參考依據。 在軟件實施項目中,,質量保證對應于技術評審與過程檢查,,質量控制對應于軟件測試等工作,,如圖1所示,。
圖1全面軟件質量管理模型 資料來源:林銳《軟件工程與項目管理解析》第九章 2. 項目中質量管理的原則 在軟件項目實施中,,由于進度和成本兩大因素的影響,,它的質量管理與產品開發(fā)有著很大的差別。因此,,在項目實施中做好質量管理工作應該堅持自己的原則,。 我們先看一下國內企業(yè)實施軟件項目的一些特征: “進度高于一切”可以說是國內企業(yè)實施項目的最大特點,而“為了短期利益不惜愚弄客戶”,、不重視質量,、喜歡追究責任則成了這道“靚麗”風景上的點綴?;仡檱鴥群芏?span lang="EN-US">IT熱門領域,可以發(fā)現多是大家看好某個領域后就會“一哄而上”,,然后進行低價為主的惡性競爭,,結果是搞得自己沒有能力來重視質量,而為了生存,,還要拼命的加班趕進度,,最后形成一個怪圈。可以說在很多IT領域,,國內軟件企業(yè)為自己精心打造了無數個這樣的“怪圈”,。 國內的企業(yè)要想挑出“怪圈”,最根本的辦法是從源頭做起:即從項目一開始就開始重視產品質量,,因為質量是根本,,好的質量加上好的服務才能擁有更強的市場競爭能力。同時也應該認識到質量,、進度,、成本是相輔相成的,決不可以忽略任何一個方面,。過分重視質量,,必然會耽誤進度和加大成本投入,甚至會失去市場機會,;過分節(jié)約成本,、搶進度又會降低質量,質量不好的產品肯定不會在市場上走多遠,。 根據作者多年的經驗,,IT企業(yè)要想在軟件項目實施中做好質量工作,應該堅持下面幾個重要的原則: 不但要主觀認識到質量的重要性,,同時還要落實到行動中,。 軟件質量管理的重要性已經逐漸被國內的IT企業(yè)認可,但是要落實到具體的項目實施工作中,,并通過它提高軟件質量,,還有一段很長的路要走。因為幾乎所有的軟件公司都灌輸著“進度高于一切”的思想,,只要是為了趕進度和發(fā)布產品,,所有影響進度的工作都可以忽略。 因此,,把想法落實到實際工作中是做好軟件質量管理的第一原則,。 樹立提高質量就是尊重客戶的思想。 可以說,,目前很多公司都有“愚弄客戶”的嫌疑,,不管是有心的還是無意的。很多公司實施項目時只要能拿到“錢”就達到目的了,,因此也就不在乎是否掩蓋缺陷和敷衍客戶,。至于后果,那是以后的事情了,。 在軟件產業(yè)發(fā)達的今天,,已經是客戶的買方市場,客戶永遠會選擇質量和服務都表現良好的產品來滿足自己的需求。因此,,我們應該尊重客戶,,把客戶放在“上帝”的位置上,認證做好質量,。 建立規(guī)范的質量保證體系,,逐步使軟件開發(fā)進入良性循環(huán)狀態(tài)。 在沒有開發(fā)規(guī)范的前提下,,軟件團隊是不能開發(fā)出高質量軟件的,。因此軟件團隊一定要建立規(guī)范的質量保證體系,同時把規(guī)范體系逐步落實到工作中,。如果急功近利,,不但會做很多浪費人力和物力的無效工作,還會給客戶留下不好的印象,。 3. 項目中質量管理開展方法 要想在項目中開展質量管理,,就不能脫離中國軟件企業(yè)實施項目的現狀:工期短、任務重,、利潤低,。在這種背景下,開展全面質量管理是不太現實的,,只能根據每個項目的進度和成本實際情況來進行合理的投入,,否則質量投入過大不但耽誤進度,還會影響到企業(yè)利潤,,這是本末倒置的,。在項目實施中,通常是最大限度地去提高質量,。 在圖1的全面軟件質量管理模型中,,我們可以看出質量管理有三大類:技術評審、過程檢查,、軟件測試,,項目實施中的軟件質量管理仍然圍繞著這三類工作來開展。由于很多項目實施中沒有專門的質量人員,,這個時候項目經理應該更多地去組織技術評審和安排人員進行過程檢查,,可以考慮讓軟件測試人員承擔一些質量保證工作,因為測試人員通常是必不可少的,。 下面探討一下每類工作如何開展,。 項目實施中的技術評審 技術評審可以把一些軟件缺陷消滅在代碼開發(fā)之前,尤其是一些架構方面的缺陷,。在項目實施中,為了節(jié)省時間應該優(yōu)先對一些重要環(huán)節(jié)進行技術評審,這些環(huán)節(jié)主要有:項目計劃,、軟件架構設計,、數據庫邏輯設計、系統(tǒng)概要設計等,。如果時間和資源允許,,可以考慮適當增加評審內容。 項目實施中技術評審如表1所示: 表1項目實施中技術評審
很多軟件項目由于性能等諸多原因最后導致失敗,實際上都是由于設計階段技術評審做的不夠,。一味地節(jié)省時間,、關鍵工作僅由某幾個人執(zhí)行、整個項目的成敗依賴于某些“個人英雄”等做法是十分錯誤的,,重要的技術評審工作是不可以忽略的,。 項目實施中的過程檢查 項目經常延期是中國軟件企業(yè)實施很多項目時候的特點,因此項目實施中的過程檢查重點是“進度檢查”,。在實際工作中,,很多項目都是啟動一段時間后就開始不停地加班,,使整個團隊處于疲憊狀態(tài),導致工作效率低下,,最后把項目計劃丟在一邊,。對于這種情況,比較好的做法是不斷地檢查項目計劃與實際進度是否存在偏差,,如果存在偏差則找出問題的根源,,然后消除引起問題的因素,例如可以調整進度安排或者增加人力投入,,這樣就避免了問題不斷放大,。 版本檢查在項目實施中也需要特別注意,因為版本混亂會帶來很大麻煩,,尤其進行測試的時候,。此外,項目實施時候也應該注意文檔檢查,,尤其是一些關鍵文檔的質量,,例如接口文檔、用戶手冊等,。 項目實施中的軟件測試 項目實施相關的全部質量管理工作中,,軟件測試的工作量最大。由于很多項目在實施中非常不規(guī)范,,因此軟件測試一定要把好關,。軟件測試應該重點做好測試用例設計、功能測試,、性能測試,、缺陷管理等工作。 測試用例設計:雖然項目實施中沒有太多時間來設計測試用例,,但是這個環(huán)節(jié)是必不可少的,。項目實施中設計測試用例應該根據進度安排,優(yōu)先設計核心應用模塊或核心業(yè)務相關的測試用例,。設計測試用例的時候可以不設計的特別完善,,基本目標是列出測試重點,對測試執(zhí)行起良好地指導作用,,這個時候的測試用例更像是“測試大綱”,。
|
|