使用DDD重新思考ERP系統的一些初步想法 –feststelltaste

banq發表於2020-01-27

“企業資源計劃系統”(ERP系統)之類實際上是一種瑞士軍刀軟體系統。毫無疑問,它們確實是功能強大的工具,但是在某些情況下,它們可能造成的弊大於利。因此,我想講一個虛構的故事,該故事顯示了組織如何陷入困境。為此,我將嘗試使用Nick Tune的全新Core Domain PatternsWardley Mapping(但請謹慎使用Wardley Maps,我仍在學習)。

為了更好地瞭解ERP系統周圍的環境,我們首先簡要介紹一下IT系統在過去幾十年中的作用:

  • 1970年代:流程自動化/合理化
  • 1980年代:實現經濟目標
  • 1990年代:啟用新的業務流程
  • 2000年代:商業模式的差異化
  • 2010年代:進入新市場的整合中心

特別是在最近的二十年中,非常有趣:在2000年代的IT系統的幫助下,通過獨特的功能與其他競爭對手的差異化以及在2010年代通過靈活的API整合而獲得的競爭優勢。讓我們回想一下2000年代初期。我們公司在eBay等線上市場上銷售商品。沒有其他公司可以像我們那樣整合來自各個市場的API。我們是API整合商中的明星。整合是我們的核心業務!為了縮短上市時間,我們使用了全新的ERP系統。

我們不僅有僅用於API整合的ERP系統,當時還沒有所有通用的東西如發票,我們當時沒有想到為此建立自己的獨立應用程式。

但是我們的銷售人員始終對我們的ERP系統開發人員有特殊要求。我們無法否認他們的願望。隨著時間的流逝,這帶來了成本:所有這些定製都是昂貴的,並且嚴重依賴於ERP系統的內部。是的,有介面和特定於資料庫廠商的資料庫架構之類的東西,但是誰在乎呢?我們是一種拉皮條式的ERP系統。作為精通技術的開發人員,我們甚至定製了我們的ERP系統的基本模組(ERP v1')。

後來幾年過去了,突然(誰曾想到這一點!)有關發票的法律發生了變化。需要釋出了新版本的ERP系統(ERP v2),免費提供發票模組的所有合規性更新!我們只需要更新到這個版本,一切都會好起來的。

但請稍等。。。幾年前,由於我們對ERP系統內部的大量修改,對ERP基本模組進行了重大更改,已經無法更新到新的ERP版本。

為此,我們投入了大量的資金,我們不想放棄所有投資。但是,即使我們願意付出代價,我們也無法更新到最新半比,因為我們系統中的所有模組現在都依賴於基本模組中未定義的自定義程式碼量。丟失所有有價值的微優化的風險實在太大了。這給我們留下了唯一的選擇:確保我們的發票模組的舊版本符合新的法律法規。因此,我們在通用子域中編寫了自己的模組。這簡直就是在浪費錢!

但是,情況變得更糟:藉助新的ERP系統,還立即提供了新的超酷API整合。我們所有的競爭對手現在都可以更新到較新的系統。與我們的競爭對手相比,我們的差異化完全消失了,這使我們落後於我們,因為我們無法利用這個機會:我們仍然陷於過去版本的糾結中!

我們遇到了“ 前桌賭桌賭檯 ”:我們以前的核心資產降級為純粹的支援功能或負債,而我們只能維護普通的支援和通用子域模組。沒有新的核心,沒有新的差異化機會,而是沉迷於保持舊系統執行的挑戰,因為我們沒有更多的錢擺脫所有混亂。

不開心的結局。

那麼,這個故事的寓意是什麼?

使用ERP系統時,請不要與ERP的基本模組打交道,以防止造成不可更新的巨大成本。請記住,您還具有依賴於基本模組的其他具有戰略意義(不重要)的模組。在最壞的情況下,趨勢可能會逆轉,您將獲得僅需以高昂成本維護的支援和通用模組,從而無法在市場上脫穎而出。

在元級別上,我希望您看到了如何使用Nick Tune的Core Domain Patterns和Simon Wardley的Wardley Maps來解釋這種情況。這些是進行戰略思考的絕佳工具!

 

相關文章