軟體外包給廠商需要注意的細節-醫療產業的經驗分享

一位醫生希望改善醫院的系統流程,請教具豐富接外包經驗的工程師朋友,並將醫療單位將軟體外包給廠商時需注意的要點整理出來,提供給大家參考。
評論
Photo by Kevin Ku on Unsplash
評論

作者:陳和謙。本文作者諮詢顧問:劉雨鑫資訊工程師。原文刊登於走在通往理想的路上

把業務外包給資訊公司,是什麼概念?

現在是科技時代,為了節省時間、降低成本,提升服務品質,各行各業都在 E 化,服務業也不例外。不過,將訊息電子化需要程式,寫程式需要專業的「資訊工程師」,但資訊工程師卻沒那麼多。尤其市場上能力強的資訊工程師,平均薪資高昂,許多企業養不起這樣的人才。

怎麼辦呢?

那就把寫程式的業務「外包」,將原先需支付的固定成本,轉為變動成本,節省開支。資訊外包公司會接到很多「專案」,專案的本質,就是各行各業對程式的需求。

外包流程,長什麼樣子?

外包流程的第一步,是「溝通需求」。

你想付錢請我幫你寫體檢系統的程式?為什麼呢?

原本的系統和流程不好嗎?遇到了什麼問題?

重覆抄寫病人檢查數據,耗時、易錯。OK,這是問題。那我外包公司存在的意義,就是要透過「程式」,替你解決問題。問題在哪裡,需求就在哪裡。你真正想買的,不是程式碼,而是解決自己問題的更好方式。再完美的程式碼,若不能解決你的問題,都沒有意義。

溝通完需求後,下一步才是「寫程式」。

稍有規模的專案,首先會由產品經理(Product Manager, PM)與顧客會談,瞭解其需求後,再將目標拆解成任務,分派給不同團隊成員。設計師負責考量使用者體驗(User Experience, UX)和設計使用者介面(User Interface, UI);前端工程師,負責生出介面;後端工程師,負責開發。

為完成任務,資訊工程師可能需要耗費許多時間思考整體架構和流程,真正坐在電腦前寫代碼(code)花費的時間事實上沒有一般人想像得多。

最後一步,是「驗收」。把寫好的程式、設計好的頁面,組成完整的產品,交給客戶,讓對方驗收成品。成品是不是能解決對方問題呢?來試試看!如果不行,就把理由告訴外包廠商,讓他們回去修改,擇日再測。如果還是不行,就再回去修改,修到顧客我滿意為止,才把尾款結清。

外包流程 3 部曲:「溝通需求」,「寫程式」,「驗收」,所佔時間比,通常為 2:1:2。(不考慮嚴重溝通不良或案主過於機車,驗收時間被大幅拉長的情況。)

傳統認知上的寫程式,往往只佔整個專案時間的不到 20 %,是時間花最少的部份。前期的溝通需求,以及後期再次解決需求不相符的驗收,反而佔了整體時間的 80 %。換句話說,一項開發程式的專案,花在溝通上的成本巨大。顧客付的錢,只有五分之一在買程式碼,另外五分之四,買的其實是溝通,是同步雙方資訊、消弭認知差異的成本。

買一個程式,該如何估價?

部門需要解決現有問題,找外包資訊公司寫程式,大概需要多少錢呢?站在顧客端,當然要找外包公司估價。外包公司會說,多少錢呀?要看這個案子複不複雜,也要看需要我們團隊多少人員參與。愈有經驗的公司,通常品質會較好,費用也較高。

但外包公司要如何推估自己的成本呢?首先得預估自己的支出。

要知道,資訊公司成本結構中,最大一塊就是人員的時間成本,而人員中時間成本最高的,就是資訊工程師。如果一個專案,由 2 位資訊工程師、1 位產品經理負責,假設資訊工程師月薪 7 萬,產品經理月薪 5 萬,預估這案子要做 1 個月,成本就是 7×2 + 5 = 19 萬。

這是「工程師團隊付出的成本」。

由於外包公司也要賺錢,所以你支付的費用,必須再加上「對方公司做你生意的利潤」,所以必定超過 19 萬。通常頭期款需支付 3 成,等驗收結束,再付 7 成尾款。其中,資訊公司「開發」與後續「維護更新」的費用,比例約為8:2。

找資訊公司外包寫程式,有什麼陷阱?

各行各業外包寫程式,最常遇到的問題有兩個:需求不明確、後續難維護。

1. 需求不明確

首先,需求不明確。指的是付費方沒有辦法講清楚,自己要的程式功能是什麼。

