找兩個人做同一件事?鈦坦科技為何採用結對編程?專訪技術經理點出三大重點

更新於 發佈於 閱讀時間約 6 分鐘

Pair programming,譯為「結對編程」,是敏捷軟體開發的一種方式,由兩位軟體工程師同時開發一個程式,簡單來說,原本一個人可以完成的工作,找了兩個人來做,人力成本直接變成兩倍!


|本篇報導同步刊登於 科技島


在大量運用 AI 人工智慧的時代,為何外商軟體公司仍積極運用結對編程進行開發?導入敏捷超過 10 年的新加坡商鈦坦科技,作為台灣極少數落實結對編程的企業,邀請到鈦坦科技技術經理 Norman 進行專訪,來聽聽曾待過硬體製造業、新創公司的他,分享對軟體業結對編程的觀察與看法。


曾待過硬體大廠、新創公司的 Norman 分享對「結對編程」的觀察,現職為新加坡商鈦坦科技技術經理。

曾待過硬體大廠、新創公司的 Norman 分享對「結對編程」的觀察,現職為新加坡商鈦坦科技技術經理。


結對編程增加人力成本?長遠來看是「投資」

結對編程是兩個人共同開發程式的一種協作方式,在這種模式下,一位成員擔任 Driver,專注於編寫程式碼;另一位成員擔任 Navigator,負責檢查程式碼是否有錯誤或可以改進的地方。Driver 專心於當前的工作,而 Navigator 則從旁協助,確保整個過程更加順利,這樣的合作方式不僅提高了程式碼的品質,也促進了知識和技能的共享。

Norman 表示,結對編程結合了工作和學習,讓兩人不僅能一起協作,也能互相學習。這種方法能有效避免獨立開發時可能出現的盲點和錯誤。「越早發現錯誤,修復成本越低,因此結對編程是有效減少錯誤的好方法,從長遠來看,這不是增加成本,而是有策略的投資。」


鈦坦科技導入敏捷開發後,開始採用結對編程的方式,不僅提高了程式碼的品質,也促進了知識和技能的共享。

鈦坦科技導入敏捷開發後,開始採用結對編程的方式,不僅提高了程式碼的品質,也促進了知識和技能的共享。


鈦坦科技組織發展部經理方郁綺指出,鈦坦科技在導入敏捷後,為了避免遇到員工離職,便沒有人會維護原本的系統而導致「程式重寫(Code Rewrite)」的困境,故採取「結對編程」以避免此情況一再重演。

在一些新開的專案初期,鈦坦工程師甚至會啟動多人協作編程(Mob Programming),透過群體智慧來建構系統架構的基礎,這個過程也會讓團隊更了解此專案的核心商業需求,了解系統設計背後的商業邏輯。

Norman也強調,結對編程要達到好的效果,通常需要一位 Junior 和一位 Senior 一起協作。因為 Junior 技術能力不足,可能會影響到問題的發現和解決,而 Senior 則能提供更多指導和建議,也要避免一直是同一組人一起 Pairing,可以讓更多人互相學習和成長。此外,Norman 也遇過有些潛力不錯的 Junior 能發現 Senior 因為慣性思考而忽略的地方。

透過結對編程,開發者們可以提前溝通想法,減少實作時產生的落差,並從過程中學習如何說服別人,最後寫出來的程式由於經過多人思考會降低盲點,連帶提升程式碼的品質。 

結對編程真有那麼好?技術經理分享三大重點

鈦坦科技自 2014 年導入敏捷開發後,開始採行結對編程,Norman表示,這是鈦坦人日常開發的一部分,在平日的實踐中,他發現通過 Pairing,可以迅速發現漏掉的一些測試案例,這對開發團隊來說是很大的幫助;此外,Pairing 也可以幫助團隊迅速瞭解到每位成員彼此的技能狀況,以及對領域知識的熟悉度。

Norman 表示,結對編程不是萬靈丹,並非適用於所有團隊,特別適用於解決複雜問題,因為越複雜的需求越容易出錯,即便是 Senior 也可能漏掉一些測試案例,透過結對編程則可以發現這些盲點。不過,如果是功能相對簡單或已做過多次的功能,那結對編程的效果可能不明顯,因為開發者對需求已經相對熟悉了。

曾待過硬體大廠、新創公司的 Norman,在加入鈦坦科技前,也沒有結對編程 的經驗,經過了五年的實踐與體驗,他分享了自身觀察到的三大重點,讓想要嘗試的人可以作為評估依據:

1. 打破團隊中孤島|頻繁交流、教學相長

鈦坦科技的成員一加入公司,就必須進行結對編程,透過這樣的協作模式,團隊成員之間能夠相互學習、共同進步,從實習生時期就加入鈦坦科技,如今轉為正職 PD(Product Developer)的 Alisha表示:「敏捷自組織團隊以結對編程的方式進行開發,能大大降低新人的不安,不會有被放生的無助感,也能在過程中快速累積經驗、大幅學習成長。」

