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

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

延伸閱讀:



總價值一千萬獎項!「挖貝提案者大賽」提供完整顧問與行銷資源,目標助 40 組提案團隊圓夢

第一屆「挖貝提案者大賽」,不僅祭出總價值高達一千萬的豐厚獎項,更運用貝殼放大過往協助無數破千萬集資專案的強大專業優勢,提供獲選提案團隊完整顧問與行銷資源,力求讓好提案能在台灣遍地開花。
評論
Photo Credit:貝殼放大
評論

群眾集資產業在台灣邁向第 10 年,產業又有新變革!由台灣最大群眾集資顧問公司「貝殼放大」成立的「挖貝 WaBay」群眾集資平台於 1 月 14 日正式宣布,舉辦第一屆「挖貝提案者大賽」,不僅祭出總價值高達一千萬的豐厚獎項,更運用貝殼放大過往協助無數破千萬集資專案的強大專業優勢,提供最多 40 組獲選提案團隊完整顧問與行銷資源,力求讓好提案能在台灣遍地開花。

徵件對象包含原創產品、社會參與、文化內容等各類型提案,並於即日起至 3 月 31 日開放報名,首獎可獲得挖貝 WaBay 提供價值 300 萬元的專案推廣、行銷、顧問資源,而且只要入選決賽便可擁有價值 10 萬元的行銷資源挹注!歡迎所有符合資格的提案團隊報名參賽

從根本改善產業,提供完整顧問資源、提升群眾集資原創動能

「挖貝 WaBay」群眾集資平台於 2021 年 4 月正式成立,由於看見群眾集資原創性日益降低,以及層出不窮的爭議事件,漸漸讓大眾對產業失去信心,因此挖貝秉持群眾集資「信任」與「責任」原則,鼓勵「原創」和「社會倡議」類型專案,致力和提案團隊與贊助者共創良好的集資環境,希望重建群眾集資產業最美好的的初始信念,成為原創、文化及社會參與團隊最青睞的平台。

適逢整體群眾集資產業在台灣邁向第 10 年里程碑,也是挖貝平台在成立將滿一週年之際,特別舉辦「挖貝提案者大賽」,以史上最豐厚、總價值高達一千萬的獎項,鼓勵全台與挖貝一樣懷抱著美好理想的團隊,將心中的原創提案實現成真,讓社會產生正向改變,並帶動群眾集資產業正向發展。

總獎項價值千萬!首獎獨得 300 萬、入選決賽即獲 10 萬行銷資源

「挖貝提案者大賽」共分為三個組別,包含「原創產品」(具備全新概念的生活原創設計品、3C 科技、活動等)、「社會參與」(具有社會公益價值,例如:社會議題倡議、空間再造、教育、在地等)、「文化內容」(影視娛樂、藝文出版、遊戲等),期望凸顯提案團隊本身的原創性以及對社會文化的關注與理念實踐,初賽不限報名組數,最多取 40 組入選決賽。

在獎項的部分,為了鼓勵更多團隊藉由群眾集資實現理想,「挖貝提案者大賽」跳脫一般平台僅能提供基礎上架指導的限制,透過母公司「貝殼放大」成立以來奠基的紮實群眾集資執行專業,期望在過程中讓提案團隊獲得完整的專業支持,對群眾集資產業具備正確理念;本次祭出總價值一千萬的豐厚獎項,除了專案推廣費用挹注之外,更包含一對一顧問諮詢、對外宣傳資源、海外平台上架評估與輔導等實際支持;「首獎」可獨得價值 300 萬獎項、「優勝」每組兩名 50 萬獎項、「入選決賽」最多取 40 組各獲得價值 10 萬獎項。

敬請提案團隊把握機會報名參賽,挖貝提案者大賽報名資訊詳見:https://backme.tw/ref/XcxOl/

Photo Credit:貝殼放大

第一屆「挖貝提案者大賽」報名資訊

▶報名時間:即日起至 3 月 31 日

▶初賽結果公告:2022 年 4 月 20 日

▶報名資格

  • 設籍台灣
  • 具備完全行為能力之自然人或合法登記之法人、團體,未成年提案人則須提供法定代理人同意書
  • 報名期間內繳交提案資訊

▶提案組別

  • 原創產品組:生活原創產品(設計、餐飲、美妝保養、服飾)、3C 科技(3C、科技)、活動(活動、運動、旅行)等提案
  • 社會參與組:社會、空間再造、教育、在地等提案
  • 文化內容組:影視娛樂(表演、音樂、影視動畫)、藝文出版(印刷出版、攝影、插畫漫畫、藝術)、遊戲(桌遊、紙牌、電動、遊戲設計)等提案

▶獎項福利(總價值一千萬)

  • 「首獎」:一名,獎項總價值 300 萬
    • 專案推廣費 100 萬
    • 行銷、顧問資源 200 萬
  • 「優勝」:每組兩名,每名獎項總價值 50 萬
    • 專案推廣費 15 萬
    • 行銷、顧問資源 35 萬
  • 「入選決賽」:最多取 40 名,每名獎項總價值 10 萬
    • 行銷、顧問資源 10 萬

▶線上報名連結:https://backme.tw/ref/XcxOl/

本文章內容由「貝殼放大」提供,經關鍵評論網媒體集團廣編企劃編審。