jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          項目中的軟件質量管理

          Posted on 2011-07-04 17:51 幻海藍夢 閱讀(255) 評論(0)  編輯  收藏 所屬分類: 配置管理

          提起軟件質 量管理,人們更多地會想起ISO9001、CMM、CMMI這些“質量管理圣經”。但國內企業做了這么多年的質量認證,卻沒有使軟件質量有大幅度地提高。 實際上,很多企業通過ISO9001、CMM、CMMI等質量認證的目的就不是為了提高質量:有的企業是為了跟風,有的企業則是為了向客戶展示證書。

              在很多軟件企業里,軟件質量管理在內部開發產品時做的相對較好:因為產品開發通常在各個軟件企業的研發中心進行,涉及的人員以內部為主,進度壓力相對較 小,可以投入時間和精力來開展軟件質量管理。對于有客戶進行參與的軟件實施項目,多數企業為了節省成本和趕進度,往往會忽略質量管理,最后導致軟件質量很 差——投產后的軟件經常會被用戶發現很多Bug。實際上,在項目實施中開展質量管理工作更加重要,因為產品上線后的質量問題往往意味著更大的投入。本文將 和讀者一起探討軟件項目實施中如何開展質量管理工作。

              1. 質量管理主要內容

              在探討項目實施中開展軟件質量管理工作前,我們先回顧一下質量管理的基礎知識。質量管理主要包括三個過程:質量計劃制定、質量保證和質量控制。

              質量計劃:是質量管理的第一過程域,它主要指依據公司的質量方針、產品描述以及質量標準和規則等制定出來實施方略,其內容全面反應用戶的要求,為質量小組 成員有效工作提供了指南,為項目小組成員以及項目相關人員了解在項目進行中如何實施質量保證和控制提供依據,為確保項目質量得到保障提供堅實的基礎。

              質量保證:是貫穿整個項目全生命周期的有計劃和有系統的活動,經常性地針對整個項目質量計劃的執行情況進行評估、檢查與改進等工作,向管理者、顧客或其他方提供信任,確保項目質量與計劃保持一致。

              質量控制:是對階段性的成果進行測試、驗證,為質量保證提供參考依據。

              在軟件實施項目中,質量保證對應于技術評審與過程檢查,質量控制對應于軟件測試等工作,如圖1所示。


          圖1 全面軟件質量管理模型

              2. 項目中質量管理的原則

              在軟件項目實施中,由于進度和成本兩大因素的影響,它的質量管理與產品開發有著很大的差別。因此,在項目實施中做好質量管理工作應該堅持自己的原則。

              我們先看一下國內企業實施軟件項目的一些特征:

              “進度高于一切”可以說是國內企業實施項目的最大特點,而“為了短期利益不惜愚弄客戶”、不重視質量、喜歡追究責任則成了這道“靚麗”風景上的點綴。回顧 國內很多IT熱門領域,可以發現多是大家看好某個領域后就會“一哄而上”,然后進行低價為主的惡性競爭,結果是搞得自己沒有能力來重視質量,而為了生存, 還要拼命的加班趕進度,最后形成一個怪圈。可以說在很多IT領域,國內軟件企業為自己精心打造了無數個這樣的“怪圈”。

              國內的企業要想挑出“怪圈”,最根本的辦法是從源頭做起:即從項目一開始就開始重視產品質量,因為質量是根本,好的質量加上好的服務才能擁有更強的市場競 爭能力。同時也應該認識到質量、進度、成本是相輔相成的,決不可以忽略任何一個方面。過分重視質量,必然會耽誤進度和加大成本投入,甚至會失去市場機會; 過分節約成本、搶進度又會降低質量,質量不好的產品肯定不會在市場上走多遠。

              根據作者多年的經驗,IT企業要想在軟件項目實施中做好質量工作,應該堅持下面幾個重要的原則:

              ·不但要主觀認識到質量的重要性,同時還要落實到行動中。

              軟件質量管理的重要性已經逐漸被國內的IT企業認可,但是要落實到具體的項目實施工作中,并通過它提高軟件質量,還有一段很長的路要走。因為幾乎所有的軟件公司都灌輸著“進度高于一切”的思想,只要是為了趕進度和發布產品,所有影響進度的工作都可以忽略。

              因此,把想法落實到實際工作中是做好軟件質量管理的第一原則。

              ·樹立提高質量就是尊重客戶的思想。

              可以說,目前很多公司都有“愚弄客戶”的嫌疑,不管是有心的還是無意的。很多公司實施項目時只要能拿到“錢”就達到目的了,因此也就不在乎是否掩蓋缺陷和敷衍客戶。至于后果,那是以后的事情了。

              在軟件產業發達的今天,已經是客戶的買方市場,客戶永遠會選擇質量和服務都表現良好的產品來滿足自己的需求。因此,我們應該尊重客戶,把客戶放在“上帝”的位置上,認證做好質量。

              ·建立規范的質量保證體系,逐步使軟件開發進入良性循環狀態。

              在沒有開發規范的前提下,軟件團隊是不能開發出高質量軟件的。因此軟件團隊一定要建立規范的質量保證體系,同時把規范體系逐步落實到工作中。如果急功近利,不但會做很多浪費人力和物力的無效工作,還會給客戶留下不好的印象。

          3. 項目中質量管理開展方法

              要想在項目中開展質量管理,就不能脫離中國軟件企業實施項目的現狀:工期短、任務重、利潤低。在這種背景下,開展全面質量管理是不太現實的,只能根據每個項目的進度和成本實際情況來進行合理的投入,否則質量投入過大不但耽誤進度,還會影響到企業利潤,這是本末倒置的。在項目實施中,通常是最大限度地去提高質量。

              在圖1的全面軟件質量管理模型中,我們可以看出質量管理有三大類:技術評審、過程檢查、軟件測試,項目實施中的軟件質量管理仍然圍繞著這三類工作來開展。 由于很多項目實施中沒有專門的質量人員,這個時候項目經理應該更多地去組織技術評審和安排人員進行過程檢查,可以考慮讓軟件測試人員承擔一些質量保證工 作,因為測試人員通常是必不可少的。

              下面探討一下每類工作如何開展。

              ·項目實施中的技術評審
             
             
          技術評審可以把一些軟件缺陷消滅在代碼開發之前,尤其是一些架構方面的缺陷。在項目實施中,為了節省時間應該優先對一些重要環節進行技術評審,這些環節主 要有:項目計劃、軟件架構設計、數據庫邏輯設計、系統概要設計等。如果時間和資源允許,可以考慮適當增加評審內容。

              項目實施中技術評審如表1所示:

          1 項目實施中技術評審

           
             
          很多軟件項目由于性能等諸多原因最后導致失敗,實際上都是由于設計階段技術評審做的不夠。一味地節省時間、關鍵工作僅由某幾個人執行、整個項目的成敗依賴于某些“個人英雄”等做法是十分錯誤的,重要的技術評審工作是不可以忽略的。

              ·項目實施中的過程檢查

              項目經常延期是中國軟件企業實施很多項目時候的特點,因此項目實施中的過程檢查重點是“進度檢查”。在實際工作中,很多項目都是啟動一段時間后就開始不停 地加班,使整個團隊處于疲憊狀態,導致工作效率低下,最后把項目計劃丟在一邊。對于這種情況,比較好的做法是不斷地檢查項目計劃與實際進度是否存在偏差, 如果存在偏差則找出問題的根源,然后消除引起問題的因素,例如可以調整進度安排或者增加人力投入,這樣就避免了問題不斷放大。

              版本檢查在項目實施中也需要特別注意,因為版本混亂會帶來很大麻煩,尤其進行測試的時候。此外,項目實施時候也應該注意文檔檢查,尤其是一些關鍵文檔的質量,例如接口文檔、用戶手冊等。

              ·項目實施中的軟件測試

              項目實施相關的全部質量管理工作中,軟件測試的工作量最大。由于很多項目在實施中非常不規范,因此軟件測試一定要把好關。軟件測試應該重點做好測試用例設計、功能測試、性能測試、缺陷管理等工作。

              測試用例設計:雖然項目實施中沒有太多時間來設計測試用例,但是這個環節是必不可少的。項目實施中設計測試用例應該根據進度安排,優先設計核心應用模塊或 核心業務相關的測試用例。設計測試用例的時候可以不設計的特別完善,基本目標是列出測試重點,對測試執行起良好地指導作用,這個時候的測試用例更像是“測 試大綱”。

              能測試:軟件首先應該從功能上滿足用戶需求,因此功能測試是質量管理工作中的重中之重。功能測試在產品試運行前一定要開展好,否則將會發生“讓用戶來執行測試”的情況,后果非常嚴重。

              性能測試:性能測試是經常容易被忽略的測試。在實施項目過程中,應該充分考慮軟件地性能,運行較慢的軟件仍然不會為用戶所接受。性能測試可以根據用戶對軟 件的性能需求來開展,通常系統軟件和銀行、電信等特殊行業應用軟件對性能要求較高,應該盡早進行,這樣更易于早解決問題。

              缺陷管理:缺陷跟蹤與管理工作也經常被忽略,很多問題會被遺忘,直到客戶再次發現。建議測試人員在項目實施中仍然采用一些工具進行缺陷管理與跟蹤,保證任何缺陷都得到妥善的處理。

              此外,對于一些項目,如果實在沒有測試人員,可以考慮讓開發人員互相進行測試,這樣也可以發現很多缺陷。

              項目實施中的質量管理工作是非常復雜的,存在很多不可以控制的因素,例如沒有質量人員、測試環境不具備等。因此,項目實施中的質量管理原則應該是“最大限度地去提高質量”。只有這樣,才能更好地利用現有資源盡可能地提高質量。

           

          原文:http://tech.it168.com/d/2008-06-29/200806291358627_1.shtml
          http://tech.it168.com/d/2008-06-29/200806291358627_1.shtml
          主站蜘蛛池模板: 阿勒泰市| 海林市| 桃园县| 弥勒县| 株洲市| 和平区| 泰和县| 武威市| 奎屯市| 额济纳旗| 曲水县| 阿合奇县| 竹溪县| 错那县| 礼泉县| 惠水县| 得荣县| 深圳市| 新兴县| 正阳县| 江山市| 巴林左旗| 利津县| 论坛| 稻城县| 常山县| 冕宁县| 清河县| 武隆县| 张家口市| 龙山县| 志丹县| 姜堰市| 南雄市| 三江| 昌平区| 通河县| 宿迁市| 虹口区| 奈曼旗| 拜泉县|