買產品25萬,再開發500萬!企業如何逃離客製化開發陷阱?

2023-07-28 06:01:29

背景

我們於零幾年購買了這款產品,產品僅花費25萬。加上客製化開發,第一次總共花費50萬。隨後,十幾年間,經歷多次改造和迭代,我們在這個系統上總計花費500萬!因為早期企業財力有限,購買的產品是比較便宜的產品。其模組化和介面的豐富度都很有限,所以導致後期改造非常痛苦,花費非常大!

——這段吐槽來自於我最近的一位客戶。

這個客戶是中國傳統行業的優秀代表,是中國辦公傢俱行業頭部企業。世界500強企業有35%是它們的客戶,銷售範圍涵蓋全球60%以上的國家和地區。

它最早從代工和貿易起家,後經過品牌化和數位化升級,發展到行業頭部。能在十幾年前就大力投入數位化建設,判斷力和執行力都很非常不錯!

但是,它面對的問題卻如此常見,我如此熟悉。所以,我認為有必要寫篇文章來幫助有同類問題的朋友。

定義問題

首先申明,我所說的不是一個企業的問題,而是一類企業的問題。

每個行業都有這樣的企業,他在自己的細分領域憑藉一定的競爭力,業務到達一個新階段,但尚未到達行業頭部。此時,訂單量在迅速增加,未來前景很好,但面對突如其來的訂單,各種管理問題接踵而至。它們需要資訊系統來去提高自己的運營效率,或者說提供更先進的客戶服務。但,這種資訊化專案非常難,因為:

首先,因為自己的獨特競爭力,它有自己的獨特業務流程,所以一般的資訊系統滿足不了它。

其次,企業規模還沒有很大,沒有足夠多的預算來自己從零到一打造一款資訊系統。所以只能買市場上已有的產品。

最後,在買產品的時候,它面臨兩難選擇:大公司的模組化產品 v.s. 小公司的客製化化產品。

大公司的模組化產品,模組抽象得好,介面定義得好,能靈活地支援各種各樣的業務場景。但是,缺點就是貴。不僅僅是買產品的價格貴,首次實施也貴。因為好的產品有個特點,就是」很抽象「,不做設定或二開沒法直接使用。

小公司的客製化化產品,價格便宜。並且一般小公司的產品,都是剛從某些特定的業務場景中提取出來的。運氣好的話,能找到一款跟本企業的業務流程非常類似的產品。但是,缺點是大部分改造都是基於程式碼的改造,而不是基於介面的改造。所以,首次改造,可能因為改造需求的不多,所以很快。但是,如果你打算長期使用這個產品,你預見到這個產品將會在未來五到十年持續伴隨著你的企業經營,那從長遠來看,這種產品的改造成本就會變得異常巨大。

接下來,我們把這個問題的特點總結一下:

約束:

  1. 傳統中小企業,初次預算不多。

  2. 業務流程特殊,需要客製化和適配。

目標:

  1. 開發的系統滿足當前業務需求。

  2. 開發的系統未來迭代成本低。

解決問題

這個問題可以分解成兩個子問題:

  1. 第一個是在初次採購專案的選擇和要求問題。

  2. 第二個是在採購之後長久的迭代開發問題。

首先,我們談「初次採購專案的選擇和要求」問題。

當我們在購買一個軟體的時候,我們通常有兩個選擇:第一是購買本地部署軟體,第二是購買 SaaS 軟體 。

本地部署軟體,國內大多數企業的選擇。 當我們購買這類軟體時,除了滿足當前功能需求外,還需關注以下幾個方面。必要時務必在合同中約定以下要求:

  1. 提供原始碼。要求乙方提供可編譯執行的原始碼,以及配套的原始碼說明檔案。說明檔案需要對各個程式碼模組的功能和聯通關係有清晰的說明,對關鍵業務邏輯和流程有清晰的說明。

  2. 開放介面。根據對未來業務發展的預測,來要求乙方提供必要的開放介面,以滿足未來的二次開發需要。

  3. 提供資料庫檔案。資料是一個資訊系統最核心的資產,所以需要乙方提供資料庫中,每一個表每一個欄位對應的業務含義或者技術含義。並且,當未來某一個時刻,你發現這個系統不值得改造時,這個系統的資料還有很好的利用價值。你很有可能需要提取這個系統的資料,或是製作報表,或是提供資料給其他業務系統。這個時候對於資料庫的理解就變得非常非常重要!

SaaS 軟體, 也是一個不錯的選擇。它們一般都有著良好的介面,比較一致的使用者體驗。他最重要的特點是價格低廉。當你不確定這個系統對應的業務未來前景,他是一個可中和風險的選擇。因為如果發展的不好,你的損失也不是很大;如果發展得好, 需要更深度的客製化,你可以靈活的用其他的系統去替代。

