一千萬個為什麽

搜索

如何避免大型組織的分支?



在與大型組織合作時,您如何避免出現問題?

我們與許多大型金融機構合作,其方法是不更新軟件,而只提供高/關鍵安全補丁和定制功能。這些組織僅在主要更新之間采用補丁和自定義發布。主要更新可能相隔數年並且成本高昂。這種方法導致我們(軟件公司)為每個主要客戶分配我們的代碼分支,這帶來了長期分支的所有成本和低效率。

我對社區的問題是:

  • 您是否經歷過類似的更新驗收方法 顧客?
  • 您有什麽建議可以幫助解決這個問題 進場?
  • 您有什麽建議可以幫助改變組織 采取軟件更新的方法?

轉載註明原文: 如何避免大型組織的分支?

一共有 2 個回答:

正如邁克爾提到的那樣,提供基於發布版本/數字的標準解決方案,對於您的行業來說具有相當長的使用壽命(如果它對您的典型客戶有意義,可能與一個或多個更短壽命的中間版本交錯)。

讓您的客戶選擇開始這個標準發布跟蹤,可能會有一個合適的遷移截止日期。

如果他們堅持全定制分支機構支持策略,只需相應收取費用,以便適當地支付提供此類全定制支持所需的所有額外費用 - 這只是具有商業意義。有些客戶會遷移以降低成本(這將有助於減少自定義分支的數量),有些則不會。

可變支持計費隨著自定義分支所源自的發布版本的時代逐漸增長,也可以激勵客戶更快地遷移到更新的分支,從而有助於更快地關閉舊的自定義分支。這有助於減少每個客戶的自定義分支數量 - 如果您的客戶同時運行多個版本的軟件。

確保您不陷入從任何發布分支(標準和自定義)進行完整分支合並的陷阱,對其進行的所有更改都應該單獨開發或者選擇合並修復。

因為這些分支中的每一個將逐漸彼此分開,所以需要定制/個體開發的修補程序的數量將呈指數級增長(簡單的櫻桃選擇合並將失敗)。您需要考慮這些開發成本。

由於圖片中沒有(重要的)分支合並,您可以(並且應該,我不能強調它的重要性)為這些分支構建完全自動化的CI/CD管道,並附帶一個良好的修補程序跟蹤/管理系統,使得修補程序交付只是常規(或幾乎)。

也許如果您維護每個版本的分支而不是每個客戶,它可以幫助減少他們的數量?

否則,真正擺脫它的唯一方法就是能夠自己托管軟件並切換到SaaS模式,您只能維護一個版本。