不同團隊開發同一系統,怎麼維持系統穩定性?

更新 發佈閱讀 3 分鐘

近來客戶問了一個很有趣的問題


系統移交後,還有保固期。我們的團隊要負責修復 bug 。但他們也有工程師要進來改,這樣怎麼維持系統的一份 Code ?


基於責任歸屬的問題,並不推薦這樣運作,畢竟就算改壞的系統功能不用委外團隊修復,排查問題還是會產生資源的耗用用。大多數的合約會乾脆訂,只要自己改了就不保固。但如果仍然要進行,問題就是回到標題寫的,不同團隊共同開發一套系統,怎麼維持系統的穩定?


版本控制策略

首先,系統源碼本身要有 Git 進行版本控制。在上面的情境中,最後發佈的負責人應該是委外團隊,但如果是一般公司組織內,就指派特定的資深人員就好。當然,如果規模比較大,也有可能會設一個變更管理團隊,但整體的結構不變。


vocus|新世代的創作平台


以 Git Flow 分支策略,就能比較清楚知道怎麼進行。首先幾個名詞解釋

  1. Master:最重要的主幹分支,裡面的每一個版本都是能隨時發佈的,所以它是相對穩定的版本,不可在上面進行測試或改動。
  2. Dev:開發團隊的主要分支,從 Master 分離出來,主要用於整合測試使用,是相對穩定的分支。
  3. Feature:個別工程師進行開發時,再從 Dev 分離出去的分支。因為 Dev 可能會有其它 QA 、 PM 在測試,同時一個系統可能有很多工程師在開發,切出 Feature 可讓開發中的震盪只會發生個別的 Feature 中,不會影響到 Dev。這等於每個開發中的功能,不會影響到團隊中其它實員的開發。個別的功能都應該切不同的 Feature (大致上就是對應到一個 issue)。


按這樣的結構處理後,當特定一個版本要發佈之前,會經過整合測試。

整合測試便是會把各個完成的 Feature 分支,合併到 Dev 。因為 Feature 是多線進行,且可能切出去的時 Dev 版本也不同,合併的時候若發生衝突,就是在這個階段排除。完成合併後便可進行整合測試。


發佈後的異常處理

整合測試完成後,新的 Dev 穩定至可發佈狀態時,再合併至 Master ,打上版號,準備發佈。這時,便發生另一個實務上一定會發生的議題:發佈後發現程式異常怎麼辦?


這時不出有三種策略:

  1. 排入下一個版本修復
  2. 回滾 (roll-back) 回上一個版本
  3. 緊急修正 (hotfix)


第 1 種就不討論,不影響主流程的情況,大概都是選擇第 1 種策略,再重複上面的開發循環。不管是不是跨團隊的開發,問題都不大。

比較有決策困難的是,影響系統主流程的版本怎麼辦?

沒有經驗的開發團隊,很多會選擇看噴什麼錯誤,直接改了。我通常看得是冷汗直流,直到我看到這個影片,覺得完全命中!

是的,Hotfix 就是這麼驚悚!所以…它不應該是常態。

回到最初設定的情境:多團隊的共同開發。進行發佈的負責人,有 99.9% 的機率不會清楚這次版本的所有變動區域。所以如果發佈新版本後,遇到影響系統主流程的異常,最標準的動作是:直接回滾到前一版本。因此, Master 的一個重要前提:每一個版本都是能隨時發佈,在此處就相當重要。


當然,工程師會抗議,不是他們要做 Hotfix ,是被 PM 押著做。不過 PM 大概也會說,他也是被 PO 推著走。這種事,只能書面揭露 hotfix 的項目及風險,請相關人員共同劃押、共同承擔了。



創科資訊 https://trunk-studio.com



