軟體工程的新思維對台灣軟體產業的啟發

自1955年開始有了軟體產業以來,軟體成為推動著世界向前邁進的主要動力之一。1993年,全球IT軟體與服務產值首度超過硬體產值,正式宣告了軟體成為資訊科技主軸的時代來臨。時至今日,不論是我們日常生活所及,或是在企業與組織內部,或是國防與太空科技,軟體都扮演了不可或缺的角色,主導著各類系統的運作,其對人類影響之深遠與巨大,可說是無遠弗屆。

談到軟體產業,就不能不談到與其息息相關的軟體工程。全世界軟體業發展成熟的國家如歐美、日本、及印度等國,不但重視軟體工程,也藉由軟體工程技術與流程改善來發展具有一定品質的系統與產品,讓其軟體產業在世界佔有一席之地。這裡談到的軟體工程,已不僅僅是過往大家所只著重的程式開發技術,它還包含了流程(Process)、塑模(Model)、與品質(Quality)等軟體開發的重要觀念。

回顧台灣過去約三十年的軟體產業,長久以來一直未能蓬勃發展,目前似乎更已陷入瓶頸。這幾年來,政府與民間合力推動了一些對整體軟體產業具有實際而深遠影響的計畫,這些計畫大致上可以分為四個主軸:從經濟部CMMI品質能力提升計畫、教育部軟體工程聯盟計畫、研考會SOA軟體架構為基礎的電子化政府計畫、到軟體市場東進計畫以向外承接軟體外包市場,目的在建構軟體產業的基礎環境以及擴展市場,進而提振整個產業。

個人認為台灣的軟體產業要走出自己的一條路,除了政府與民間原有的努力之外,應該要有更寬廣的軟體工程新思維以及更聚焦的作法,可歸納為由下到上四個層面:第一是軟體知識,第二是軟體教育,第三是軟體流程,第四則是軟體市場。

在軟體知識部分,必須將軟體知識與領域知識合一。整體產業的未來發展應該要能結合專業領域知識與軟體知識,這又可分為三個層面來談,其一是國內軟體公司雖然具備相當的專業領域知識,但相對而言,軟體知識以及軟體系統整合的能力則較缺乏,因此必須著力提升其軟體方面的知識與能力,才能與原有的領域知識相加相乘,建立更優越的競爭能力;其次是過去數十年來,台灣擁有相當多紮實優異的傳統產業,雖然隨著科技與時代進步而逐漸式微或外移,但是如果台灣的軟體公司能將專業領域擴展至傳統產業,藉由兩者的結合重新賦予傳統產業全新之生命力,而軟體產品服務亦可隨著傳統產業的外移而向外擴展,發光發熱;最後台灣軟體產業則應與目前在世界佔有舉足輕重地位的台灣硬體系統產業結合,藉此提高嵌入式軟體的開發與測試市場,走出原有的市場窠臼。

至於軟體教育方面,則須著重於與產業接軌的人才培育。要強健台灣軟體工程競爭力,除了政府、產業界的投入之外,主要發展的關鍵在於培養全方位的專業人才。過去台灣的資訊科系教育都偏重在程式開發技術,較不重視流程、領域知識、塑模、以及品質管控等領域,在這樣的環境下,造成了從學校出來的學生到了業界無法立即投入生產,或是缺乏足夠的戰力,所開發出來的產品品質亦是良莠不齊,維護困難。這種現象不但造成高素質人才的斷層,也損耗了業界的生產力與進步動力,連帶影響整個軟體產業的惡性循環,因此軟體人才的培育,實在是刻不容緩的教育大計。個人認為做法上應該在大學的資訊科系提供完整的軟體工程專業學程,進而成立軟體工程系所與學院,以專業領域為導向,整合各校資源,藉此引導學生在學理及應用上的系統整合能力,提高軟體工程教育的質與量,培育產業界所需的國際水準之人才。

在軟體流程方面,強調流程應與組織文化融合。近來政府大力提倡的CMMI,其實是軟體工程的一部分,主要著重在流程改善,導入CMMI將可協助企業以漸進方式來進行流程改善(Incremental Process Improvement),有效的協助企業對專案進行預估、評量和量化。組織對CMMI的推動應該以務實、踏實的態度去執行,不能一味要求速成,軟體的開發勢必要跟著企業,如果沒有把它變成企業生活的一部分,就不會懂得如何使用它,再加上不同的公司具有不同的規模大小、不同的組織文化、以及不同的開發方法與程序,因此所發展的流程也必須隨著調整以符合組織的特性。所以導入CMMI一定需要時間將它徹底地植入企業文化,融入組織血液裡,如此方能達到真正改善軟體開發流程與品質的目的。

最後在軟體市場面,本人認為台灣的軟體產業在可見的未來有三個潛力市場:(1)台灣軟體業的一項既有優勢是擁有寬廣的專業領域知識。我們應該自其中找出一些非常成功及擅長的領域,如e化政府、金融證券、或是製造業等產業領域知識,提高研發的投資,採用與世界同步的技術(如服務導向架構,SOA),將過往以專案為主的開發轉變成為軟體產品導向,建立我們在這些專業領域的產品解決方案的產業錬。(2) 政府可以自國內已經導入且落實CMMI流程改善的企業中,挑選成果優異的公司,藉由將其內部優秀的軟體人才送至日本國內之ICT大廠,團隊合作開發軟體,學習及培育與國際軟工技術(engineering practices)接軌的軟體人才,同時亦可藉由雙方的合作,增加我們承接日本軟體外包市場的機會。(3) 台灣的硬體或系統公司每年其實都有相當比例的成本花費在軟體上,政府可以經由補助獎勵,促成這些系統廠商將軟體委由國內軟體公司設計、開發、及測試,以硬體的優勢帶動軟體發展,最終成就軟硬體產業互利,建構台灣獨有的競爭力。

在有了軟體產業53年後的今天,世界各行各業的需求反過來成為推動著軟體向前邁進的主要動力。面對這樣的潮流趨勢的挑戰,台灣絕對不能在此潮流下再次的缺席,也不能一味想要複製印度或中國的模式;而是應該以全新的思維,以及潛力市場的開發耕耘,打造屬於我們本身的特色與優勢,走出不一樣的路。

by 李允中
台灣軟體工程學會理事長
國立中央大學 資訊工程系教授
國立中央大學電算中心主任

留言

這個網誌中的熱門文章

CMMI是什麼?

CRC cards - 非正規物件導向發展技術

從種樹小故事看流程改善