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

閱讀時間約 3 分鐘

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


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


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


版本控制策略

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


raw-image


以 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
4會員
6內容數
歡迎來到「數位旅人日誌」。我是駒米,一位軟體發展顧問。這裡將記錄分享系統規劃經驗、商務策略到科技趨勢,探索數位發展的未知旅程。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
數位旅人日誌 的其他內容
密碼,作為驗證使用者的身份基本手段,除了少部分的內容型網站用不到會員申請功能,大部分的網路服務都跟密碼息息相關。而密碼設定的規則,也算是業主常常喜歡發揮的地方。美國國家標準與技術研究院(NIST)的數位身分指南,其實有針對密碼強度做了很多版本的迭代,不過坊間最多看到的,很多還是停留在早期版本
用戶註冊,是許多線上服務和應用程式的重要一環,它不僅是作為用戶識別,也有助於系統提供個人化的服務。然而,在我職涯中,總會被業主要求一些作法,硬生生的會澆熄用戶註冊的意願。以下是四種可能澆熄用戶註冊意願的作法,跟建議改善的方式。 複雜的註冊流程 多重驗證或複雜的圖形驗證碼、嚴格的密碼政策、需要
密碼,作為驗證使用者的身份基本手段,除了少部分的內容型網站用不到會員申請功能,大部分的網路服務都跟密碼息息相關。而密碼設定的規則,也算是業主常常喜歡發揮的地方。美國國家標準與技術研究院(NIST)的數位身分指南,其實有針對密碼強度做了很多版本的迭代,不過坊間最多看到的,很多還是停留在早期版本
用戶註冊,是許多線上服務和應用程式的重要一環,它不僅是作為用戶識別,也有助於系統提供個人化的服務。然而,在我職涯中,總會被業主要求一些作法,硬生生的會澆熄用戶註冊的意願。以下是四種可能澆熄用戶註冊意願的作法,跟建議改善的方式。 複雜的註冊流程 多重驗證或複雜的圖形驗證碼、嚴格的密碼政策、需要
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
當迎接狗狗回家後,發生一些意料之外的不愉快或是衝突,像是隨地大小便、攻擊行為、幼犬咬手等等行為,這時候要向誰尋求幫助比較好呢? 本篇文章將會針對不同的訓練課程,像是一對一家教、團體班課程、住宿型訓練學校來比較以及介紹優缺點,希望可以給爸爸媽媽一點參考和方向!
Thumbnail
認知與經歷不同,人與人的價值觀千差萬別,共事時該如何相處?團隊又該怎麼帶? 這是一本以阿德勒心理學為基礎的新世代職場領導論。
Thumbnail
從上一篇分享中不難體認到「並非所有社團/活動都能與永續發展產生直接關連」倘若所有的活動都是以永續發展為主軸,那將會使校園內的活動顯的單一無趣,也並非我們在談永續發展的時候常常提到的「多元 Diverse」價值。因此,讓社團活動百花齊放、盡可能的導入與永續發展有關的知識,才是校方能促成學生社團加入
Thumbnail
整部作品的步調偏慢,故事性也不像上一部長篇《1Q84》刺激並戳破許多社會的現實,只以更淺淡的方式描述,人們有可能就瞥過去不明所以,也有可能產生了聯想而內心瘋狂震動。而這正是我覺得有趣,甚至想寫篇文分享的原因: 瞥過去不明所以,內心瘋狂震動,這兩個人,都是我,不同階段的我。
Thumbnail
有一個關於團隊文化的研究發現,當團隊能信任伙伴,安全感越高,犯錯率也就越高。 最初的研究結論認為,心理上的安全感會滋生出自滿,而且當伙伴彼此信任時,反而不太會去質疑別人或仔細檢查自己的工作。 什麼是伙伴 #荒野文化絮語 互挺的荒野伙伴關係 松雀鷹回答:「這就是所謂的相挺吧!」 #荒野文化絮語
Thumbnail
跨文化的團隊管理上課心得 當你將外派到其他不同文化團隊的時候你該做的事 - 如果有一天你即將被外派到其他國家管理或是適應不同國家的文化 你可能以為國際跨國組織會有一套公式,直接套用全球通用 你可能以為國際跨國組織,就是母公司是哪一個國家就用哪一個文化就對了 你可能以為外派生活,可以順便融入當地,逛遍
Thumbnail
很難有絕對正確的作法,端看管理者的智慧與時刻調整,讓團隊適才適所並且精省有力的發揮各自專長,這些道理說起來很容易,真正執行起來,才是最大困難之處。
Thumbnail
國民黨敗選引發路線及世代之爭,國民黨終生黨員、《新共和通訊》創辦人林家興今(15)日中午率多位黨籍青年對黨中央發起抗爭,甚至還突破封鎖闖進黨部大樓內,結果與較年長的黨員爆發衝突,雙方大打出手,過程中國民黨黨徽還遭擠壓摔在地上。  
Thumbnail
<p>食衣住行育樂,每一個選擇都是父母經過百般思索做下的決定,每次聚會也總是有許多熱烈的討論和交流。雖然家長們的想法難免有出入衝突,但是每次看著這些爸媽們為著一件小事躊躇、激辯,只為了找出對孩子和社會最好的方法,我感受到的,是滿滿的愛。</p>
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
當迎接狗狗回家後,發生一些意料之外的不愉快或是衝突,像是隨地大小便、攻擊行為、幼犬咬手等等行為,這時候要向誰尋求幫助比較好呢? 本篇文章將會針對不同的訓練課程,像是一對一家教、團體班課程、住宿型訓練學校來比較以及介紹優缺點,希望可以給爸爸媽媽一點參考和方向!
Thumbnail
認知與經歷不同,人與人的價值觀千差萬別,共事時該如何相處?團隊又該怎麼帶? 這是一本以阿德勒心理學為基礎的新世代職場領導論。
Thumbnail
從上一篇分享中不難體認到「並非所有社團/活動都能與永續發展產生直接關連」倘若所有的活動都是以永續發展為主軸,那將會使校園內的活動顯的單一無趣,也並非我們在談永續發展的時候常常提到的「多元 Diverse」價值。因此,讓社團活動百花齊放、盡可能的導入與永續發展有關的知識,才是校方能促成學生社團加入
Thumbnail
整部作品的步調偏慢,故事性也不像上一部長篇《1Q84》刺激並戳破許多社會的現實,只以更淺淡的方式描述,人們有可能就瞥過去不明所以,也有可能產生了聯想而內心瘋狂震動。而這正是我覺得有趣,甚至想寫篇文分享的原因: 瞥過去不明所以,內心瘋狂震動,這兩個人,都是我,不同階段的我。
Thumbnail
有一個關於團隊文化的研究發現,當團隊能信任伙伴,安全感越高,犯錯率也就越高。 最初的研究結論認為,心理上的安全感會滋生出自滿,而且當伙伴彼此信任時,反而不太會去質疑別人或仔細檢查自己的工作。 什麼是伙伴 #荒野文化絮語 互挺的荒野伙伴關係 松雀鷹回答:「這就是所謂的相挺吧!」 #荒野文化絮語
Thumbnail
跨文化的團隊管理上課心得 當你將外派到其他不同文化團隊的時候你該做的事 - 如果有一天你即將被外派到其他國家管理或是適應不同國家的文化 你可能以為國際跨國組織會有一套公式,直接套用全球通用 你可能以為國際跨國組織,就是母公司是哪一個國家就用哪一個文化就對了 你可能以為外派生活,可以順便融入當地,逛遍
Thumbnail
很難有絕對正確的作法,端看管理者的智慧與時刻調整,讓團隊適才適所並且精省有力的發揮各自專長,這些道理說起來很容易,真正執行起來,才是最大困難之處。
Thumbnail
國民黨敗選引發路線及世代之爭,國民黨終生黨員、《新共和通訊》創辦人林家興今(15)日中午率多位黨籍青年對黨中央發起抗爭,甚至還突破封鎖闖進黨部大樓內,結果與較年長的黨員爆發衝突,雙方大打出手,過程中國民黨黨徽還遭擠壓摔在地上。  
Thumbnail
<p>食衣住行育樂,每一個選擇都是父母經過百般思索做下的決定,每次聚會也總是有許多熱烈的討論和交流。雖然家長們的想法難免有出入衝突,但是每次看著這些爸媽們為著一件小事躊躇、激辯,只為了找出對孩子和社會最好的方法,我感受到的,是滿滿的愛。</p>