軟體開發與工廠思維
這篇的想法是埋藏在心裡很久的,因為工作關係、身份關係,常常需要被灌輸一些觀念,但是每次聽到哪些『說法』怎麼聽,都是覺的怪。
管理工作經常需要量化產能,量化產能經常的會拿工廠生產線來比喻,最後就把軟體開發的管理度量,用生產線的思維來比喻,然後就把軟體開發者、軟體工程師當作產線作業員來管理,荒謬至極的想法。
以下是我下班坐公車時,寫下積累、醞釀的 隨筆 (2019/07/09)。
我不喜歡用管理工廠來比喻軟體工程,覺得是個謬論。因為很多書,或者很多人講的都是產線如何生產最有效率,也就是 *把員工當作產線作業員- 的思考。
軟體產業
要思考的是:
設計高效能的生產線,讓作業員提升產能,甚至不用作業員。
重點是放在:
設計生產線
一些晶圓廠,每幾年就會宣告投資多少錢,蓋第幾代晶圓廠,看到新聞的時候我想的是:
這晶圓廠是誰設計的?
軟體開發,常常會依賴複雜且強大的開發工具,工具的目的是帶來高效能的產能,提升品質。但是往往我們自己卻沒意識到,使用我們產品的客戶,不就是把我們當做產品當生財工具?
看看 Microsoft、Google、Facebook、Amazon 投入多少資源在做
開發平台
、開發工具
,Amazon 甚至搞出 AWS 這樣的產品,而這些就是設計生產線
的工具。
我常常會告訴大家,你在用什麼工具,就要去觀察這個工具的設計,試著去思考他設計的邏輯與思路,以及背後的 Domain Know How。如果這是一個有 設計原則
的產品,試著去了解它的本質是什麼,要解決的問題。然後,你的產品,自然而然,就會有這樣的樣子出現,甚至青出於藍。
軟體開發的是工具,工具本身就是所有使用情境的 最大集合
,換言之,設計產線,滿足生產的情境,以及彈性,是軟體開發者必須思考的。
換言之,只有複雜的工具,才能解決複雜的問題,而駕馭複雜的工具,或者要把複雜變簡單,本身是高度複雜的,懂?
如果把軟體工程師當作產線作業員來管理,那不管是怎樣的人才,不管多偉大的商業模式、多麽有效的激勵管理,軟體工程師最後是產線的作業員,而所謂的 管理者
了不起只是產線上的監工而已。
你公司的工程師是在產線上的作業員?還是在設計生產線?
後記
常聽到朋友說:
為什麼台灣沒有一個像樣的國際型軟體公司?
我一直在思考這問題,同時我現在也是個管理者、主管的角色,某種程度也代表公司一小部分的經營者。
能用錢解決的問題,就不是問題。
工作上很常聽到這句話,這句話背後的意思:
問題從來沒有被解決,特別是那些有難度的工程與技術問題
而為什麼台灣沒有一個像樣的軟體公司?我知道有大型跨國工廠啦,裡面員工一百萬人。