「我要一個可以掛號的介面!」

OK。但什麼介面,叫作可以掛號?

畫面上有一個框,使用者輸入身份證字號後按 Enter,系統把資料存儲至另一空間,畫面顯示「掛號成功」,這樣就夠了嗎?

你需要網頁驗證身份證字號是否存在嗎?你是否希望使用者輸入更多內容,包含姓名、性別、電話號碼?希望使用者能查詢與取消掛號?想要,但是沒說。那叫我怎麼知道?怎麼給你?需求不明確,是客戶與廠商溝通,普遍會遇到的問題。

一開始若無法提出明確需求,將會導致工程師寫不出你希望的產品,未來驗收時無法通過,你再將它退貨,工程師又要再修改,然後再退貨、再修改⋯⋯若如此,一來一往會消耗很多時間,你能拿到成品的時間就會延宕,跟你合作的工程師也會很可憐,你(的錢包)也會很可憐,因為工程師的時間成本很高,這些成本就會成為你必須支付的費用。

2. 後續難維護

再來,後續難維護。指的是驗收結束、尾款結清後,後續需要修改、更新程式的維護成本,可能非常高。

程式不是寫好就好,還需要維護。程式使用後,可能會新發現一些 bug 需要修正、除錯,一段時間後使用者也可能需要新增功能,或定期要安全性更新。所以寫好的程式,不是功能沒問題就好,很重要的程式品質之一,在於它是否容易維護。

後續要能維護,必須程式開發時就預先鋪路。至少原始團隊的工程師,未來看先前自己寫的程式碼時,要能夠看懂。未來你公司如果倒了,換一個團隊,也要確保其他工程師能看懂並修改內容。可是為人寫程式的資訊廠商,當然是希望對方倚賴自己愈多愈好,最好是沒有我,你會死!最好我是你的皇帝、你的宇宙!畢竟我對你愈重要,就愈能從你身上榨出更多肥油。

實務上常見的情形是,程式開發時,你可以找不同資訊廠商、貨比三家,所以為了做你生意,我身為其中一家廠商,也只能向你開「正常」價格。但驗收交貨完後,想找我維護?嘖嘖嘖,機會來了!我就坐地起價,反正你就只能找我 ── 如果不找我,你就準備找其它廠商,全部重新開發。

那怎麼避免後續維護問題?要在一開始就講好,廠商你必須提供「文件」。

軟體設計文件 (Software Design Description, SDD),指的是由軟體設計者為軟體產品撰寫文字描述,記錄軟體產品的架構指引,包含程式碼的邏輯、儲存的資料結構、測試的流程…… 等內容。軟體設計文件,就是程式的說明書。有了說明書,程式才真正「安全」交付。因為將來會發生什麼事都說不準 ── 外包公司有可能耍詐,維護時向你獅子大開口;有可能倒閉,將來要維修時你連人都找不到。唯有拿到說明書,你才能真正保護好自己。

未來程式若有問題,拿去給其他工程師時,對方才知道這台機器先前是怎麼設計的,資料怎麼儲存、數值怎麼對接,也才有機會協助你維修。

如何讓產品既省錢,又有品質?

瞭解以上內容後便能進一步討論,身為外行顧客,我們要如何保護好自己,不要被當盤子,花了大錢,卻買了一個 so sorry 的程式。

一、釐清並清楚傳達需求

首先,要掌握核心邏輯:

「你一定是遇上了某個無法解決的問題,才尋求資訊廠商的協助,希望它寫一個程式來『幫』你。資訊廠商寫出的程式要能幫到你,就必須符合你的真實需求、真正解決你的痛點。所以關鍵是,你的需求到底是什麼?」

你必須自行釐清,並且清楚表達自己需要什麼東西,明確告知對方。不能只是在別人面前一直喊痛,否則對方對你也只是愛莫能助。

就跟生病看醫生一樣。你希望醫生幫你解決什麼問題,進診間後請明確告訴醫生,而且也請自行描述症狀、釐清病史。如果你連自己的痛什麼時候開始、什麼時候比較嚴重、還同時伴隨什麼症狀,一問三不知,醫生如何替你診斷治療呢?

資訊廠商不會知道你的需求,就像醫生無法感受你的痛。你的需求、你的痛,全世界只有你自己懂。如果希望工程師幫你寫個「體檢程式」,你必須先思考,你要這程式來幹麻?

「要有後台,讓我能看到每位民眾的體檢流程進行到哪一階段!」

