LeSS in Action - 主幹開發

更新 發佈閱讀 2 分鐘

當我們能夠通過一個驗收測試後,就是時候將程式碼推送到遠端的服務中。跟基於分支的開發方式不同,我們是以 Trunk-based Development(主幹開發)的方式進行,也就是只有 main 一條分支,並且所有人都會提交進去。

衝突對應

在多人、多團隊的狀況下,只使用一條分支難道不會發生衝突嗎?答案是必然的,然而我們需要習慣這樣的狀態。

我們應該讓每一個 Commit 都維持足夠小,這也是 A-TDD(驗收測試驅動開發) 和 TDD(測試驅動開發)兩者技巧被應用後,我們自然而然的可以透過小步前進的方式進行開發。

當我們遭遇衝突時,這就表示我們獲得了機會了解其他團隊的工作以及思考的方式,這樣會加深我們在團隊之間的交流與協作。除此之外,以主幹為基礎的開發,能夠讓開發是更加線性的,也更容易理解產品的發展過程。

觀點:對於組織內部的產品應該使用主幹分支開發,以分支為基礎的開發方式是為了對應開源專案所設計的。

建置失敗

當我們使用相同的分支開發時,總會遭遇到自動化測試、建置失敗的情況,在這樣的狀況下我們應該暫停推送 Commit 並且確認其他團隊已經發現問題,並且由遭遇問題的團隊著手處理。

如果問題持續太久,我們可以使用安燈系統來中斷所有團隊一起來排除問題,或者直接退回(Revert)失敗的 Commit 讓其他團隊可以繼續工作。我們應該要對發生問題感到高興,因為我們可能找到過去沒有注意到的問題並且在發布給使用者之前將其解決。

採取 A-TDD 或者 TDD 並不是敏捷開發的必要條件,如果團隊認為不需要的時候 Scrum Master 也可以在確保安全的前提下讓團隊進行各種嘗試。

封面圖片使用 UnsplashAlexey Soucho 的作品,這系列的文章只是課程的一小部分,因此並無法完整涵蓋所有概念以及精神,看關於技術的主題可以到弦而時習之找找靈感。

留言
avatar-img
留言分享你的想法!
avatar-img
蒼時弦也的沙龍
55會員
40內容數
軟體工程師逐漸變成一個熱門的職業,當我們進入這個職業之後應該要具備怎樣的技能才會在工作上更加順利呢?這系列的專欄會分享日常工作中的經驗以及一些案例分析,讓我們一起努力成為一位更優秀的軟體工程師吧!
蒼時弦也的沙龍的其他內容
2022/07/04
因為經常有面試人的機會,然而在不同的面試條件中有一個「Problem Solving」的項目讓我一直在思考代表怎樣的意義,剛好在 LeSS in Action 的課程中有了一些想法。
Thumbnail
2022/07/04
因為經常有面試人的機會,然而在不同的面試條件中有一個「Problem Solving」的項目讓我一直在思考代表怎樣的意義,剛好在 LeSS in Action 的課程中有了一些想法。
Thumbnail
2022/06/27
這系列大概花了快兩個月的時間快速的把學到的一些知識記錄下來,然而還是有許多內容很難用文章簡單的說明。
Thumbnail
2022/06/27
這系列大概花了快兩個月的時間快速的把學到的一些知識記錄下來,然而還是有許多內容很難用文章簡單的說明。
Thumbnail
2022/06/20
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
Thumbnail
2022/06/20
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
IT鐵人賽已於前週順利的結束。所有團隊成員都成功熬過30天。 終於有點時間來弄點藝術創作。 創作漸漸有了雛形。 劇組人員也都陸續到位。 但劇組的管理與資訊團隊的管理是全然不同的方式。 雖然說用『錢』都可以解決這兩個團體部份的問題,但劇組團隊還多了對於藝術創作的共同理想,這點的影響力有時候比錢還重要。
Thumbnail
IT鐵人賽已於前週順利的結束。所有團隊成員都成功熬過30天。 終於有點時間來弄點藝術創作。 創作漸漸有了雛形。 劇組人員也都陸續到位。 但劇組的管理與資訊團隊的管理是全然不同的方式。 雖然說用『錢』都可以解決這兩個團體部份的問題,但劇組團隊還多了對於藝術創作的共同理想,這點的影響力有時候比錢還重要。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
這篇文章將會介紹分支的合併,以及它常見的分類。
Thumbnail
前言   這篇文章將會以 SourceTree 作為媒介,講述 Git 中關於伺服器資料儲存狀態的介紹,並介紹如何建立分支與應用。 資料上傳 | Data Commit   版本控制最簡單的介紹,其實就是把專案的資料上傳雲端,然後進行不同版本的分類,當有需要抓回某一個功能進行展演或比對時,可以從這雲
Thumbnail
前言   這篇文章將會以 SourceTree 作為媒介,講述 Git 中關於伺服器資料儲存狀態的介紹,並介紹如何建立分支與應用。 資料上傳 | Data Commit   版本控制最簡單的介紹,其實就是把專案的資料上傳雲端,然後進行不同版本的分類,當有需要抓回某一個功能進行展演或比對時,可以從這雲
Thumbnail
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
Thumbnail
雖然這系列的課程是設計給工程師的,然而在學習敏捷開發(Scrum 為主)的過程中,我們是從如何做「產品」的角度去做切入,也因此在課程接近尾聲的時候我們再次討論了產品跟專案的差異,也是這一週課程中各種安排的理由所在。
Thumbnail
當我們使用主幹開發(Trunk-based Development)、以及驗收測試驅動開發(A-TDD)之後,所撰寫的程式碼會逐漸的變多,也因此我們會開始注意到程式碼有壞味道(Code Smell)的出現。
Thumbnail
當我們使用主幹開發(Trunk-based Development)、以及驗收測試驅動開發(A-TDD)之後,所撰寫的程式碼會逐漸的變多,也因此我們會開始注意到程式碼有壞味道(Code Smell)的出現。
Thumbnail
不同於我們大多數討論持續整合(Continuous Integration)是以工具為主的議題,在敏捷開發中持續整合更接近於團隊之間協作的議題。這是因為我們希望能夠快速迭代,也因此必須持續的將團隊的產出整合在一起。
Thumbnail
不同於我們大多數討論持續整合(Continuous Integration)是以工具為主的議題,在敏捷開發中持續整合更接近於團隊之間協作的議題。這是因為我們希望能夠快速迭代,也因此必須持續的將團隊的產出整合在一起。
Thumbnail
當我們能夠通過一個驗收測試後,就是時候將程式碼推送到遠端的服務中。跟基於分支的開發方式不同,我們是以 Trunk-based Development(主幹開發)的方式進行,也就是只有 main 一條分支,並且所有人都會提交進去。
Thumbnail
當我們能夠通過一個驗收測試後,就是時候將程式碼推送到遠端的服務中。跟基於分支的開發方式不同,我們是以 Trunk-based Development(主幹開發)的方式進行,也就是只有 main 一條分支,並且所有人都會提交進去。
Thumbnail
完成對功能的了解之後,我們就要開始進入實現功能的開發階段。跟以往的開發流程不同的是,我們在敏捷開發中注重的是製作有價值的東西。也就是在計畫中,我們獲取的資訊都是對使用者有用、可以被看見以及操作和跨團隊協作的性質。
Thumbnail
完成對功能的了解之後,我們就要開始進入實現功能的開發階段。跟以往的開發流程不同的是,我們在敏捷開發中注重的是製作有價值的東西。也就是在計畫中,我們獲取的資訊都是對使用者有用、可以被看見以及操作和跨團隊協作的性質。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News