此模式是 "取代過時系統的模式" 的一部分

建立城鎮計畫

找出組織中穩定的部分,以其為基礎架構團隊和軟體

此頁面為存根。我們打算在後續修訂的資料中將其完整擴充。然而,我們仍處於開發這些模式的階段,因此隨著我們持續學習如何最佳架構和說明這些想法,模式可能會重新命名、拆分或合併。

我們經常參與軟體系統的開發和維護長達好幾年,然後在面臨取代系統的任務時,可能會難以將其分塊,以見樹又見林。系統提供的業務功能有哪些大塊?

我們發現,找出業務功能大塊的真正有用方法,是思考軟體參與提供的不同能力,以持續運作業務。作為參考,我們將此視為我們的定義

業務能力是描述業務中穩定界線的人員、流程和工具的集合。

通常現有的舊系統會具備不同的功能組合,視系統本身而定。例如,核心銀行平台可能包含現有系統中的付款處理、總帳和結算、客戶帳戶等。這些功能成為我們在尋求逐步安全地取代舊系統時可以鎖定的關鍵切入點。

一旦確定這些功能,下一步(或您可能這麼想)會是進一步深入探討每個功能,但這正是陷阱所在。舊系統取代活動中一種典型的失敗模式,就是花費大量時間試圖極其詳細地了解我們將要建構什麼。這是分析癱瘓的典型形式,而且可以說讓 SOA 背負了可怕的名聲。「我們將花兩年的時間設計您需要用來取代系統的所有服務。然後我們將建構這些服務。」。我們希望我們已經學到比這更好的方法了!

那麼我們該怎麼做?作者喜歡使用都市規劃[1]的隱喻,來描述我們在開始進行之前應該努力達到的詳細程度。