OK,那民眾在流程中有哪些階段?要如何顯示?你的後台管理介面希望長什麼樣子?請你告訴我。你最好是先繪製架構/流程圖(Control flow),為你的程式或網頁鋪設出一個基底。

例如你希望程式先進檢驗系統抓資料,判斷是不是所有檢驗項目都已經出報告了。如果已經有報告,就將民眾姓名呈現在「可總評」的欄位;如果未完成,就呈現在「待報告」欄位。再來,要思考程式使用者有哪些情境(Scenario),並生成他們各自的使用者故事 (User story)。例如我是操作系統的總評醫師,我期待點選什麼,然後看見什麼,這是為了要做什麼?

WHO by WHEN do WHAT for WHY, and HOW?

清楚描述你的需求。你希望做出來的網頁,長什麼樣子?你希望它要有哪些功能?

需求,等價於「驗收標準」。

你付錢請廠商做工,目的就是要滿足自己原先不能滿足的需求。銀貨兩迄的驗收條件,自然就是看自己滿意了沒。滿意的標準,必須明確。

「我要的這網頁,要能打開。」

工程師如果做出,在 IE 第一代瀏覽器能開,其它代、其它瀏覽器都不能開的網頁,你能接受嗎?是在哪個版本哪種瀏覽器上能開?請說清楚。

外包公司當然會用最低成本的工,去滿足你的驗收需求。萬一對方做出只有一台電腦能開,第二台電腦點進去就跑不動的網頁,怎麼辦?所以,你希望多少人同時使用,仍不會當機,也要說清楚,不要模糊。

讓「需求」明確到能夠直接成為「驗收標準」。功能性的驗收標準,可以用「清單」列出。外觀性的驗收標準,建議直接「畫圖(Layout)」給對方。你想要新系統長成自己期待的樣子,但問題是 ── 我怎麼會知道那是什麼樣子呢?我把你的夢畫出來,拿到你面前:

「欸,這樣對不對?」

「不對,這邊應該要加個按鈕!」

我回去修改,改好後再拿去問你。你又說,不對,哪個東西應該長這樣。然後我又得回去改。那你為什麼他媽的不一次跟我講清楚呢?為什麼,你要讓工程師去猜你的夢呢?不能一開始直接就畫給我,叫我照著做嗎?我的時間成本很高,究竟要陪你玩多久圓夢遊戲?你是想把錢,付在我們一來一往的需求猜猜樂,還是我投入寫程式碼的時間?

提早為維護做準備

另外,為了讓購買的程式後續仍可維護,儘量要求以最新的「長期支援」(Long-term support, LTS)版本驗收。

什麼意思?

長期支援,是軟體產品生命週期的一種政策。通常軟體公司會在開發出的不同版本程式中,選定某幾個版本,延長維護的時間,讓它擁有更長的生命週期。由於開發你所需的程式,過程通常需要用到各種不同工具與套件,這些套件最好都是長期支援版本,這意味著它擁有比「一般支援週期」更長的「長期支援週期」。

資訊外包廠商不只做你的生意,還做過其它公司的生意,他們可以將之前寫過的程式直接拿來搬一部份給你用,既方便又節省成本,這你根本不會知道。萬一他們這麼做,用的套件就是舊的,你拿到的程式就會更不安全,後續也更容易遇到問題。為了避免這樣的情況,就要在各種現行的長期支援版本中(例如:12、14、16 版),要求以最新的版本(16 版)來驗收。

除了驗收時選擇程式版本,記得還要向廠商要求提供軟體設計文件,讓說明書成為產品交付的一部份。對方使用的程式語言,相關工具、套件分別是什麼,資料庫跟雲端分別會用什麼,這些也全部都要要求對方提供。

總結

當代社會,各行各業都有資訊需求。程式外包,是企業節省成本的常見模式。外包流程分成 3 步:溝通需求、寫程式、驗收。其中最困難的事情不是寫程式,而是在寫程式前釐清顧客的需求、瞭解對方真正需要的產品。

對顧客來說,程式外包案最常見的兩個問題,就是「需求不明確」,以及「後續難維護」。顧客必須自行釐清需求,並讓「需求」明確到直接成為「驗收標準」,以清單或繪圖等型式,將需求清楚傳遞給廠商,避免溝通時間延長,成品品質下降。另外,也要提早為維護做準備。一開始就要講好,需以最新的「長期支援」版本驗收,且交付時必須提供「軟體設計文件」。

當今資訊與醫療科技發展迅速,特別需要跨領域協作,希望醫療人員能學會保護自己,也希望好的資訊工程師團隊能夠協助改善醫療運作流程,解救醫護的同時,也解救蒼生!