2. 提升「公車指數」|人才培育,提高組織可持續性

當團隊內有人離職或請長假時,許多人都會面臨「交接」難題,為了面對以及解決這樣的困境,可以透過「公車指數」(Bus Factor)這項指標,衡量團隊是否會因為人員變動造成工作停擺的衝擊,也是用來評估「資訊共享度」的衡量標準,指數越高代表團隊資訊共享度越高,個人的影響力較小;反之,指數越低就代表當一位專業角色離開時,工作越容易陷入停擺狀態。結對編程有助於讓更多人瞭解程式碼的細節,透過結對編程,不只能達成人才培育,同時也提高組織的可持續性。

3. 提升程式碼品質|Fail fast, fail cheap!

奉行“Fail fast, fail cheap, fail often.”的原則下,鈦坦人不怕犯錯、重視溝通,共同對齊目標一起協作,透過結對編程,可以避免獨立開發時,因為個人習慣或思考的盲點而產生錯誤的功能。軟體開發秉持越早發現錯誤,修復成本越低的關鍵,所以結對編程其實是減少錯誤的好方法。可能面臨的挑戰是溝通成本,可能會比單獨開發花上更多的時間,不論這個溝通是花在理解彼此的想法或是學習對方的技術,又或是合作上的衝突,可能來自於雙方對同樣的需求有不同的想法,鈦坦科技透過建立團隊共通語言如 ORID 焦點討論法SNT 行動原則等,幫助對話,了解彼此觀點,不斷對齊共同目標。


從實習生時期就加入鈦坦科技,如今轉為正職 PD(Product Developer)的 Alisha表示,結對編程的開發方式可以大大降低新人的不安。

從實習生時期就加入鈦坦科技,如今轉為正職 PD(Product Developer)的 Alisha表示,結對編程的開發方式可以大大降低新人的不安。


AI 世代下的結對編程  仍不脱「以人為本」的技術實力

面對進入到 AI 被廣泛運用的世代,Norman 提到這些新興的人工智慧技術能輔助開發,讓開發者更快地學習新的語法和更短的寫法,不過這還是需要開發者對程式本身有一定的熟悉度,否則可能會誤用導致錯誤。

他建議,無論是 Junior 還是 Senior,都應該在結對編程時注意學習更多技術和領域知識,並適時停下來進行溝通,了解彼此的想法,這樣才能真正發揮結對編程的優勢,有效提高團隊的整體開發技術。

