軟件外包的IT審計探討
外包( outsourcing) ,英文的直譯是“外部資源”,指企業整合利用其外部最優秀的專業化資源,從而達到降低成本,提高效率,充分發揮自身核心競爭力和增強企業對環境的應變能力的一種管理模式。在全球化日益加劇的今天,外包這一現代企業管理模式已經被成功地應用到了眾多領域,但是外包應用得最廣泛的還是軟件外包。
軟件外包起源于印度,顧名思義,是指把軟件生產、銷售和維護的某個或某些環節交由其他公司來完成。軟件外包作為一種降低軟件開發成本和縮短軟件開發時間的有效手段,被許多軟件公司應用到軟件產品各個生命周期中。軟件外包有很多優點,但很多企業實施外包最主要的目的并不是為了降低開發成本,而是為了解決企業內部人力資源的限制,使得企業不用招聘新員工就可以接手大型項目。按照外包的內容不同,可以將軟件外包可分為軟件產品開發( software product & technology services)外包、軟件專業服務( software related services) 外包、IT關聯服務( IT enabled services) 外包三類。軟件是一種邏輯產品,它具有不可見性、不可測量性和高度彈性,正因為如此,外包風險軟件的質量控制就變得十分困難。無論是上述哪一種軟件外包方式,也無論在外包過程中哪一階段(發包階段、開發階段) ,都存在一定的風險。
導致軟件外包風險的直接原因是軟件外包雙方信息的不對稱,“委托—代理”關系便是企業和外包承包方之間關系的寫照。由于存在信息不對稱,委托人往往比代理人處于一個更不利的位置。軟件發包方與軟件承包方之間的關系也是如此,軟件承包方往往并不能深入地了解發包方的具體情況,處于信息劣勢狀態,而軟件發包方也對軟件開發過程不了解,這又加劇了軟件外包的項目風險。
為了防范軟件外包風險,提高外包項目的質量,應在軟件外包實施過程中引入IT審計制度對其進行跟蹤審計。本文以軟件產品開發這一軟件外包形式為例,來探討軟件外包過程中實施IT審計的內容和模式。
二、軟件外包的IT審計
IT審計,又被稱為信息系統審計( information system audit) , 目前還沒有固定通用的定義。1996年日本通產省對IT審計作出如下定義:“為了信息系統的安全、可靠與有效,由獨立于審計對象的IT審計師,以第三方的客觀立場對以計算機為核心的信息系統進行綜合的檢查與評價,向IT審計對象的最高領導提出問題與建議的一連串活動。”軟件項目開發過程中引入IT審計的目的是控制整個開發的過程,即項目成本、進度和質量等目標,使軟件開發過程中出現的偏差迅速顯現,從而及時地糾正偏差,使整個開發過程透明、高效。軟件運行過程中引入IT審計是保證軟件提供的信息的可用性、保密性和完整性,從而達到控制軟件的安全性、可靠性與有效性,延長軟件生命周期的目的。
軟件外包IT審計的對象是外包的軟件,它涵蓋了軟件發包、軟件開發和軟件運行維護的整個過程。同建筑產品外包一樣,軟件產品的外包質量是外包的關鍵所在。拋開外包過程中發包人、承包人責任心等一些主觀因素,就外包軟件類型而言,目前軟件外包的主要內容是重寫核心系統、重新設計系統、維護老系統、數據清洗和軟件升級。這些工作非常枯燥且費時費力,承包人很容易偷工減料、馬虎了事,進而影響到整個軟件的質量。為了保證外包軟件的質量,我們在外包過程中引入IT審計制度,對以計算機為核心的軟件從發包開始,到軟件規劃、分析、設計、編程、測試、運行、維護的整個外包軟件生命周期實施IT審計。軟件外包IT審計主要包括以下內容。
(1)發包方的審計。主要審計發包方是否具有完善的項目管理體制,是否具有雄厚的技術實力和優秀的技術人員;是否具有良好的信譽度和品牌度;是否能夠清晰地分析發包軟件的產品需求,并用文檔的形式記錄下來。
(2)承包方的審計。主要是審計承包方是否具有發包方要求的設計技術和人才,軟件開發管理是否正規,是否具有良好的業界信譽。
(3)發包流程審計。主要是審計是否具有完整、詳細的外包合作過程與計劃;合作協議是否規范;發包方是否依據計劃跟蹤承包方的軟件開發過程,并按照文檔化的規范,對承包方的工作陳述、子合同條款、條件以及其他約定進行更改;發包方和承包方雙方的管理者是否一起執行定期的狀態或協調評審;承包商是否參與定期技術評審和交流;按照文檔化的規范在所選擇的里程碑處進行正式評審,評價承包商的軟件工程完成情況與結果。
(4)軟件開發的管理、規劃與組織的審計。主要是審計軟件的管理、計劃與組織方面的策略、政策、標準、程序和相關實務;以軟件開發計劃為標準,跟蹤軟件開發過程,包括軟件開發的規劃、分析、設計和實施過程, 比照CMM 和ISO9000標準,對出現的問題及時更正;盡量減少軟件開發錯誤的“水波效應”;審計發包方是否按照文檔化的規范進行驗收測試,定期評價承包商的能力。
(5)軟件技術基礎設施與操作實務審計。主要是審計評價承包方在技術與操作基礎設施的管理和實施方面的有效性及其效率,以確保其充分支持軟件的目標。
(6)資產的保護審計。主要是對邏輯、環境與信息技術基礎設施的安全性進行評價審計,確保發包方能保護信息資產, 防止信息資產在未經授權的情況下被使用、披露、修改、損壞或丟失,造成不必要的、意想不到的災難。
(7)災難恢復與業務持續計劃審計。主要審計在發生災難時,能夠使發包方的業務持續進行,并對這種計劃的建立和維護流程進行評價。
(8)軟件實施與維護及業務流程評價與風險管理審計。主要是對應用軟件的實施與維護方面所采用的方法和流程進行審計,評估業務系統與處理流程,確保根據組織的業務目標對相應風險實施管理。
目前國際上對IT項目進行監控常用的方法是IT項目管理。雖然IT審計和IT項目管理都是由第三方對軟件的質量進行監督管理,但IT項目管理的對象是工程項目,僅覆蓋軟件的開發階段,即在一定的成本、進度和質量目標下,控制項目的開發,當項目完成后,項目管理工作就結束了,而對占軟件生命周期60% ~70%的軟件運行維護階段的質量卻沒有監控。實際上,軟件開發
過程中的測試工作并不能把軟件開發過程的所有bug(故障)全部測試出來,而這些bug的存在是軟件運行過程中的隱患,隨時都會轉化為軟件的運行風險。外包的軟件由于軟件發包方和承包方的多種原因,在軟件中就可能存在較多的bug,如果不對軟件運行和維護階段進行監控,無形中就加大了軟件外包的風險。軟件外包過程引入IT審計,不僅是在軟件的開發階段進行跟蹤審計,而且還包括了在軟件的運行維護階段進行監控,這在制度上保證了外包軟件的質量,避免了外包風險。
印度軟件企業為了承攬一些歐美國家的外包軟件業務,花費巨大的財力,想方設法獲得有關軟件過程管理的CMM (CapabilityMature Model)和ISO9000認證。我國規模大的軟件公司并不是很多,大多是一些100 人以下的小公司,它們的資金狀況并不是很好,無法承擔進行CMM等認證的費用。但軟件外包這塊“蛋糕”實在誘人,為了達到規范軟件開發過程、獲得更多的外包項目這一目的,可以在承包軟件項目時,引入IT審計制度。在IT審計過程中借鑒CMM模型的思想,借助“第三方”專業的IT審計師技術及其經驗來規范外包項目的計劃、開發實施的進度和質量,對后期的運行維護等過程進行監控。在CMM第二級———CMM2中的“軟件子合同管理”KPA ( key process area)就已經涉及了軟件外包管理問題,它規定了企業應如何管理軟件開發業務和軟件開發子合同。軟件外包管理實際上涵蓋了軟件生命周期中的各個過程,任何一個軟件外包過程都會涉及到需求管理、軟件計劃、質量管理、項目追蹤、配置管理等內容。CMM模型定義了軟件子合同管理要達到的目標、實施時必須履行的承諾和需要具備的能力,定義了進行軟件子合同管理應該進行的活動。但是, CMM模型中只是給出了“應該做什么”,“應該達到什么樣的目標”,而對“如何做”這一關鍵問題并沒有給出相應的指導。我們在軟件外包中引入IT審計時,可以借鑒CMM模型的一些成熟的經驗,不是孤立地看待CMM的軟件子合同管理,而是從管理入手,將其視為能將其他軟件開發過程從公司內部部分延伸到公司外部的管理規范、管理技術和管理理念。這樣引入IT審計,就可以使軟件發包方能夠有效地管理與控制其業務分包過程。
三、軟件外包IT審計的實施
1. IT審計證據的獲取
軟件外包IT審計的證據也是通過查詢文檔、問卷調查、數據抽樣等方式獲得的。由于計算機技術和信息系統的日益復雜,導致系統的輸入和輸出的對應關系日趨薄弱,系統中數據處理幾乎不會留下痕跡。因此, IT審計人員必須清楚系統的功能模塊,才能獲得精確可靠的數據資料,不能僅僅通過簡單的輸入輸出審計就作出結論。就是說,需要IT審計人員對軟件外包過程進行跟蹤審計。
軟件外包IT審計的主要目標是提高外包軟件的安全性、可靠性和有效性。IT審計人員在對審計證據進行評價時,首先要考慮控制需求。即評估收集的審計證據是否滿足事先制定的控制需求和控制目標,如果控制點不清,就需要審計人員根據經驗作出判斷。在這一過程中,控制矩陣經常被用來衡量系統控制的適當程度。第二,審計人員必須考慮補償性控制和重疊性控制。補償性控制指某一系統的健全機制對其他有缺陷的控制機制形成補償。而重疊性控制則是指某一系統同時擁有兩套健全的控制。第三,控制的相關性和效果也必須受到重視。但即使擁有完備的控制機制,軟件也有可能出現意外情況,因此, IT審計人員必須執行測試程序并評估控制與控制目標的相關性。一般說來, IT審計人員都應當先審計補償性審計,再報告控制缺陷。此外, IT審計人員也需要使用一定模型并根據自己的經驗收集審計的證據,以判斷審計計劃中控制目標是否得到實現。在審計過程中,工程可靠性模型、貝葉斯模型和信息系統效果評價模型都是IT審計人員經常使用的。
2. 軟件外包IT審計的實施模式
軟件外包中的IT審計主體是外部審計主體。即獨立于發包方和承包方的“第三方”審計主體,IT審計工作包括審計準備活動和正式的審計活動。IT審計工作的準備包括收集背景信息,估計完成審計需要的資源和技術,包括:合理進行人員分工;與發包方和承包方項目負責人舉行一次正式開始審計的會議,確定審計范圍,制定日程,解釋審計方法;使雙方互相認識,闡明問題,強調審計的關注點,使得審計工作得以順利進行。在IT審計實施的過程中,獨立于發、包雙方的“第三方”審計人員對照審計目標開展工作,針對出現的問題提出改進的方案。同樣,在審計完成后,再召開一次正式會議,雙方項目負責人交流審計結果,提出改進建議。這將增加審計建議的接納程度,也給了審計師一個機會來表達他們的觀點。會議之后寫出報告,提交發、包雙方。
在審計過程中采用什么樣的模式來保障IT審計工作的公平有效,是推行IT審計制度的首要問題。IT審計在中國登陸的時間并不是很長,研究其實施模式的學者還不多,借鑒目前在IT工程項目管理中項目監理的應用模式,根據IT審計內容和程度不同,提出以下三種方式。
(1)咨詢式監理。所謂咨詢式監理,即只對用戶方就企業信息化過程中提出的問題進行解答,其性質類似于業務咨詢或方案咨詢。這種方式費用最少,監理方的責任最輕,適合于對信息化有較好的把握、技術力量較強的用戶方采用。
(2)里程碑式監理。是將信息系統的建設劃分為若干個階段,在每一個階段結尾都設置一個里程碑,在里程碑到來時通知監理方進行審查或測試。一般來講,這種方式比咨詢式監理的費用要多,監理方也要承擔一定的責任。不過,里程碑的確定需要乙方的參與,或者說監理合同的確立需要開發方的參與,否則就會因對里程碑的界定不同而互相扯皮。
(3)全程式監理。全程式監理是一種復雜的監理方式,不但要求對系統建設過程中的里程碑進行審查,還應該派相應人員全程跟蹤,收集系統開發過程中的信息,不斷評估開發方的開發質量和效果。這種方式費用最高,監理方的責任也最大,適合那些對信息系統的開發不太了解、技術力量偏弱的用戶方采用。
以上方法各有弊端。因為IT審計與項目監理不同,項目監理在項目開發結束以后就結束了,而IT審計在項目的整個生命中都存在,正因為如此,單獨采用咨詢的模式就不妥當。里程碑監理所采用的對軟件開發過程的審查和測試,在一定程度上能及時發現軟件錯誤,但是由于軟件這種產品的特殊性,往往僅對一兩個里程碑審查和測試,是不能發現其中的bug的,這樣,軟件產品就存在很大的風險。另一方面,由于在工程中交流的障礙,造成雙方信息的不對稱,還會由于交流不充分而造成不必要的錯誤。因此,綜合三種模式,軟件外包IT審計應采用圖1的模式。
IT審計工作實施時,首先是IT項目發包方向IT審計負責人咨詢,并請IT審計負責人派IT審計小組深入承包方工作現場,對項目進行全過程的實時監督、控制和管理,對項目出現的問題,及時提出改進的意見,在審計過程中接受專業審計小組的指導,并及時地向IT審計負責人報告審計結果。
作為軟件項目中的項目外包或者部分功能模塊的外包,由于軟件開發的固有特性(風險大,柔性強,人為因素突出,結果不容易測量等) ,使軟件項目的外包管理變得十分復雜。如何控制分包方的開發進度和質量等關鍵因素,需要在實踐中不斷探索。
責任編輯:葉雨田
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網
-
新基建助推 數據中心建設將迎爆發期
2020-06-16數據中心,能源互聯網,電力新基建 -
泛在電力物聯網建設下看電網企業數據變現之路
2019-11-12泛在電力物聯網 -
泛在電力物聯網建設典型實踐案例
2019-10-15泛在電力物聯網案例
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業發展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網 -
5G新基建助力智能電網發展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市