ISO標準和過程改進技術對我國軟件企業的啟示
ISO標準和過程改進技術對我國軟件企業的啟示
2003年06月20日
電子信息技術的迅猛發展大大推動了全球經濟的增長。與此同時,計算機軟件在電子信息技術中的地位日益重要,軟件產業作為一個朝陽產業對各國經濟的貢獻越來越大。在美國,軟件產業成為繼汽車、電子工業后的第三大支柱產業。90年代后期,美國軟件產業以每年12.5%的速度遞增著。1998至1999年度,印度的軟件銷售額已達到40億美元。我國1999年的軟件銷售額也上升到176億元人民幣。此外,軟件技術對一個國家的安全和社會穩定也是至關重要的。在信息時代的今天,存儲在龐大計算機系統中的天文數字般的信息一旦受到“病毒”感染或“黑客”攻擊,就有可能造成難以估量的損失。為此,各國都在積極制定有利于軟件產業發展的政策和措施,從宏觀上為軟件企業的發展營造良好的社會環境。但另一方面,軟件企業發展的真正動力應該來自企業內部,軟件企業只有加強質量管理,積極創新,才有可能在激烈的競爭中立于不敗之地。ISO標準和過程改進技術對加強軟件企業的質量管理工作可以起到顯著的推動作用。
ISO標準與軟件企業的質量管理體系
自從1987年公布ISO 9000族標準以來,ISO 9000族標準已經成為全球最有影響的質量管理和質量保證標準。ISO 9000族標準的制訂和實施反映了市場經濟條件下供需雙方在進行交易活動中的要求。供方只要按ISO 9000族標準組織產品的開發和生產,并通過權威機構的認證,在產品質量方面就會贏得顧客的充分信任。另一方面,顧客在市場上選購產品時,更愿意選擇通過質量認證的企業所生產的產品,從而減少一部分多余的或力不從心的繁瑣的質量檢驗活動。
ISO 9000族標準建立在“所有工作都是通過過程來完成的”這樣一個認識基礎之上。每一個過程都由諸如原材料、設備、組織和人員等作為輸入,輸出的是過程的結果,如半成品、成品和計算機軟件產品等。質量管理是通過對組織內各種過程進行管理來實現的。一個組織的各種職能和各層次管理的一貫目標應該致力于不斷地進行質量改進,以滿足顧客和社會的需要。
在ISO 9000族標準中,與軟件企業關系最密切的是《ISO 9001 質量體系-設計、開發、生產、安裝和服務的質量保證模式》和《ISO 9000-3 質量管理和質量保證標準 第三部分:ISO 9001在計算機軟件開發、供應、安裝和維護中的指南》。
ISO 9001標準從20個方面全面定義了質量體系要素,規定了質量體系的要求,如果產品開發、生產者或供應方達到了這些要求,就表明具備了質量保障能力。
盡管ISO 9001標準全面明確地定義了質量管理工作的各個方面,包括了軟件開發活動的全過程,但是ISO 9001主要是針對制造業制訂的,沒能詳盡地描述軟件企業的質量管理工作。因此,ISO專門制訂了ISO 9000-3作為ISO 9001標準的實施指南。
ISO 9000-3作為軟件企業實施ISO 9001的指南,對其中的20個質量要素作了進一步的解釋與說明。其主要思想是:軟件的開發和維護有著一系列的任務。這些任務的順利完成需要各級管理層和開發人員的共同配合和一致協調。其中高級管理層應該根據其在過去工作中積累的經驗來制訂總體策略,下一層的管理者負責制訂用來實現總體策略的實施計劃,并管理他們所制訂計劃的執行。開發人員在計劃時間內、以盡可能低的費用開發出滿足功能要求的軟件的前提是準確地理解用戶需求。
需要指出的是,ISO 9000-3對軟件企業的軟件開發和維護活動起到的是指導性的作用,不帶有強制性,而具有建議性。一個軟件企業在貫徹和執行ISO 9000-3的過程中,應該根據企業自身的基礎和現狀,有針對性地開展軟件質量管理和質量保障活動。軟件企業影響軟件質量的全部因素在軟件生命周期內始終處于被監控的狀態,實現持續不斷的質量改進。
此外,ISO/IEC于1995年制訂了《信息技術-軟件生存周期過程》(ISO/IEC 12207:1995),全面系統地描述了軟件生存周期過程,是ISO 9000-3實施指南的進一步擴展。
軟件過程技術及其發展
隨著軟件工程的深入發展,人們逐漸認識到:提高軟件生產率和軟件質量的瓶頸在于軟件開發和維護過程中的支持和管理問題,意識到關鍵的是“軟件過程”
從1984年開始在計算機界掀起了“軟件過程運動”,針對軟件過程進行了一系列的研究和討論,進而誕生了軟件過程技術。
軟件過程就是軟件生存周期所涉及的一系列相關過程。過程就是活動的集合,活動又是任務的集合,任務是把輸入轉換為輸出的操作。
軟件過程技術的基本思想是:軟件開發和維護過程的質量對軟件產品的質量和軟件生產率影響很大。軟件過程技術的目標就是通過工程化、標準化和形式化的方法管理軟件的開發過程,從而改變目前基于手工的軟件生產方式,實現大規模的軟件生產。
目前,軟件過程技術的研究大致可分為以下三個方面:①軟件過程建模語言。提出各種適合于定義和描述軟件過程的方法和手段。②軟件過程支持。研究在以過程為核心的軟件工程環境的設計和實現中所涉及的各種技術問題,如體系結構、實施機制、工具集成、過程可視化、一致性維護、并發控制和事務管理等。③軟件過程改進。研究如何對軟件開發機構現有的軟件過程進行評估和改進。
由美國卡內基·梅隆大學軟件工程研究所(SEI)開發的軟件過程持續改進模型-能力成熟度模型CMM(Capability Maturity Model)是軟件過程改進技術的代表。
CMM描述了一個有效的軟件過程中的關鍵要素,討論了不成熟的軟件機構發展成為有規律的、成熟的軟件機構的改進過程。CMM涉及對軟件開發和維護活動進行規劃、軟件過程工程化和對軟件過程進行管理的實踐活動。通過這些實踐活動,能夠提高軟件機構滿足成本、進度、功能和質量要求的能力。
所有軟件都是經過一些過程而產生出來的。但這些過程往往是混亂和不一致的,從而導致缺乏可預見性和可重復性,缺乏改進的基礎。為此,在軟件開發期間需要連貫的、明確的過程,從而使這些過程能夠被連續地執行,并被監督和演化。
CMM對于想要控制軟件開發和維護過程,以及希望在機構內部形成良好的開發次序和環境的組織,是有很大幫助的。
CMM將軟件機構的成熟度分為五個等級,如圖1所示。
改進軟件過程期望達到下面幾個目標:
1.提高軟件項目的效率。有效地運用項目所擁有的各種資源,包括人員和時間,以達到提高生產率的目的。
2.提高軟件項目的可預見性。根據以往的項目經驗和數據,盡可能準確地估計開發軟件所需的成本和時間,并使這些估計更具魯棒性,即項目環境和目標的微小變動不會使這些估計無效。
3.提高軟件產品的質量,以更高的準確度和可靠性達到預期的目標。
有關專家通過觀察發現:遵循系統的和可重復的演化過程的軟件企業,與過程是專設的、混亂的軟件企業相比,可以保證類似以往成功項目的可重復性,具有更高的軟件生產率,開發出來的軟件也具有更高的質量。
國外軟件企業管理經驗介紹
幾十年來,美國一直保持著軟件霸主的地位。從80年代中期開始,一些大的計算機廠商開始認識到必須改進開發軟件產品的過程以提高軟件產品的質量和及時交付使用的能力,并組織專門力量進行了這方面的研究工作。IBM的Santa Teresa實驗室依據Malcolm Baldrige國家質量獎標準和ISO 9000系列標準對軟件開發工作涉及的各個方面進行了評價和改進,把軟件質量成熟性水平分成意識、應付、管理和綜合4個階段,形成了一套包括領導、技術和過程方法三足鼎立的質量管理策略。微軟的哲理是追求高度的靈活性,其目標是既要達到自由,又要有嚴格性。在組織產品開發時,有許多并行的小組(每組3至8人),這些并行小組自由地開發產品的功能特性。在擴大產品的同時引入新技術、新概念。強調各小組的工作要同步穩定地進行。
TickIT是由英
評論