軟件企業的ISO9001認證
第一, 軟件企業從項目策劃開始,就必須同時規劃完整的設計文檔,把文檔規劃納入軟件設計不可或缺的一部分,與編程設計放在同等重要的位置。這點對軟件企業導入ISO9001質量管理體系具有十分重要的意義。
軟件企業標稱人員的流動率高,這是IT行業的特點。尤其我國大多數軟件企業規模偏小,編程人員流動率更高,據統計有的高達30%。同時,技術人員還會有內部項目之間的流動,如果沒有建立嚴格的高水平的文檔體系,產品的開發難以正常進行。
印度的軟件產業國際知名,就是應為他們軟件工程管理水平高,他們的軟件產品可以不依賴任何一個人,誰都可以立即辭職,產品的開發還是會正常進行。他們的文檔做的很詳細,詳細到只要有個文檔就可以編碼的程度,而且所有的東西(包括草稿)都有文檔。國內軟件企業常見的通病是,一個軟件中有多個版本,每個人都覺得別人做的差,自己再搞一套,又不留下文檔注釋,叫后面接手的人無從著手。
所以,軟件企業應嚴格文檔策劃,軟件開發同樣遵循設計策劃—開發—評審—驗證—產品檢測—安裝運行—反饋—修改等過程。與軟件產品直接相關的通常有以下幾種文檔:
1.開發文檔。企業接受一個開發項目后,首先熟悉
業務流程,確定需要實現的功能,然后熟悉業務流程,確定需要實現的功能,然后選擇系統和開發工具,對開發做一整體構架。一個大的程序可劃分多個模塊,交給多個程序員或開發小組同時進行。開發應吸取以往設計的經驗教訓,避免重新出現同樣或類似的問題;產品的設計應便于測試、維護和使用;文檔需要對開發的規則、約定和軟硬件接口定義等有詳細記錄。
2.編程文檔。程序員在編寫程序代碼時,需要對關鍵點和實現重要功能的程序進行注釋,對一些公用模塊、自己開發的函數、功能鍵的源代碼更要有詳細注釋說明。對軟件版本升級也要有詳細記錄。
3.測試維護文檔。軟件在交付使用前需要進行調試,以防不成熟的軟件系統交付使用后出現問題。所以要對測試進行認真策劃,制定模塊測試、集成測試、系統測試計劃,確定測試是否完成的判斷準則。另外,客戶的軟件應用環境多種多樣、千差萬別,軟件編寫稍不嚴謹便會出現漏洞(bug),這也需要調試后修改程序,做好記錄。
所有文檔記錄格式都應是規范的,內容包括出錯現象,原因分析、改進步驟、測試結果等。因為建立良好的文檔說明可以保持程序的可讀性和易維護性,從而保證程序開發的連續性。
ISO 9001:2000標準要求建立并保持一個文化化的質量管理體系,這個體系應是貫穿軟件整個生存周期的一個綜合過程,以便在開放過程中保證質量,而不是在過程結束時才發現質量問題。應確保文件化質量管理體系能夠有效地貫徹執行。ISO9001:2000標準要求的質量管理體系文件和記錄規范手控與我國軟件企業需要提高管理水平的實際結合,能豐富企業的技術積累,是軟件企業提升技術管理水平,增強競爭力的有效手段。
第二, 大多數軟件企業管理流程化,各部門和個人的職責權限劃分明確,企業可通過建立一整套的管理系統在內部網上運行,實現辦公無紙化。這套系統應由公司指定專人(系統管理員)管理,對個人分別授予策劃、評審、驗證、開發、調試等權限,設置個人的帳號/密碼。各人由所授予的帳戶/密碼進入系統,進行所設權限的操作,這套流程應設計成未經過上一道操作不能流到下一道程序,過后還應該留有操作時間備注。
軟件企業的文件常是電子文檔形式,文件控制同樣可以在網絡上進行,文件的編寫、修改、審核、批準、簽發由相關具備權限的人員操作,留下各自的操作時間。文件分發也可在網絡上進行,不過程序最好設計成文件在網絡上分發時,其接受方能回傳“已接受”信號并在發送方留下標識。發放的文件應設為“只讀”文件“,不得隨意修改。只要內部職責權限設置嚴格規范,網絡上有操作時間記錄,先后秩序得當,可認為是符合ISO900:2000標準關于文件控制相關條款的要求,是有效的、充分的。
第三, 關注客戶投訴??蛻敉对V有些是設計上的問題,如系統可靠性不足,兼容性不夠,程序設計有缺陷等,有待設計人員能力經驗的提高來解決;有些是使用上的問題,是操作不當引起的。軟件使用者水平不一,軟件提供者需要編制完善的使用說明文檔提供給用戶,或是在系統集成“幫助”文檔(F1)。
多數企業習慣將所有文件和記錄都放在計算機網絡上,帶有一定風險,病毒的傳播和系統的不穩定都可能給軟件運行帶來隱患。這時,要考慮到安全性與保密性的問題,應該有災難性故障的恢復方案和其他防范措施。
第四,應該有管理上的計劃文檔,如開發進度控制、確認開發階段輸入輸出要求,確定開發階段輸入輸出要求,確定各階段的驗證準則,軟件項的版本標識,故障發生和維護記錄的數據統計等。對電子文檔,同樣要有批準、存取、分發和歸檔的程序。
ISO9001:2000標準將產品分為硬件、軟件、流程性材料和服務四種通用產品類別,盡管這四種類別產品的質量管理體系要求基本上是一致的,但相應的生產特點不同,產品質量的要求及其控制的因素也不同。軟件企業的生產和開發融為一體,這是有別于傳統制造業的重點特點。軟件是無形的產品(當然有代碼、文檔等表現形式),與傳統制造業的有形產品不同,在產品實現過程中,腦力因素起決定性作用,已經沒有嚴格意義上的生產。軟件的生產就是軟件的設計開發和調試。
所以,在應用ISO9001:2000標準時,應根據軟件產品特點,加強企業的文件控制,做好與ISO9001:2000標準有關的所有文檔設計,規劃各種類型文檔,包括系統開發文檔、程序性文檔、產品文檔、計劃性文檔等。詳細記錄客戶的各種需求,將該需求的規格說明與企業自身積累的開發定義規則等結合起來,作為開發文檔輸入的一部分納入文檔控制和配置管理的范疇,使認證企業的質量管理體系更具符合性、適宜性、有效性。