台灣軟體業的冷眼旁觀(200610)


偶爾寫點正經的東西好了,雖然是沒人在看😄 只是覺得在這裡閒閒沒事過四年,我有必要紀錄一下我的思考軌跡,這一系列的想法,將是未來走向的重要資料。
我目前看到的台灣軟體業問題:(純軟體業,廠商不直接涉入硬體規格制定及製造…還是定義不清的話以後再改吧)
  1. 市場太小
    • 這裡的標的物是MIS─管理資訊系統產業,可以說是嵌入式軟體─嵌入產業的軟體。因為這產業所開發的系統僅適用local產業,甚至每一個開發好的系統可能只有該目標企業適用,那這個必須與local產業結合開發的特性,就會直接受到市場大小的影響。限於台灣市場本來就小,多數企業又是中小企業,所以主要客戶大概都是少數大企業及─軍公教機關,市場容易飽和。
    • 那為什麼我屏除中小企業呢?因為我直接問過某些廠商,為什麼喜歡接公家機關的生意?主要還是錢的問題,民間企業就算案子花了再多功夫,公司喊倒就倒,當場血本無歸…就算有簽約,也不會有太大作用,一個有可能不會超過一百萬的case,你想要花多少錢去打官司?而且軟體的合約需求,我想有經驗的人都知道,那是寫好玩的   而公家機關就不一樣了,反正預算已經下來了,只要搶到標,該年度不要太爛就可以拿到頭款了,至於隔年以後的保固及尾款…似乎沒什麼廠商在管的,反正拿到大部分的錢才是重點,案子爛掉也無妨,沒有商譽也無妨,這些廠商一樣是民間企業,重起爐灶也沒關係哪…
    • 從前面的論述一路推導下來,大概就可以發覺市場太小,造成的市場生態就是標案文化。因為市場小,所以大家都去搶公家機關的標案,隱藏在背後的事實,其實就是搶錢而已。
    • 而在搶到錢這個大前提之下,軟體品質、工程師品質、系統功能都不是重點。軟體不需要有品質,只要可以跑就對了,blackbox就繼續讓他blackbox下去,反正user只會看到GUI;工程師品質不用好沒差啦,有人可以coding即可,因為blackbox裡面的source code也沒人會想自己維護的…所以沒人再隨便補,其實就我看到的一些工程師,根本就是只會電腦打字就好了啦   系統功能當然也不必契合對方需求,因為實際需求誰也不清楚,邊做邊修改需求是一定的,反正做到可以領錢的時間點,系統可以work就好了…領完錢誰理你啊?
    • 這樣混沌的業界,造成的結果就是:
      1. 軟體毫無品質可言,也許系統不穩定,也許效能差,不然系統元件根本就是時好時壞的運作…跑不動了喔?重新開機吧   廢話,開發的都是一堆半調子,你覺得會寫出怎麼樣的東西?
      2. 工程師水準也無法提昇,都沒人注重軟體品質了,難道還會有人care工程師的能力嗎?即使現在一堆證照滿天飛,但是在我的眼中,大多數證照都是廢紙一張,會考試的人不見得會coding,會考試又會coding的人不見得對軟體架構有概念哪…(應該出個Data Structure or Algorithm的證照的  ) 所以這個業界總是充斥著濫竽充數的人,薪資水準也提昇不了,那當然就是出現劣幣逐良幣的效應啦~如果稍微有那麼一點工程師的自信,整天在那邊調整Layout或TextField的長度,你會不會想離開這個業界?
      3. 系統永遠只是能跑,提需求的人不懂怎麼樣以資訊流程去思考真正的系統需求,實作需求的人即使真的懂原始需求的Business rules,但也只想拿到錢…所以扯爛污的系統到處都是哪。
    • 事實上一個MIS要真的能發揮他的功效,我認為主要還是在工作流程面的效率提昇,但這就會牽涉三個層面的問題─必須有對資訊流程了解的人、也必須有對原有工作流程及背景了解的人,才可能設計出一個能確實提昇效率的系統,而這個系統極有可能牽涉工作流程的改變,那就需要高層的支持,不然根本無法進行變革。但是最麻煩的是,這通常不是一蹴可及的事,流程的電子化,部分工作的自動化,其實就是一種組織變革,陣痛期是必然的。而且還要視這三個層面的利害關係人(stakeholder)能力到什麼程度,來決定過渡期的長短
      • 系統設計者不了解IT架構或經驗不足,造成系統效能不彰,陣痛期就會增加系統微調(Tuning)的時程
      • 負責人對工作背景不夠了解,系統就可能浪費一堆時間在協調及溝通─僅僅是為了設計合理的電子流程
      • 高層未提供足夠的支持,那反對變革的阻力更是會排山倒海而來,搞不好案子就fail了…
      • 只是以我目前的經驗來看,一個軟體專案,如果這三個層面只有二缺一那已經不錯了,多的是三個條件都不存在的…工程師水準參差不齊,第一個條件就很難了,第二個條件看起來比較簡單對吧?可惜在公家機關,第三個條件百分之九十不存在,通常也就連帶造成了第二個條件一起掛─誰想去做長官不支持的案子啊   以我個人的了解,一般的開發模式都是,滿足第一個條件的人,必須嘗試自己去滿足第二個條件,然後期待第三個條件會從天上掉下來…但是大部分的專案在第一個條件就so-so了,這種專案的存在意義,似乎就只是增加台灣軟體產業的產值而已😄
  2. 多數廠商放棄研發,改為代理外國軟體
    • 不曉得是不是因為第一個問題,不管是MIS或是軟體產品研發公司,最近都改為直接代理國外大廠的軟體產品。我可以理解的是這樣做風險較小,因為消除了自行研發的成本,引入國外大廠的技術支援,最多只要提供少數的local維護人力…免除了自行研發的巨大風險,這樣的成本也容易控管
    • 另外一個好處,只要那個代理的國外大廠招牌夠亮、夠硬,那代理商在談需求時最大的籌碼就是─不要隨你啊,反正還有很多人要。這樣就不至於淪為客戶刀俎上的魚肉啦(我也好想這樣喔~XD)。
    • 只是這樣做,除了技術能力無法提昇、淪為國外大廠的附庸之外,最大的問題還是出在客製化時…產品化的東西就是這樣,再怎麼彈性也有個限度(事實上我覺得軟體彈性與效能是成反比的…越是保持更多彈性的系統,架構就越複雜,效能就越差,彈性要無限大?好啊,系統無限慢 XD),總是有些「天馬行空」的客戶需求不可能辦到,而當這個產品是一個系統整合專案的關鍵部分時就更好玩了…同質性的產品還比較好整合,例如微軟的系列產品;碰到異質性系統的整合,有時候就算你有再高超的技術能力,碰到某個產品的限制你也是沒輒。
    • 只是隨著這種趨勢的出現,大概也可以發覺一些歷史的軌跡了,例如錄影帶的規格之爭,只要大多數人因為成本的關係,停止百家爭鳴的研發,趨向於數極的勢力(常常是雙極相爭,好啦,我說的就是Micro$oft & Sun),那市場機制大概就會慢慢伸出那惡魔的手…資本主義的奧義   只是台灣比較詭異的是,因為市場上的大型企業可能不足以讓整個產業回歸市場機制,畢竟目前的產業的主要市場還是在公家機關,以台灣而言,政策和市場常常都是互相杆格的存在,那,未來會怎麼發展?我還不曉得,但是最可惜的是,台灣總是喜歡靠向大企業,市場上似乎都不怎麼信任OpenSource的東西…

