中華電信研究院品質管理精進之路:從ISO9001到敏捷開發

  中華電信研究院成立於1951年,原名為電信總局電波研究所、交通部電信研究所。自1996年起,隨著中華電信公司化及民營化腳步逐漸擴大茁壯,於2012年改制成為中華電信研究院(簡稱電信研究院),持續深耕電信與資通訊前瞻技術及創新應用研發工作,並與國內各研發機構及大學密切合作,同時積極參與國際重要標準組織,多年來已成為推動我國電信網路轉型與現代化,以及發展資通訊應用服務的重要研究機構。

  電信研究院從事前瞻研究發展的人數持續成長,從創立時期的1個研發單位,至今已成長到9個研發單位、共約1,200餘人,組織規模成長高達40倍,碩博士佔比達96%以上。電信研究院的研發領域可概略分為八大類,包含固網、行網、營運管理、雲端、數位創新、智慧聯網、人工智慧與資通安全等,涵蓋先進的前瞻技術到與一般民眾日常生活息息相關的資通信服務。

為實現中華電信「打造客戶信賴的數位生態系統,賦能個人、家庭、政府及企業客戶創造價值」的使命,電信研究院不僅在技術方面持續創新,更在品質管理作為不斷精進。陸續於1996年通過ISO 9001國際品質標準認證,2006年通過美國卡內基美隆大學軟體工程學院制定的軟體能力成熟度模型(Capability Maturity Model Integration, CMMI)第三級評鑑。這些認證不僅顯著提升全院軟體專案管理能力與產品品質,更大幅提升市場競爭力,奠定電信研究院在大型系統軟體研發領域的地位。

近年來,隨著敏捷開發的盛行,電信研究院也與時俱進地將相關開發方法與工具融入研發程序,持續精進品質管理機制。接下來,本文將詳細探討電信研究院一路從ISO 9001、CMMI和敏捷開發走來的歷程與實踐作為。

1. ISO9001品質管理體系的導入與實踐

  ISO 9001是國際標準化組織(International Organization for Standardization, ISO)制定的品質管理體系標準,旨在幫助企業和組織提升產品和服務的品質,提高顧客滿意度。電信研究院自創立以來,已陸續推行品管圈和田口品質工程等方法進行品質管理。自1994年起,電信研究院開始導入ISO 9001標準,藉此建立制度化之研發品質保證體系,並陸續成立品質推廣工作小組、品保中心、工程流程小組等單位持續推動品質管理的進步。

