軟體開發與工廠思維


這篇的想法是埋藏在心裡很久的,因為工作關係、身份關係,常常需要被灌輸一些觀念,但是每次聽到哪些『說法』怎麼聽,都是覺的怪。

管理工作經常需要量化產能,量化產能經常的會拿工廠生產線來比喻,最後就把軟體開發的管理度量,用生產線的思維來比喻,然後就把軟體開發者、軟體工程師當作產線作業員來管理,荒謬至極的想法。

以下是我下班坐公車時,寫下積累、醞釀的 隨筆 (2019/07/09)


我不喜歡用管理工廠來比喻軟體工程,覺得是個謬論。因為很多書,或者很多人講的都是產線如何生產最有效率,也就是 把員工當作產線作業員 的思考。

軟體產業 要思考的是:

設計高效能的生產線,讓作業員提升產能,甚至不用作業員。

重點是放在:

設計生產線

一些晶圓廠,每幾年就會宣告投資多少錢,蓋第幾代晶圓廠,看到新聞的時候我想的是:

這晶圓廠是誰設計的?

軟體開發,常常會依賴複雜且強大的開發工具,工具的目的是帶來高效能的產能,提升品質。但是往往我們自己卻沒意識到,使用我們產品的客戶,不就是把我們當做產品當生財工具?

看看 Microsoft、Google、Facebook、Amazon 投入多少資源在做 開發平台開發工具,Amazon 甚至搞出 AWS 這樣的產品,而這些就是 設計生產線 的工具。

我常常會告訴大家,你在用什麼工具,就要去觀察這個工具的設計,試著去思考他設計的邏輯與思路,以及背後的 Domain Know How。如果這是一個有 設計原則 的產品,試著去了解它的本質是什麼,要解決的問題。然後,你的產品,自然而然,就會有這樣的樣子出現,甚至青出於藍。

軟體開發的是工具,工具本身就是所有使用情境的 最大集合,換言之,設計產線,滿足生產的情境,以及彈性,是軟體開發者必須思考的。

換言之,只有複雜的工具,才能解決複雜的問題,而駕馭複雜的工具,或者要把複雜變簡單,本身是高度複雜的,懂?

如果把軟體工程師當作產線作業員來管理,那不管是怎樣的人才,不管多偉大的商業模式、多麽有效的激勵管理,軟體工程師最後是產線的作業員,而所謂的 管理者 了不起只是產線上的監工而已。

你公司的工程師是在產線上的作業員?還是在設計生產線?


後記

常聽到朋友說:

為什麼台灣沒有一個像樣的國際型軟體公司?

我一直在思考這問題,同時我現在也是個管理者、主管的角色,某種程度也代表公司一小部分的經營者。

能用錢解決的問題,就不是問題。

工作上很常聽到這句話,這句話背後的意思:

問題從來沒有被解決,特別是那些有難度的工程與技術問題

而為什麼台灣沒有一個像樣的軟體公司?我知道有大型跨國工廠啦,裡面員工一百萬人。


延伸閱讀


Comments