日本人開發軟體為什麼落後(之二)?

語言: CN / TW / HK

軟體需要非常快速的創新、而創新存在風險。日本的傳統教育是做任何事情不能有風險。軟體開發依賴開發團隊管理能力、溝通能力、開發人員技術能力。日本最優秀的學生畢業都到大公司。另外、日本軟體開發專案經過層層外包實際開發人員缺乏行業經驗和軟體效能要求的理解、作出來的軟體不能保證效能和品質。然後再不斷修改、因此、造成軟體產品的成本大幅提高和時間大幅延遲。失去進入市場最佳時機。
在現在IT行業中,諸如IoT,AI,DX等新關鍵字層出不窮。雖然不能怱視硬體作用、但是軟體的作用越來越重要。AI系統的一個特徵是系統內部被黑盒包裝,並且輸入和輸出無法準確定義。

帕累託原理:“ 80%的時間是在最後20%的時間中度過的”、日本人80%用於軟體改善、而美國人用80%時間設計新的軟體。不管日本豐田花冠如何改善,美國的特斯拉都是贏家。20年前不論日本手機廠家Sony/Panasonic/Kyocera/Sharp/Casio/的手機設計成什麼樣和有什麼功能,肯定打不過觸控式智慧手機(如Android和iOS)。因此、日本大多數手機廠家都以失敗而退出市場。
這與日本人接受的傳統的等級教育和工作息息相關。日本人在大學時期日本學生也可能會找到比爾·蓋茨的DOS思想和谷歌的演算法、但是日本學校不允許學生像美國大學那樣“玩弄”學習以外的東西,不能像谷歌那樣做浮華的工作。
微軟,蘋果,谷歌的開發團隊都是由天才組成的小型團隊,軟體需要非常快速的創新,精益和敏捷、但是它比硬體便宜得多,因此,即使是像Apple和Microsoft這樣的小型公司也可能威脅IBM。創新是存在風險的。日本公司的文化是做任何事情都不能有風險的。

在日本,最優秀的學生畢業都到大公司。因此、許多日本公司軟體開發團隊由低水平人員構成、往往軟體開發人員進入團隊後再從軟體開發,編碼,專案管理和管理分析開始學習。在日本,軟體開發的前沿技術比世界其他地區落後六至七年。日本軟體開發是重視設計一種倒金字塔方法。
另外、日本政府和大多數企業又把專案委託給技術諮詢公司、而技術諮詢公司實際上並沒有或只有很少的開發人員。他們將工作外包給外包公司,外包公司又將工作分包給下一級外包公司。該產品上的實際開發人員可能處於第幾個分包合同級別。無法管理業務需求中的更改。開發人一樣缺乏行業經驗。

一般的硬體就是“可見的東西”。例如:顯示器,硬碟,印表機,掃描器,鍵盤,滑鼠等。硬體相當於身體。而軟體就相當於人的神經和知識“不可見東西”。
硬體可以通過數字測量,例如效能指標、缺陷率,與設計規範的相容性以及市場變化。比較容易把握。硬體具有從開發到生產的各個階段,每個階段均由多個部門和供應商有關係。例如,機械設計師繪製工程圖,模具製造商製造模具,生產工程部門確定成型條件,生產部門建立工作手冊。通常,單獨一個人完成所有工作是不可想象的。因此,不可避免的是要採用一種過程方法來管理好每個階段的輸入和輸出。
日本人工作認真勤勉、是一個手工業者的國家,適合手工加工工作和生產硬體產品。但是對軟體開發就適得其反:人們不能提供100%完美的軟體產品,如果產品不及時上市競爭對手則在此之前將其產品推向市場。

軟性方面往往不容易測量、對於高效能和質量軟體依靠開發團隊管理能力、溝通能力、開發人員技術能力、找到一個BUG需要很長時間、開發成本和時間不好控制。在設計,編碼之後,每個階段的開發人員全部由一個人負責,對於開發人員能力將影響開發進度和品質。即使開發團隊、對於設計,設計文件審查和編碼各個過程,如果沒有人高水平人員檢查每個過程是否正確,開發出來軟體也是不能保證品質和效能的。

日本人開發軟體為什麼落後(之二)?