在這段期間,電信研究院建立起標準化的研發管理作業流程、品質保證稽核制度,強化各單位專案管理知識與研發管理審查機制,並通過三次外部認證:

  • 1996年7月13日榮獲德國RW TUV國際品質標準ISO 9001認證

  • 2002年11月28日榮獲英國SGS國際品質標準ISO 9001:2000認證

  • 2005年6月12日榮獲英國AJA國際品質標準ISO 9001:2000認證

  •   此外,為強化電信設備審驗、器材檢測及相關儀器校正與時頻資訊等方面之品質,電信研究院亦於1994年積極推動建立電信終端設備檢測實驗室、無線電通信設備檢測實驗室、電信線路器材檢測實驗室與國際時頻標準實驗室等,並遵行ISO Guide 25與65國際品質標準,以及ISO 17025作業標準,確保通訊系統運作穩定。

    2. 從ISO 9001到CMMI的進階品質管理

      隨著科技的不斷進步和市場競爭的日益激烈,僅僅依靠ISO9001品質管理體系已經不足以應對新的挑戰。為此,電信研究院決定導入能力成熟度整合模型(CMMI),進一步提升軟體開發的品質和效率。

       ISO 9001為中華電信奠定研發管理作業流程制度的基礎,導入CMMI則在此基礎上進一步提升了軟體工程、專案管理與品質確保的能力。CMMI是一種專為提升軟體工程、系統工程及專案管理能力的綜合性模型。電信研究院研發管理制度遵循其標準進行演進,歷經CMMI第2級和第3級成熟度模型的導入與持續提升,進一步完善在軟體專案管理、軟體工程、軟體測試、品質保證、組織流程持續改善等領域的管理機制。

    (1) 2003年~2006年:導入及通過CMMI第2級成熟度評鑑

      2001年起,經濟部工業局委託資訊工業策進會及中華民國軟體協會推動國內CMMI導入及認證計畫,當時適逢美國卡內基美隆大學(CMU)軟體工程學院(SEI)公佈CMMI v1.1版標準,隨著本院越來越多軟體研發專案,因此在經過審慎的評估後,決定導入此項更為符合軟體研發專案所遵循之標準。

      透過外部顧問的輔導,院內從各專案遴選出多位資深研發主管同仁成立工程流程小組(Engineering Process Group, EPG)協助推動。EPG成員負責定義標準工程和管理流程,並與組織各層級溝通,確保新流程的順利實施和持續改進。導入CMMI第2級成熟度後,有效強化專案管理制度,尤其在管理需求變更方面更是有顯著的提升。對於研發過程所產出的技術文件以及實施的作業流程之品質查核,亦建立了更為完善的作法。

    (2) 2006年~2019年:導入及通過CMMI第3級成熟度評鑑

      在成功導入並通過CMMI第2級成熟度評鑑後,為保持在軟體研發領域的領先地位,並建立市場競爭力的優勢,電信研究院決定再進一步提升到CMMI第3級成熟度。

      CMMI第3級成熟度不僅對專案管理制度提出更高標準的要求,還強調組織層面標準化和文件化的過程。導入工作小組依據CMMI各流程領域標準制定完善的研發程序與作業指引,並建立流程資產館(Process Asset Library, PAL)存放相關規範,提供研發同仁查閱與遵循。在此階段也投入開發人力建置全院使用的工作案執行管理系統,透過系統來管理軟體發展生命週期各階段的產出文件與進度資訊,減少人工紙本作業並提升研發效率。

      導入CMMI第3級成熟度後,不僅有助於提高軟體開發及軟體測試等技術能力,更在組織層面建立了流程持續改善機制,使研發作業流程更加貼近現實,對品質管理的推動與落實有實質助益。

      為了驗證電信研究院研發管理制度與國際標準之符合度及落實程度,歷年來通過的國際認證及獲致之成效簡述如下:

    評鑑通過日期 評鑑組織(OU) 模式
    2004.10.20 CHT-TL網際網路及加值應用技術群 ML2 SW
    2006.01.25 CHT-TL電信維運支援技術群 ML2 SE/SW
    2006.07.14 CHT-TL電信加值應用與安全技術群 ML3 SW
    2007.06.29 CHT-TL電信維運支援技術群 ML3 SW
    2010.04.23 中華電信研究所(CHT TL) ML3 SW
    2013.04.25 中華電信研究院(CHT TL) ML3 SW
    2016.04.19 中華電信研究院(CHT TL) ML3 SW
    2019.04.19 中華電信研究院(CHT TL) ML3 SW
    表一:中華電信研究院CMMI歷年評鑑資料

    3. 敏捷開發的導入與轉型

      在成功導入CMMI成熟度模型後,電信研究院已建立完善的專案管理和流程制度。然而隨著互聯網的迅速發展和客戶對需求快速變化、交付週期縮短的期望,傳統的瀑布式軟體開發方法逐漸曝露出反應不夠迅速、靈活度不足等問題。

       為了解決這些問題並保持在軟體研發領域的領先地位,電信研究院開始探索敏捷開發方法的導入與轉型。敏捷開發強調小步快跑、快速迭代和持續交付,藉此建立客戶與研發團隊之間的協作關係,增進專案開發的靈活性,顯著縮短開發週期、提高軟體品質和客戶滿意度。

    圖一:傳統開發流程與敏捷開發流程示意

      自2016年起,電信研究院便開始試行敏捷式開發,並於2018年啟動內部變革,針對各項流程、作業程序進行精簡,同時也將敏捷式研發流程與思維整合融入研發流程規範,在這個過程,電信研究院並沒有完全拋棄CMMI的管理制度,而是將CMMI的嚴謹性和敏捷開發的靈活特性結合,發展出一套既有結構又具彈性的研發制度,讓研發產出能夠保持高品質的同時,也能迅速因應市場變化而快速反應。

      雖然敏捷開發方法的好處顯而易見,但要在組織內落地並不是件容易的事。敏捷開發要求組織文化、流程和思維模式的根本轉變,這對已經習慣於傳統開發模式的團隊來說是一項重大的挑戰。

      為有效推動敏捷式開發制度,電信研究院由高層主管展現強烈的變革決心,並以Top-down的方式展開。第一步是由院長、副院長親自主持,邀請業界先進舉辦多場講座,像是敏捷宣言、Scrum活動、看板方法等,向內部主管和同仁們傳達敏捷精神,使全院同仁具體理解敏捷開發的理念與方法,並逐漸轉換至敏捷思維;第二步是組建內部輔導團隊,由各單位選派精英同仁參加培訓,取得Certified Scrum Master(CSM)等證照,並組成敏捷開發推動小組,積極輔導開發團隊。期間每月持續舉辦交流會議由各團隊分享每日站會、衝刺規劃/回顧會議的實務做法與成長經驗,讓各研發單位能夠學習彼此的經驗,減少獨自摸索的困惑;第三步則是工具以及環境建立。在此階段則是建置線上議題管理系統,提供全院進行專案需求管理與進度追蹤,導入公司內部使用的共享空間與即時通服務,讓團隊成員能夠快速連絡與共享資訊,確保敏捷開發活動的順利實行。

      經過數年的努力,各研發團隊都已熟悉敏捷思維並在研發專案內成功應用敏捷開發,實現高效率的軟體交付,滿足了市場和客戶的需求。產品研發團隊協同業務單位、產品委託方共同合作,即時互動討論並引領產品發想與設計、價值主張規劃及價值鏈的實現,快速打造原型,以多迭代增量方式快速上線。從過去動輒以年為單位才能讓客戶看到產品,變成每月甚至每兩週就能讓客戶實際體驗、測試與回饋意見,讓團隊能夠在第一時間立即進行修正,確保產品發展符合客戶預期,也大幅減少過往在結案前才發現問題的情況發生。

      然而隨著敏捷開發的深入應用,研發團隊發現頻繁的交付帶來了新的挑戰。快速的迭代更版雖然能夠有效因應需求變動的速度,但也伴隨著大量的測試、程式碼審查等繁瑣工作,嚴重耗費許多開發團隊的寶貴時間與精力。為了解決這些問題並兼顧開發效率與產品品質,電信研究院開始研究DevOps(Development Operations)的概念,希望能從中找到適用的機制和工具,進一步改善開發流程並減少人工作業。

      DevOps是一種文化和實踐,主要目標在於促進開發(Development)和維運(Operations)團隊之間的密切合作,透過技術和流程的改善,與自動化與監控機制的建立,有助於大幅減少人工作業的必要性,讓開發及維運團隊都能將更多的心力投入更重要的功能開發工作,而非將寶貴的人力用來執行制式的流程程序。

       在深入研究DevOps的過程中,發現「持續整合(Continuous Integration, CI)和持續部署(Continuous Deployment, CD)」(簡稱CI/CD)是其中一個相當重要的實踐,其核心思想是透過自動化的流程來實現頻繁且高品質的軟體交付。持續整合(CI)讓開發人員在提交程式碼後立即進行自動化編譯與測試,及時發現軟體品質問題,讓研發團隊有更充裕的時間進行修復。持續佈署(CD)則進一步將軟體部署程序也自動化,特別是在雲端環境中這點尤其重要。雲端環境的動態特性和彈性資源配置需要高度自動化的部署流程,以確保每次更新都能迅速且正確的部署到線上環境,維持系統的高可用性和穩定性。

      本院從2019年開始循序漸進導入CI/CD,在院層級組織院級架構師團隊,由各所推派學有專精的優秀同仁組成,協助理解與掌握新技術及知識,透過實際參與協作與分享,輔導各專案團隊建立CI/CD程序並持續吸收學習優化流程。導入過程可分為三個階段:

    (1) 第一階段(~2020年):建立基本CI/CD流程,主要目標是將原本由人工執行的程序轉變成可自動執行的腳本。藉由這些輕量的轉變,讓各團隊同仁能夠親身體驗自動化帶來的便利與效益,進一步提升同仁對自動化機制的信任與接受度。在此階段,各團隊自建CI軟體(如Jenkins),實現程式碼交付後的自動化編譯和單元測試,確認新增的程式碼可正確編譯並通過基本功能測試,實質減輕團隊同仁人工執行的工作負擔,為後續推動奠定基礎。

    (2) 第二階段(~2023年):全面提升CI/CD成熟度至第二級以上,完善整體建構流程,加強組態管理機制與自動化測試範圍。隨著雲端服務開發日益盛行,為確保服務能夠在雲環境內正確無誤地動態調度資源配置,良好的組態管理就顯得至關重要。測試項目也從單元測試擴大到整合測試及效能測試,進行更全面的驗證以確保交付產品的品質可靠。在這階段,院內也決定採用雲端服務進行CI/CD,簡化各團隊各自準備環境與工具建置的繁瑣工作,並提供執行範本供新專案能快速引用,不再需要從零開始重新摸索。

    (3) 第三階段(至今):強化數據監測,持續改善流程。本階段除持續提升各團隊CI/CD成熟度到第三級之外,亦導入Google DORA指標,藉由觀察部署頻率、更版失敗率、平均修復時間等資訊,協助團隊評估軟體品質,排除常發生錯誤或效能不彰的程序,提升系統交付效率與穩定性。

      透過導入CI/CD自動化程序與工具,電信研究院成功解決了快速迭代帶來的測試與交付流程的負擔,將絕大部份可交由系統自動化執行的工作從同仁身上移走,也將十多份CMMI要求的文件改交由自動化程序檢核及產製。不僅大幅減輕開發團隊同仁的壓力,也保留研發程序過程所需的紀錄文件,實現快速反應、品質可靠以及程序嚴謹這三大目標。

      除了提升研發效率與品質外,電信研究院也意識到資訊安全的重要性。在全球數位化發展加快的背景下,資訊安全成為企業生存與發展的關鍵因素。為確保軟體開發過程中的資訊安全,全院導入ISO 27001資訊安全管理體系,在軟體開發程序規範內加入了資安相關程序,全面提升成安全軟體開發生命週期(Security Software Development Life Cycle, SSDLC)規範。為使所有研發人員都具備必要的資安知識和技能,全員均接受安全程式碼訓練並通過測試。也陸續在CI/CD自動化流程內加入白箱測試工具(Checkmarx、Fortify)及Open Source風險檢測,自動進行資安檢查,及早發現與修復潛在的安全漏洞,盡可能杜絕可能的資安風險。

    4. 結語

      品質發展是一個不斷追求卓越、勇於變革的過程,而電信研究院始終走在品質管理的前鋒,不斷學習和成長。從ISO 9001的標準化管理流程開始,打下了品質管理的堅實基礎;隨後導入CMMI,則進一步提升軟體工程和專案管理的嚴謹性;接著推動敏捷開發,帶來了靈活性與快速迭代的能力。這些階段的進步持續累積推疊,讓本院深刻理解並結合各體系的優點,進而建立起一套既具備標準化流程又能快速因應變化的研發管理作業程序,並透過自動化工具大量減輕研發人力準備文件的負荷。

      在這期間,得益於長官們由上而下的堅定支持與推動,研發團隊的配合以及推動團隊的全心投入,使得品質管理制度每一次演進都能順利推動。透過不斷改進和創新,不僅提升了軟體開發的效率和品質,更增強了產品的安全性和可靠性,這些努力使電信研究院在市場競爭中保持領先地位,也為客戶提供了更高品質、更安全的產品和服務。未來,電信研究院將繼續秉持品質至上的理念,並積極應用生成式AI(Artificial Intelligence Generated Content, AIGC)技術於提升程式開發品質、自動化測試與資安議題改善等方面,持續迎接新挑戰,開創品質管理的新局面。