陳健平,郭大朋
民營軍工企業軟件質量管理的思路
陳健平,郭大朋
民營軍工企業通過多年軟件開發的實踐,逐步認識到其在軍工產品研發中的重要性,同時也認識到軟件質量管理的重要地位。為此,在軟件開發過程中,必須熟知軟件質量管理的途徑,了解軟件管理的重要環節,并在過程管理的各個階段重視過程的細節,嚴格遵照軟件開發規程和規范的要求,不斷地實踐,不斷改進。文章提出了民營軍工企業軟件質量管理的思路,供同行參考。
民營;軍工企業;軟件;質量管理
說到軟件質量,首先要說質量。質量是一個實體的所有的特性,能夠滿足各種顯式和隱式的需求。質量是必須滿足顯式和隱式需求的程度。質量是一個程度,不是完美的100%滿足需求。因為完美是不可能的,所以對于軟件測試來說,軟件質量管理,應能保證軟件經過測試達到可以使用的標準,可以使更多用戶用起來順暢。
在國家軍民融合大政方針指引下,民營軍工企業不斷增加,其中也不乏有開發軟件的企業,這些民營軟件企業開發軟件的質量也引起企業管理者和軍方使用者的共同關注。
軟件的質量管理的內容包括了執行質量政策、完成質量目標及管理職責的一系列活動。這些活動的結果,使項目能夠圓滿達到初始制定的需求。隨著信息技術的廣泛使用,軟件質量受到了越來越多的關注和重視。實踐證明,軟件質量的高低已愈加成為企業的核心競爭力之一。而這種競爭力,除了在功能上體現產品的先進性之外,更多層面則體現在產品是否具有可靠且穩定的質量保證。隨著科學技術及信息化的高速發展,軟件應用的領域在進一步擴大化,隨之而來的則是軟件進一步大型化和復雜化,以及不斷因需求迫切而縮短軟件開發周期,使得供求矛盾進一步突出,這都會對軟件開發質量形成威脅。為此,惟有在軟件質量管理和服務上狠下功夫,并在軟件開發初期就以利潤最大化和質量最優化為市場導向,才能使企業在同行中具有競爭優勢。
在民營軍工企業中,保證軟件質量最大的困難是企業內部管理不完善和不協調。因此必須加強內部質量管理工作,特別是最高管理層及質量管理部門的領導,要主動、認真學習先進的管理技術和同行的成功經驗來規范本企業內部的管理,通過管理的深化和細化,提高軟件產品的質量。在有條件的民營軍工企業,應把建立軍工質量體系放在首位,并使之良好運行。在建立質量體系時,一定不能照抄標準要求,而必須認真研究和分析本企業軟件開發過程的特點和規律,找出本企業質量體系存在的薄弱環節,予以加強和完善。
其次,軟件開發企業應確立和借鑒CMM(能力成熟度模型)思想,結合企業實踐,認真開展過程改進活動。所謂CMM,其共分為五個成熟等級,主要是針對項目計劃、需求管理、配置管理、質量保證和項目跟蹤以及監督5個關鍵過程領域,以加強質量管理工作。民營軍工企業雖然對其熟悉、起步較晚,但也必須努力學習,才能迅速趕上。
第三,軟件企業的高層領導應在質量管理工作中發揮主導和引導作用。質量大師朱蘭強調:產品質量問題80%出于管理層,而只有20%的問題起源于員工。日本質量管理專家石川馨認為:QC小組的作用最多只能解決10%的質量問題,而90%的問題需要由管理層來解決。這些大師總結的成功經驗,再一次強調說明了領導在質量管理中的作用和地位。ISO9000質量管理體系的八項原則,其中第二條就是“領導作用”。自上而下推動企業質量管理工作雖己成為企業家們的共識,但在部分質量管理基礎薄弱的民營軍工企業,尤其是軟件開發企業,這種共識還不能真正落實到實踐工作中。因此,提高最高領導者的質量意識仍是最關鍵的因素。需要特別指出的是,高層領導對質量管理工作的推動作用是下級各級負責人不可比擬的,也是下級負責人不可代替的。
第四,正確認識人的因素在軟件質量管理中的重要性。多年的質量管理實踐己充分證明,提高軟件質量,除領導重視外,還須不斷提高軟件開發人員及軟件質量管理人員的素質,充分調動和發揮他們的積極性和創造性。組織質量意識和技能培訓是提高員工質量素質的重要手段。在軟件開發企業內部,要營造鼓勵技術人員和管理人員積極參與質量管理活動的氛圍,為他們創造學習、晉升的機會和條件,使他們產生不斷的完善和改進軟件的動力,并付諸實踐,使軟件質量不斷提高。同時,要保持和穩定軟件開發人員隊伍,以保證軟件項目開發活動的可持續性。
保證軟件質量有三個很重要的環節,缺一不可。第一是嚴格執行軟件開發流程。流程是在多種軟件開發實施過程中成功經驗的總結,是實踐出來的真理。按規定的流程開發軟件,可以指導工作不犯錯誤或少犯錯誤,從而提高軟件質量。同時,流程還將對軟件的開發成本和控制開發進度有很好的指導作用。
第二是掌握軟件開發技術。包括了分析、設計、編碼、測試四方面的技術。軟件需求分析如同硬件的方案論證,都是項目的靈魂。良好的軟件需求分析是軟件項目開發成功的關鍵,若是需求分析做得不透徹,就可能出現返工,勞民傷財,計劃拖延;硬件產品的質量是設計出來的,這早己成為人們的共識,軟件產品也不例外。良好的設計,決定了軟件產品的最終質量;編碼技術產生正確高效的代碼;測試是保證軟件的最后一關。所以以上四項技術對軟件質量來說都至關重要。
第三是組織軟件評審。評審是借助專家的聰明才智和豐富經驗,對新開發的軟件“評頭論足”,多方位、多視角的審視軟件,是一種預警手段。評審可以分階段、分時段進行。經驗告訴我們,評審可以有效避免開發中犯錯。
1.在整個軟件生命周期中都該進行質量控制
先前曾出現過軟件質量控制的錯誤認識,認為編碼階段是軟件質量控制的開始期,之后才有可執行程序和測試等控制活動。但ISO9000質量管理體系和CMM軟件能力成熟度模型所指出的過程活動,都表明此看法是一種對軟件質量控制的偏見。產品開發的全過程都貫穿著質量控制,軟件產品開發同樣如此。
2.不同階段活動不同,應采用不同的技術
GB/T8567中規定,軟件生命周期分為七個階段:可行性研究和項目開發計劃、需求分析、概要設計、詳細設計、編碼、測試、維護。軟件質量控制應根據各個階段的特殊性合理采用分析技術、設計技術、編碼技術、測試技術。
3.合理使用“改正性”和“預防性”措施
改正性措施是一個人們常用的反饋過程,該過程包括收集質量不合格信息,識別非正常原因,以及對流程執行過程的控制與測量等。預防性措施主要包括收集潛在質量問題信息,識別偏離質量標準等內容。改正性和預防性措施的目的都是為了分析并消除那些缺陷在整個軟件部門產生的原因,而不是處理或直接修改已經發現的缺陷。
軟件質量保證需對過程和產品進行評價,以及對評審、驗證過程中發現的不符合項進行處理并進行跟蹤監督,以確保軟件產品遵循和符合標準、程序和規程。軟件質量保證主要包括以下活動:
1.識別不符合項。在產品評價過程中,軟件質量保證可依據GJB5000A的要求,對軟件產品進行評價,對不符合項進行標識。
2.處理不符合項。軟件質量師向軟件項目技術負責人通報不符合項。由項目技術負責人牽頭處理,并將處理過程和結果填入不符合項處置記錄表中。
3.形成不符合項報告。軟件質量管理部門派專人對不符合項處理進行跟蹤檢查,確保不符合項的問題得到有效處理后,形成不符合項報告并歸檔。
軟件工程化是20世紀六十年代末開始逐步發展起來的一門新興的工程學科。軟件工程化管理是一種對軟件開發過程實施質量管理的工程化措施,它是借助和利用硬件開發管理的指導理論和實踐經驗,針對軟件產品開發的特點,對軟件開發全過程進行管理和控制,從而保證軟件開發的進度和質量。實踐證明,軟件工程化管理的實施,增強了軟件開發的計劃性和可維護性,同時還降低了開發成本,提高軟件開發的成功率和生產效率。
軍用產品計算機軟件工程化管理是軟件質量管理中極為重要的部分。在軟件質量管理過程中,軍工人不斷總結提高,制定了相關的國家軍用標準,如:GJB5236-2004《軍用軟件質量度量》、GJB4072A-2006《軍用軟件質量監督要求》、GJB5235-2004《軍用軟件配置管理》、GJB2434A-2004《軍用軟件產品評價》及相關軍用指導性標準,如:GJB/Z157-2011《軍用軟件安全保證指南》等文件,大量實踐證明,這些標準的誕生和實施,使軍用軟件質量得到了可靠保證。
軍工產品的軟件質量己直接關系到武器裝備效能的發揮,甚至關系到戰爭的勝負和戰士的生命。因此,要做好這項工作,企業最高管層必須認識到軟件質量管理工作的重要性,除了有高度的政治責任感外,還應帶頭認真學習相關國家標準和國家軍用標準,明確軟件質量管理的技術途徑,了解軟件管理過程中的關鍵環節,同時在實踐過程中嚴格按照規程和規范要求實施,確保軟件質量不斷改進。
[1]閆宇華等.GJB5000A軍用軟件研制能力成熟度模型[S].北京:總裝電子信息基礎部,2008.
[2]劉陽.軟件質量保證過程的實施要點[J].電子質量,2016,(06):64-68.
[3]葉渭川,戴其龍.軍工“質量人”的素質探究[J].中國軍轉民,2015,(03):68-72.
[4]聶蕓.基于CMMI的軟件質量保證過程管理[J].軟件工程師,2015,(08):10-11.
[5]畢松山.軟件質量保證措施研究[J].計算機光盤軟件與應用2014,(12):85-86.
[6]周明德等.GB/T8567計算機軟件文檔編制規范[S].北京:中國標準出版社,2006.
F276.5/F253.3
A
1008-4428(2017)11-26-02
陳健平,男,江蘇南京人,江蘇泰達機電設備有限責任公司助理工程師,研究方向:質量管理;郭大朋,男,江蘇邳州人,江蘇泰達機電設備有限責任公司助理工程師,研究方向:生產計劃管理。