上面我們提到了對「初次購買專案的選擇和要求」, 這為我們後面的「長久迭代開發」提供了一個良好的基礎。

接下來,我們再談「採購之後長久的迭代開發問題」的問題。

如果需要長久的迭代開發某個系統,那麼我們選擇合適的開發平臺就變得異常重要。對於中小型傳統企業來說,一般很難有大量的高水平的高程式碼工程師,所以我們選擇的開發平臺應該滿足以下幾個特點:

  1. 學習成本低。 學習成本低,這個特點就不用說了,因為我們要照顧到一些中低水平的開發工程師。最好能讓剛畢業的工程師經過幾個月的培訓,就能開發出中等難度的軟體。隨著傳統行業數位化程序愈演愈烈,傳統行業對軟體工程師的數量要求越來越大,所以不太可能在每一個傳統企業都有足夠多的高水平工程師。所以,各種低程式碼平臺應運而生,很好地解決了上述困難,是一個不錯的選擇。

  2. 有高邏輯能力。上面提到了學習成本低這個特點,但是我們同時又不能放棄掉高邏輯這個特點。因為當我們在做二次開發和迭代的時候,我們要面對的是更加複雜的、且客製化化的業務邏輯,這些業務邏輯需要有高邏輯的開發平臺來完成。

  3. 業務友好。我們說「業務有好」指的是這個開發平臺,寫出的程式碼,讓業務人員也能看懂。為什麼這麼說呢?我在之前的一篇文章《一部軟體開發科幻爽片:從數位化到低程式碼到自動程式碼生成》中提到過數位化的最終階段是業務和技術的融合。在這個最終階段,一定要業務人員和技術人員說,同一套語言寫同一套文字,只有這樣才能真正的讓 業務團隊和技術團隊無失真溝通。同時,這種開發平臺也將加速業務人團隊和技術團隊之間的人員流通。以上兩者會帶來巨大的符合業務發展的創新力 。

  4. 方便系統整合。企業軟體的二次開發免不了與現有系統進行大量整合,包括介面的整合、資料庫的整合等。因此,軟體開發平臺提供良好的系統整合體驗是非常必要的。

在開發平臺選擇上,我認為 Mendix 是一個不錯的選擇。因為:

  1. 良好的學習體驗。Mendix 提供了完善的學習路徑和評級體系,並有豐富的培訓資源,比如圖文、視訊、培訓服務等。

  2. 有高邏輯能力。Mendix採用MVC(Model-View-Controller)三層邏輯的視覺化表達,使得複雜的邏輯處理變得直觀易懂。開發人員可以通過簡單的拖拽和連線操作,實現複雜的業務邏輯,滿足專案的高度客製化化需求。

  3. 業務友好。Mendix注重業務人員參與,其視覺化開發環境讓業務人員能夠完全理解應用的邏輯。這使得開發團隊與業務部門之間的溝通更加順暢,加快了開發週期,減少了開發與業務對接的難度。

  4. 系統整合方便。Mendix提供了豐富的現成Connector,這些Connector可以輕鬆整合常用的外部系統和服務,如ERP、CRM等。此外,它還提供了視覺化介面對接功能,使得與其他應用系統的整合變得更加便捷和高效。

總結

感謝讀完本文,本文核心觀點如下:

  1. 傳統中小企業在數位化轉型過程中,常面臨軟體選型兩難困境:大公司產品功能強大但昂貴,小公司產品便宜但後期迭代成本高。

  2. 為降低後期迭代成本,初次購買時應注意:原始碼、介面開放性、資料庫檔案完備性。同時也可考慮 SaaS 軟體降低採購風險。

  3. 長期迭代開發要選擇學習成本低、高邏輯能力、業務友好、易系統整合的開發平臺。

  4. Mendix 具有良好的學習體驗、高邏輯表達能力、業務團隊參與、系統整合方便等特點,適合傳統企業長期迭代使用。

  5. 整體來看,傳統企業應在數位化轉型中注意平衡初期採購與長期迭代,選擇既適合當前階段又考慮未來擴充套件的軟體產品與開發平臺,以降低整體成本。

關於作者

您好,朋友。我現就職於西門子工業軟體,擔任高階諮詢顧問。成功領導 10 多個世界 500 強企業的數位化轉型專案,跨越政府、零售、金融、汽車製造、生物醫藥等多個行業,創造巨大商業價值。

如有任何與「數位化轉型」有關的問題,歡迎用以下方式與我交流:

  1. 新增我的個人微信「zjh1943」。新增時請註明姓名、行業、交流的問題。

  2. 關注我的微信公眾號「知明所以」。

  3. 關注我的知乎專欄:https://www.zhihu.com/people/zhu-jin-heng