責任編輯:Mia
核稿編輯:Chris

延伸閱讀:



圖解智慧國家四大關鍵科技,從不同角度帶你了解台灣的科技應用實力

大家都知道台灣有座半導體護國神山,也聽過許多媒體對台灣科技實力的盛讚,但台灣的科技實力到底強不強?我們從四個面向帶你看台灣作為「智慧國家」到底有什麼實力!
評論
評論

大家都知道台灣有座半導體護國神山,也聽過許多媒體對台灣科技實力的盛讚,但台灣的科技實力到底強不強?自己說不如讓國際單位做的調查更客觀顯示。瑞士洛桑管理學院(IMD)每年9月公布的世界數位競爭力(World Digital Competitiveness Ranking)評比,最近一次報告2021年台灣在全球64個主要國家及經濟體當中排名第8,獲得歷年來最佳名次。

而且值得關注的是,支持數位競爭力的核心要素之一,也就是「科技」競爭力。IMD評比報告揭露台灣拿下全球第2的佳績,從2018年的第11名年排名持續上升,顯見台灣無愧於科技強國之名。


科技小百科:
瑞士洛桑管理學院(IMD)是一個長期研究國家與企業競爭力,在國際上具盛名及公信力的評比機構,並自1989年起發布「世界競爭力年報」World Competitiveness Yearbook,其評比報告與調查結果更是各國政府擬定相關政策之參考。IMD每年會定期公布兩份競爭力評比報告,其一是「世界競爭力年報」,每年在6月公布,2022年台灣在63個受評比國家中排名全球第7名。另一份報告為「世界數位競爭力評比」World Digital Competitiveness Ranking,每年在9月底公布,本篇文章引用的資料為這份兩份研究。


也因為科技與國家發展息息相關,有哪些技術是台灣不為人知的優勢?或是未來產業可大力投資布局的領域?我們找出其中四大項與智慧國家最有關的科技,展現台灣具備強勁的科技能量,或許你已經受惠,也或許你能從其中找到發展的機會。

關鍵科技一、融合海陸空領域的多維通訊

隨著國家管理範圍逐漸擴大,通訊範圍多元且彼此關聯,相關科技如低軌衛星、5G通訊、海底電纜等,形成環環相扣的多維通訊聯網。

仔細洞察2021年的IMD報告,台灣在「行動寬頻的用戶比例」這項指標,拿下全球第1的傲人成績。顯見台灣在通訊基礎建設的投資及普及率,是走在全球領先位置。

尤其5G/6G關聯科技更是未來多維通訊的具舉足輕重的地位,原因是5G衍生的價值鏈相當廣泛,舉凡從晶片、模組、終端、邊緣、系統、到應用服務,可形成完整生態圈。為了強健台灣5G專網的自主技術與供應鏈,從2018年先後成立5G產業發展聯盟、5G垂直應用聯盟、以及5G Open Networking平台,逐漸形成5G國家隊。

除了把5G領先國視為戰略目標,當創新技術落地,更能帶來龐大商機。根據工研院的預估,將5G的小基站、邊緣運算、網路虛擬化等關鍵產品、模組、元件加總起來,2025年的市場規模上看2,510億美元(約新台幣7.5兆元),其他國家還在積極推動5G聯網建設,顯見相關商機仍有相當大發展空間。

關鍵科技二、新型態數位經濟與網路服務

邁向Web 3.0的交叉點,元宇宙被視為下一代網際網路的新機會,市調機構Gartner預測,2026年全世界將有25%的人口,每天至少有一小時投入元宇宙虛擬世界,進行工作、社交、教育、購物、娛樂等活動,並藉由虛擬貨幣、NFT進行數位資產的交易,虛擬經濟逐漸成形。

所謂元宇宙,需要以5G/6G高速網路為基礎,透過VR頭盔/眼鏡作為進入3D虛擬世界的載體,在元宇宙的各種互動體驗則需仰賴AI運算、雲端/邊緣儲存、區塊鏈等核心技術支援。人們在元宇宙內可以滿足從現實世界做不到的事情,形成穿梭虛擬、現實之間的生活體驗與商業模式。

近七成投入元宇宙相關應用的企業,認為元宇宙在未來5年一定會蓬勃發展,虛擬音樂會、虛擬時裝秀、媒體及產品聯名展示活動,將是元宇宙優先發生的商業體驗。