留言
avatar-img
數位旅人日誌
5會員
6內容數
歡迎來到「數位旅人日誌」。我是駒米,一位軟體發展顧問。這裡將記錄分享系統規劃經驗、商務策略到科技趨勢,探索數位發展的未知旅程。
數位旅人日誌的其他內容
2024/06/28
問對問題的重要性 「你週末有什麼計劃?要不要一起去看電影?你覺得哪部電影好?」 有沒有遇過這種經驗?跟人對談時,對方拋過來的問題很不好回答,導致交流起來相當消耗能量。像前面這種就是典型的不好回答的問題,因為它是包含三個完全不同的問題:預定計畫、活動邀約、跟電影偏好的多重問題。在日常熟識人間的
Thumbnail
2024/06/28
問對問題的重要性 「你週末有什麼計劃?要不要一起去看電影?你覺得哪部電影好?」 有沒有遇過這種經驗?跟人對談時,對方拋過來的問題很不好回答,導致交流起來相當消耗能量。像前面這種就是典型的不好回答的問題,因為它是包含三個完全不同的問題:預定計畫、活動邀約、跟電影偏好的多重問題。在日常熟識人間的
Thumbnail
2024/03/18
台灣市場規模不夠的先天不足,加上網際網路有打破地理限制的特性,在我從事系統開發以來,出資人或是產品經理在發展數位產品時,常會希望系統能夠觸及全世界各地的使用者。衍生的就是系統需要能夠全球化、在地化的需求。然而這不僅僅是一個關於語言轉換的問題,而是一個涉及技術、法律以及市場策略等多維度的問題。
Thumbnail
2024/03/18
台灣市場規模不夠的先天不足,加上網際網路有打破地理限制的特性,在我從事系統開發以來,出資人或是產品經理在發展數位產品時,常會希望系統能夠觸及全世界各地的使用者。衍生的就是系統需要能夠全球化、在地化的需求。然而這不僅僅是一個關於語言轉換的問題,而是一個涉及技術、法律以及市場策略等多維度的問題。
Thumbnail
2024/01/07
對於許多企業而言,試算表是日常業務和決策過程中不可或缺的工具。它們被用於各種目的,從財務預算和盈虧分析到庫存管理和客戶數據記錄。然而,隨著業務的發展和數據量的增加,許多人會發現自己面臨著試算表管理和維護的挑戰,這些挑戰可能妨礙效率、準確性和生產力。 1. 數據管理的繁瑣性 試算表中數據的輸入
Thumbnail
2024/01/07
對於許多企業而言,試算表是日常業務和決策過程中不可或缺的工具。它們被用於各種目的,從財務預算和盈虧分析到庫存管理和客戶數據記錄。然而,隨著業務的發展和數據量的增加,許多人會發現自己面臨著試算表管理和維護的挑戰,這些挑戰可能妨礙效率、準確性和生產力。 1. 數據管理的繁瑣性 試算表中數據的輸入
Thumbnail
看更多
你可能也想看
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
相信外包管理的主管、RD朋友、統計系、工業工程系的同學,應該經常都會被問到這一類問題吧!因此石頭哥藉由解惑之際,趕緊紀錄一下,方便你參考使用!
Thumbnail
相信外包管理的主管、RD朋友、統計系、工業工程系的同學,應該經常都會被問到這一類問題吧!因此石頭哥藉由解惑之際,趕緊紀錄一下,方便你參考使用!
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
以前我在新創公司當PM(產品經理)的時候,如果提出做一個新功能的需求,常被工程師挑戰是否真有必要做...
Thumbnail
以前我在新創公司當PM(產品經理)的時候,如果提出做一個新功能的需求,常被工程師挑戰是否真有必要做...
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
作為一個管理者,我們需要:保持對技術的熱誠,聆聽與做出決定,還有確保團隊達成目標。
Thumbnail
作為一個管理者,我們需要:保持對技術的熱誠,聆聽與做出決定,還有確保團隊達成目標。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
我們可能會有一種迷思,不管開發什麼系統,開發團隊都袛會有一種方式來工作。反正不管怎麼樣,系統最終也一定是能開發出來的。那麼選擇開發生命週期又跟我何干?本篇將會介紹專案經理應該如何為不同特性的專案選擇最合適的管理策略,即生命週期。
Thumbnail
我們可能會有一種迷思,不管開發什麼系統,開發團隊都袛會有一種方式來工作。反正不管怎麼樣,系統最終也一定是能開發出來的。那麼選擇開發生命週期又跟我何干?本篇將會介紹專案經理應該如何為不同特性的專案選擇最合適的管理策略,即生命週期。
Thumbnail
業務與研發之間的溝通是職場一大挑戰,常因認知差異產生誤解,影響工作氣氛與專案進度。 透過本文提出的三點提醒,設定對應方案來打破專業壁壘,就能建立起有效的跨部門合作關係。
Thumbnail
業務與研發之間的溝通是職場一大挑戰,常因認知差異產生誤解,影響工作氣氛與專案進度。 透過本文提出的三點提醒,設定對應方案來打破專業壁壘,就能建立起有效的跨部門合作關係。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News