內容提要:作者通過對定制軟件系統驗證難度和風險的分析,提出了開發階段導入CMMI軟件成熟度模型集成管理,并將開發過程和驗證過程有機融合,從而為降低系統驗證風險、提升驗證效率提供了一條解決之道。
定制軟件,是根據企業或被監管公司的實際業務和個性化需求,專門開發的業務系統或軟件,
這類軟件在GAMP5 驗證實施指南被劃分到第5類,從系統驗證的角度來看, 這類軟件的使用存在極高的風險,因為用戶沒有使用經驗且缺乏系統可靠性的資料。
由于定制類軟件系統復雜、開發風險高,具有新穎性、驗證難度大,一直是制藥企業CSV驗證的重點和難點,如何才能既保證整個系統開發既實現預定功能、又能夠做到高效、低成本合規呢?盡管這是個讓大伙撓頭的問題,但還是很值得我們大家去思考的。今天,我想從另外不同的角度和大家一起來探討這個問題。
一、問題分析
1、傳統的軟件的開發和驗證流程大都是這樣的
這樣的流程有如下3個特點:
1)先完成軟件開發,事后再做軟件驗證
2)采用的是傳統的軟件項目管理方法
3)開發和驗證流程是分開的,沒有結合
顯然,按這樣的流程來做系統驗證,會帶來如下諸多弊端:
1)開發和驗證資料脫節,風險極高;
2)測試工作量大,且事后才能發現Bug;
3)系統驗證工作量大、成本高、效率低。
2、筆者經過重新思考、流程梳理,建議選擇如下實施方法:
為什么要做這樣的選擇,下面我來為大家做詳細解讀。
二、方案比較
1 系統驗證策略比較
“先開發、后驗證”,是指軟件開發完成后,交付前或交付后再來進行軟件的驗證;
“邊開發、邊驗證”,是指軟件在開發階段,完成一部分內容即可進行驗證,如階段性的開發測試、代碼評審等。
顯然,從驗證的角度來看,采用第二種驗證策略,“邊開發、邊驗證”來進行計算機化系統驗證效果會更好。
2項目管理方式比較
2.1傳統開發管理
2.2 CMMI 軟件成熟度集成模型
CMMI全稱是Capability Maturity Model Integration,即軟件能力成熟度模型集成,1994年由美國國防部與卡內基-梅隆大學以及美國國防工業協會共同開發和研制的,其目的是幫助軟件企業對軟件工程過程進行管理和改進,增強開發與改進能力,從而能按時地、不超預算地開發出高質量的軟件。CMMI為改進一個組織的各種過程提供了一個單一的集成化框架,能夠從總體上改進組織的質量和效率。CMMI主要關注點就是成本效益、明確重點、過程集中和靈活性四個方面。
CMMI共有五個等級,即初始級、已管理級、已定義級、已定量管理級和優化級,這五個等級分別標志著軟件企業能力成熟度的五個層次。從低到高,軟件開發生產計劃精度逐級升高,單位工程生產周期逐級縮短,單位工程成本逐級降低。據SEI統計,通過評估的軟件公司對項目的估計與控制能力約提升40%到50%;生產率提高10%到20%,軟件產品出錯率下降超過1/3。
其研發項目管理模型如下圖所示:
此模型將公司層面的“過程管理”、項目層面的“項目管理+工程+支持功能”有機地結合在一起,實現了公司發展目標、標準和項目實施目標、管理的一致性和可持續改進。
CMMI整體框架見如下示意圖:
從上圖可以看出,“同行評審”貫穿了整個項目研發過程,什么是“同行評審”?做“同行評審”的好處在哪里?
同行評審,簡單來說就是做相同崗位的人員相互檢查對方的工作,如開發人員相互Review對方寫的代碼是否有Bug。同行評審是一種很好的防范程序錯誤的有效機制,為PPQA對評審(活動、產品)實施檢查提供依據。在項目初期,盡早發現缺陷。
從驗證的角度來看,在軟件開發過程中進行同行評審,有效降低了后續測試的工作量,從而減少了驗證的工作量和復雜程度;同時也降低了開發風險。
質量源于設計,設計源于需求。從質量風險的角度來看,需求管理顯得尤為重要,CMMI對軟件需求的管理極為嚴格,需求管理模型見下圖:
通過對需要的嚴格管控,確保軟件設計的正確性和預期功能的準確性;特別是對需求變更進行嚴格控制,降低了軟件開發的風險,同時也降低了系統驗證的風險。
此外,質量保證PPQA不僅保證最終交付產品質量是好的,更重要的保證了開發的過程質量,這也充分體現了CMMI的核心管理思想,一切結果都源于過程,只要管理好過程,結果自然就是正確的。質量保證模型如下圖所示:
PPQA根據過程檢查單,通過參加項目和EPG的例會、項目和組織級過程相關的同行評審和里程碑評審會議、非周期性工作會議、與相關人員交談等方式,檢查項目和組織級的實際執行過程(包括項目管理過程、項目工程過程、支持過程、組織級過程)是否是符合既定的規范。
從系統驗證角度來看,PPQA對過程質量的嚴格把控,降低了系統的開發風險和驗證風險。
總結對比一下傳統軟件項目管理和CMMI軟件成熟度模型二者方法優劣:
3 驗證整合模式比較
3.1 開發和驗證獨立進行
假設我們采用的驗證策略二:邊開發、邊驗證,這種情況下很多被監管公司依然采用的驗證方式是開發人員只管做開發的部分、驗證人員只做驗證的文檔,事實上很多情況下,開發人員對驗證流程并不清楚、驗證人員對開發過程、尤其是開發技術也不是很懂,結果導致了大量的溝通成本,驗證文檔最終也是流于形式,不知所云,效率和效果都很低,具體操作體現為三個方面:
-角色分開:開發人員、驗證人員分別由不同的人員擔當
-流程分開:開發流程、驗證流程分布在不同的流程文檔
-文檔分開:開發文檔、驗證文檔分別各自的模板和要求
3.2 開發和驗證體系整合
同樣的假設前提為采用驗證策略二:邊開發、邊驗證,根據筆者多年的實戰經驗,強烈建議對開發體系和驗證體系進行整合,二者融為一體。如何整合,集中體現在以下三個方面:
-角色整合:按照誰對業務最熟悉的原則進行開發和驗證角色分配,一人可以擔當多項職責,如開發人員即完成開發任務,又完成對技術文檔的驗證工作,這樣效率最高。
-流程整合:將開發流程和驗證流程進行整合,可以在開發流程中增加驗證控制節點,減少并簡化多余流程。
-文檔整合:除測試類文檔可作為驗證文檔使用外,其他文檔如技術類方案,可增加驗證方法,減少單獨編制驗證方案類文檔,減少文檔編制數量,盡量做到高效、低成本合規。
驗證整合方式總結對比如下表所示:
三、方案落實
以上,我們對系統驗證模式、開發管理方式以及驗證整合方式進行剖析、比較,我們得到了最佳的定制軟件的開發和驗證實施方法:即采取“邊開發、邊驗證”的驗證策略,基于CMMI軟件成熟度模型,將開發體系和驗證體系進行整合來進行計算機化系統驗證。
那么采用這樣的方案,企業如何來具體落地呢?筆者認為,從以下幾個方面著手落實:
1)職責定義:明確相關崗位的人員應擔當的角色,如設計、開發、測試、驗證等。
2)流程梳理:對現有流程進行集中梳理,去除重復、無效的流程,保留的流程盡量簡化。
3)文檔模板:建立CMMI組織過程財富庫,對文檔模板進行整理,盡量做到通用、標準化。
4)SOP制定:對現行SOP進行Review, 從CMMI和CSV二個角度進行SOP文件進行整合。
5)專業培訓:更新后的崗位職責、流程文檔、文檔模板以及SOP進行全面專業地培訓。
6)SOP及方案執行:按最新的SOP以及配套方案執行相應的軟件開發和系統驗證活動。
關于作者:景升平,海通安恒科技有限公司合規事業部副總監。景先生是ISPE國際制藥工程協會會員,中國CNCA最早的ISO 9000認證注冊咨詢師,“安恒合規管理系統”主要發明人,計算機化系統驗證(CSV)方面的專家,擁有合規管理領域五年以上的專業學習和實戰經驗。景升平先生具有20年以上的工作經驗,對整個企業經營管理和內部運作有全面而深刻的理解,尤其對制藥行業在質量管理、設備管理以及驗證管理流程設計和優化方面有自己獨到的見解。
關于海通安恒:海通安恒科技有限公司(ITL)是覆蓋全國的大型集團性高端解決方案服務提供商,總部位于上海,目前已在全國7個主要城市設立分公司,提供企業管理咨詢,SAP實施服務,大數據應用,醫藥合規風控及支持服務等5個領域的從“戰略到執行”端到端增值服務。海通安恒是SAP金牌合作伙伴,華為卓越合作伙伴, SAP(ONE Service/PCOE/AQM/PQP)最佳合作伙伴 ,已為包括在消費品、醫藥、高科技、房地產、新能源、電商、機械制造、零售、化工、汽車、物流等行業的超過350家知名客戶提供信息化落地實施建設。