那麼台灣要投入元宇宙有何利基?解析元宇宙供應鏈版圖,主要可分為晶片、光電、通訊、AR/VR裝置、內容以及AI技術,台灣科技可從硬體方面,包含晶片、感測IC、光學零組件、伺服器等擅長領域切入。像是大家熟知的半導體大廠台積電,對於相關晶片的供應就至關重要,另外光電產業也有揚明光、玉晶光、中光電等企業,讓投影技術更精緻,再來連接元宇宙的通訊技術,也有聯亞來支援,而裝置軟硬體、AI技術則是有創意、世芯、智原等企業投入,最後想到AR/VR集大成者,就不能遺漏宏達電在這一塊的耕耘,同樣威盛電、佐臻、未來市(XRSPACE)等品牌也積極佈局,可見台灣已有完整的供應鏈,接下來有志於加入元宇宙的廠家,不妨從自身的專長去思考,相信不論是哪個領域的企業,都能有更多的創新、應用內容投入,完善整個元宇宙生態。

關鍵科技三、疫後時代興起的智慧型代理人 

近年因疫情持續延燒,越來越多領域開始導入「智慧型代理人」,像是零售業者引進半自動化機器,協助人力處理訂單、點餐;又或是醫院使用機器人,藉由AI辨識功能分擔部分醫護工作。

所謂智慧型代理人,以它所知的知識範圍內,自主完成人類所給予的指令任務。智慧型代理人發展至今,能協助人類的廣度、深度越來越多,主要是受惠機器學習的技術更為先進,加上其他的自動規劃、互相協調等演算法的成熟,讓智慧型代理人成為下一波產業發展重點。

世界先進國家紛紛把AI納為國家產業重要發展策略,台灣從2018年就推出「台灣AI行動計畫」,全面啟動產業AI化。發展至今,AI應用已從測試階段逐步應用於各式產業,資策會統計發現,掌握AI技術的新創企業在台灣有300家,逐漸摸索出不同的商業策略與獲利模式。

尤其資通訊、醫療照護是台灣兩大擁有頂尖人才的雙軸產業,在疫情之下,就可以看到醫療+科技所衍生的智慧型代理人應用。像是過去為了解決醫療量能不足,開發「5G智慧防疫機器人」,用來隔離病房消毒、運送餐盒及藥品物資,比傳統人力消毒方式有效節省50%時間,還能降低醫護人員感染風險,讓醫事工作更有效率。

關鍵科技四、資訊安全網保護每個人數位資產

我國面臨網路犯罪、駭客入侵政府、機關,甚至竊取個人資料事件持續增加,如何保護國民安心使用數位科技、保障財產安全將是未來重要方向。隨著AI普及所衍生的龐大資料量之隱私及資安問題,成為棘手的挑戰。從國際AI資安發展現況來看,歐盟在2021年提出人工智慧規則草案(Artificial Intelligence Act),鼓勵值得信賴且道德的AI進行研發與應用。微軟更在今(2022)年禁止提供AI推測情緒技術,並制定「負責任AI標準第二版」、Google則停止AI機器人具有自我意識、能與人類溝通等爭議事件,這些做法也都反映美歐在立法之際,業者也在努力自行節制敏感AI技術。

AI資安,是挑戰也是機會。未來,台灣政府與企業也須密切關注美歐相關草案的立法動態,找出AI規範的共同點,以此界定使用AI產品與服務之要求;因此,AI資安不僅需透過科技來防禦,更需要治理與法規,降低AI所帶來的衝擊。

另外,針對5G資安議題,台灣有展開大型科技防禦策略,包含5G資安防護系統、跨機關資安聯防。5G資安防護系統致力確保業者使用的5G系統具備安全、可靠、信賴,與國內5G專網業者進行服務驗證,以強化國產5G系統的整體資安防護能力。跨機關資安聯防的目標放在建立政府與民間的資安聯防體系,藉由橫向整合跨部會,全面提供威脅情資,減少機關隱匿資安事件,降低事件誤報與漏報。

持續提升台灣的科技能量 打造全方位的智慧國家

圖片資料來源:IMD 2022 世界競爭力年報

台灣的科技能量持續提升,從2022年的IMD世界競爭力年報可發現,而且該報告還指出我國擁有高素質勞動力、經濟活力、企業治理能耐、高教育水準等優勢。上述四項與智慧國家高度關聯的新興科技,涵蓋「數位基盤、數位創新、數位包容」等元素,如何借助科技打造創新、包容的社會,在台灣強勁的科技應用產業鏈上,補強創新的能量,並延續發展優勢項目,將是台灣要持續努力的方向。

了解更多智慧國家方案
看更多智慧國家相關報導

行政院科技會報辦公室 廣告