留言0
查看全部
avatar-img
發表第一個留言支持創作者!
職場上,你認為最重要的能力是什麼呢?面對 AI 人工智慧迅速崛起,全球職場社群平台 LinkedIn 根據招聘職位列表中出現次數最多的技能,以及最近受聘的 LinkedIn 會員擁有這些技能的數量,以此確定就業市場上最熱門的技能是哪些。 根據調查結果顯示,以人為本的「溝通(Communicati
根據 104 人力銀行最新數據調查,年後轉職人數較去年同期成長 8.5%,另有 82% 求職者願意跨域發展,求職者希望進入的產業,又以資訊軟體業的成長動能最強,企業紛紛把握這波轉職潮,徵才職缺標註「年後上班」的工作機會達 3.2 萬個。
近期科技大廠紛紛出現大規模裁員的情況,儘管裁員潮目前對於台灣的影響有限,但對於科技產業的員工們來說,仍造成一定程度的心理衝擊與壓力。另外,有許多公司則是以以組織調整因應市場的急遽變化,員工在多重的變動之下,對於自己的工作與未來開始產生許多不確定性,甚至可能連帶影響到工作表現與生活品質。
想要打造優秀的團隊嗎?對軟體資訊產業而言,「人,是最大的資產」,要如何讓員工「安心」,是管理時亟需著重的要點。新加坡商鈦坦科技內部經過多年蒐集員工回饋、迭代演變,從組織面著手,全員大會 Town hall meeting、全員參與制,協助團隊成員在職場上勇於說出內心話!
「人,是公司最大的資產」,企業隨時保持彈性,蒐集員工回饋進而調整,才能打造出正面的遠端辦公環境,若想要掌握「WFH」的技能、加強遠距協作的能力,都是需要長期演練、訓練,甚至是讓員工不斷去反覆練習而來!
你知道同事們的薪資嗎?相信在職場裡,員工談論薪資就如同「不能說的秘密」,避免同事間因為同工不同酬產生猜忌,深怕消息走漏會引發風吹草動。然而,薪資保密真的對公司就是好的嗎?在新加坡商鈦坦科技,即是想要避免上述出現的問題,從2015年起,進行「薪資透明化」政策!
職場上,你認為最重要的能力是什麼呢?面對 AI 人工智慧迅速崛起,全球職場社群平台 LinkedIn 根據招聘職位列表中出現次數最多的技能,以及最近受聘的 LinkedIn 會員擁有這些技能的數量,以此確定就業市場上最熱門的技能是哪些。 根據調查結果顯示,以人為本的「溝通(Communicati
根據 104 人力銀行最新數據調查,年後轉職人數較去年同期成長 8.5%,另有 82% 求職者願意跨域發展,求職者希望進入的產業,又以資訊軟體業的成長動能最強,企業紛紛把握這波轉職潮,徵才職缺標註「年後上班」的工作機會達 3.2 萬個。
近期科技大廠紛紛出現大規模裁員的情況,儘管裁員潮目前對於台灣的影響有限,但對於科技產業的員工們來說,仍造成一定程度的心理衝擊與壓力。另外,有許多公司則是以以組織調整因應市場的急遽變化,員工在多重的變動之下,對於自己的工作與未來開始產生許多不確定性,甚至可能連帶影響到工作表現與生活品質。
想要打造優秀的團隊嗎?對軟體資訊產業而言,「人,是最大的資產」,要如何讓員工「安心」,是管理時亟需著重的要點。新加坡商鈦坦科技內部經過多年蒐集員工回饋、迭代演變,從組織面著手,全員大會 Town hall meeting、全員參與制,協助團隊成員在職場上勇於說出內心話!
「人,是公司最大的資產」,企業隨時保持彈性,蒐集員工回饋進而調整,才能打造出正面的遠端辦公環境,若想要掌握「WFH」的技能、加強遠距協作的能力,都是需要長期演練、訓練,甚至是讓員工不斷去反覆練習而來!
你知道同事們的薪資嗎?相信在職場裡,員工談論薪資就如同「不能說的秘密」,避免同事間因為同工不同酬產生猜忌,深怕消息走漏會引發風吹草動。然而,薪資保密真的對公司就是好的嗎?在新加坡商鈦坦科技,即是想要避免上述出現的問題,從2015年起,進行「薪資透明化」政策!
你可能也想看
Google News 追蹤
Thumbnail
最近國泰世華CUBE App推出的「美股定期定額」功能,讓使用者可以方便地進行跨境理財(但讀者仍需根據自身需求審慎考量),除了享有美股定期定額的新功能,也同時享有台股定期定額的功能,可以一站滿足我們理財的需求! 透過國泰世華CUBE App線上開台股證券戶+複委託戶,流程最快僅需要5分鐘。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
跨領域合作與溝通 在現代AI時代中,跨領域合作與溝通能力已成為不可或缺的重要職能。隨著技術不斷發展,AI項目通常需要來自不同領域的專業知識,如技術、設計、業務等。因此,能夠與來自不同背景的人有效溝通和合作,成為實現成功的關鍵。 跨領域合作的重要性 跨領域合作涉及將不同領域的專業知識和技
Thumbnail
程式設計與技術能力 在現代社會中的重要性越來越明顯,尤其是在人工智能(AI)和自動化技術迅速發展的背景下。理解編程語言,如Python、R等,以及熟悉相關技術架構和工具,能夠幫助個人在這樣的環境中更好地工作。這種能力不僅對技術專業人士至關重要,也對非技術領域的人士日益重要,因為基礎的程式設計知識已
Thumbnail
人工智慧正在改變我們的生活和工作方式。這篇文章介紹了一個由人類和AI助手組成的創作團隊,他們致力於通過人機協作模式激發更多原創思想,並探索人機協作的潛力。文章介紹了團隊成員以及他們的目標和期望。
了解到現在的生成式AI各有千秋,且能協助的事之多,各家業者有如「電信公司」,遲早會是比較「行動方案」,甚或是拿著不同業者的「多門號」,人人都配有人工智慧了。 我一向不是科技的早期使用者,各家AI我都只用過免費版。 ChatGPT 作為前鋒的GPT,曾請它協助將英文句子潤色、修整文法,以解
Thumbnail
Relay.app 是簡單強大的自動化 No Code 工具,支援約百種數位工具,操作介面簡單易上手。內建串接 OpenAI,只要簡單輸入指令,即可獲得 AI 生成回覆!更棒的是,可以整合真人決策進入自動化工作流程,使人力介入不再中斷自動化,打造更全面完整工作流程,提升團隊協作,專案管理更有效率!
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
人工智慧技術的發展帶來了個人AI化和組織AI化兩大趨勢,分別應用於個人生活及工作,以提升效率和品質,以及應用於企業運營以提高生產效率和決策能力。 個人AI化包括智能助理、個性化推薦系統和智能家居等,使人們能更專注於創造性工作和享受生活,而組織AI化則應用於智能客服、智能製造、供應鏈優化和風險評估等範
Thumbnail
可能包含敏感內容
敏捷宣言 (1) 個人與互動 重於 流程與工具 (2) 可用的產品 重於 詳盡的文檔 (3) 與客戶合作 重於 合約的協商 (4) 回應變化 重於 遵循計畫
Thumbnail
今天體驗到了不同形式的合作:兩個人都因為彼此的存在,想做的更多。 我們都有能力給很多,灌注到對方都滿溢出來,然後看到他開心的微笑;彼此都這麼為對方做,難怪人們需要合作,因為獨自工作,可以成為一個圓,合作,可以成為滿出來的奇怪形狀(?
Thumbnail
學會如何建立合作關係和協作完成任務,是在現實職場中很重要的能力。 書本提到了一些觀點,協作對象不該一視同仁,一個偏好獨立工作的軟體工程師,要如何與一位合作型的產品經理一起協作開發一個新功能?一個協調型的培訓人員,如何和一個獨立型的老師協作改善教學品質?書中的案例或許能幫你思考這些問題的答案。
Thumbnail
最近國泰世華CUBE App推出的「美股定期定額」功能,讓使用者可以方便地進行跨境理財(但讀者仍需根據自身需求審慎考量),除了享有美股定期定額的新功能,也同時享有台股定期定額的功能,可以一站滿足我們理財的需求! 透過國泰世華CUBE App線上開台股證券戶+複委託戶,流程最快僅需要5分鐘。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
跨領域合作與溝通 在現代AI時代中,跨領域合作與溝通能力已成為不可或缺的重要職能。隨著技術不斷發展,AI項目通常需要來自不同領域的專業知識,如技術、設計、業務等。因此,能夠與來自不同背景的人有效溝通和合作,成為實現成功的關鍵。 跨領域合作的重要性 跨領域合作涉及將不同領域的專業知識和技
Thumbnail
程式設計與技術能力 在現代社會中的重要性越來越明顯,尤其是在人工智能(AI)和自動化技術迅速發展的背景下。理解編程語言,如Python、R等,以及熟悉相關技術架構和工具,能夠幫助個人在這樣的環境中更好地工作。這種能力不僅對技術專業人士至關重要,也對非技術領域的人士日益重要,因為基礎的程式設計知識已
Thumbnail
人工智慧正在改變我們的生活和工作方式。這篇文章介紹了一個由人類和AI助手組成的創作團隊,他們致力於通過人機協作模式激發更多原創思想,並探索人機協作的潛力。文章介紹了團隊成員以及他們的目標和期望。
了解到現在的生成式AI各有千秋,且能協助的事之多,各家業者有如「電信公司」,遲早會是比較「行動方案」,甚或是拿著不同業者的「多門號」,人人都配有人工智慧了。 我一向不是科技的早期使用者,各家AI我都只用過免費版。 ChatGPT 作為前鋒的GPT,曾請它協助將英文句子潤色、修整文法,以解
Thumbnail
Relay.app 是簡單強大的自動化 No Code 工具,支援約百種數位工具,操作介面簡單易上手。內建串接 OpenAI,只要簡單輸入指令,即可獲得 AI 生成回覆!更棒的是,可以整合真人決策進入自動化工作流程,使人力介入不再中斷自動化,打造更全面完整工作流程,提升團隊協作,專案管理更有效率!
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
人工智慧技術的發展帶來了個人AI化和組織AI化兩大趨勢,分別應用於個人生活及工作,以提升效率和品質,以及應用於企業運營以提高生產效率和決策能力。 個人AI化包括智能助理、個性化推薦系統和智能家居等,使人們能更專注於創造性工作和享受生活,而組織AI化則應用於智能客服、智能製造、供應鏈優化和風險評估等範
Thumbnail
可能包含敏感內容
敏捷宣言 (1) 個人與互動 重於 流程與工具 (2) 可用的產品 重於 詳盡的文檔 (3) 與客戶合作 重於 合約的協商 (4) 回應變化 重於 遵循計畫
Thumbnail
今天體驗到了不同形式的合作:兩個人都因為彼此的存在,想做的更多。 我們都有能力給很多,灌注到對方都滿溢出來,然後看到他開心的微笑;彼此都這麼為對方做,難怪人們需要合作,因為獨自工作,可以成為一個圓,合作,可以成為滿出來的奇怪形狀(?
Thumbnail
學會如何建立合作關係和協作完成任務,是在現實職場中很重要的能力。 書本提到了一些觀點,協作對象不該一視同仁,一個偏好獨立工作的軟體工程師,要如何與一位合作型的產品經理一起協作開發一個新功能?一個協調型的培訓人員,如何和一個獨立型的老師協作改善教學品質?書中的案例或許能幫你思考這些問題的答案。