待續:
●CMMI會成為下一個ISO?!
●工程師未具備核心價值─不是Microsoft,不然就是Sun,技術核心都掌握在原廠手裡
●我可以想到的軟體方向:產品─嚴格來說是General的軟體,提供一般性的用途,最多小部份可客製化
專案─Specialize的軟體就是專案,或是MIS的開發,通常是需求永遠牽扯不清的鳥系統
產品+專案,就是辦公室與機房的應用軟體環境
●社會價值觀的問題,客戶需要的是符合他們所有需求的系統,可是他們自己也不曉得完整的需求是什麼;廠商則是只有有限的資源,包含人力、軟硬體成本,於是工程師也只有被壓榨的份…
●對未來的猜測:軟體服務業─扯爛汙的軟體專案通通外包

About David Yang

David Yang, like sports, nature, reading, music and...traveling. I am not good at sports, but like watching basketball, baseball and tennis games. I am not very strong, but like hiking, bushwalking and riding bicycle into the nature...Although I am a software engineer. Not only continue to read and gain knowledge, I also want to walk around every corner of the world. Here are some stories about my itineraries: https://dflucifer.wordpress.com/ I come from Taiwan...no matter where you meet me, either I am traveling, or just preparing for next trip :-)
This entry was posted in 軟體工程. Bookmark the permalink.

2 則回應給 台灣軟體業的冷眼旁觀(200610)

  1. PhanixChen 說:

    (y)寫得夠中肯啊…

  2. David 說:

    耶、耶耶、耶耶耶? 你竟然出現了,好久不見啊~

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s