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

閱讀時間約 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
查看全部
發表第一個留言支持創作者!
你可能也想看
斬桃花沖開法術~斬斷這兩個人之間的孽緣~斬桃花我有一個大我六歲的姐姐,她在去年結婚了,從小時候姐姐的桃花運就一直很好,她從國中就開始交男朋友,一個換過一個,我記憶中她就沒有單身的時候,但這也沒有影響到我們的感情,姐姐平常還是對我很好,連帶著她的歷任男朋友也都蠻疼我的,去年姐姐結婚的時候,婚禮上還可以看到幾個前男友,雖然我姐夫應該不知道他們是我姐
Thumbnail
avatar
緣。絆
2023-08-02
福音101-060一個人不能侍奉兩個主 (下) 作者: 兆鴻老師 Gary20302020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻 https://blog.xuite.net/masterenglish2018/twblog/589317424 - 2020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻
Thumbnail
avatar
gary2030
2022-07-06
福音101-060一個人不能侍奉兩個主 (下) 作者: 兆鴻老師 GaryWang2020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻 https://blog.xuite.net/masterenglish2018/twblog/589317424 - 2020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻
Thumbnail
avatar
gary2030
2022-07-06
福音101-059一個人不能侍奉兩個主 (中) 作者: 兆鴻老師 Gary20302020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻 https://blog.xuite.net/masterenglish2018/twblog/589317424 - 箴 言 Proverbs 4:23 約 翰 福 音 John 10:10 約 翰 福 音 John 14:8
Thumbnail
avatar
gary2030
2022-07-04
福音101-059一個人不能侍奉兩個主 (中) 作者: 兆鴻老師 GaryWang2020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻 https://blog.xuite.net/masterenglish2018/twblog/589317424 - 箴 言 Proverbs 4:23 約 翰 福 音 John 10:10 約 翰 福 音 John 14:8
Thumbnail
avatar
gary2030
2022-07-04
福音101-058一個人不能侍奉兩個主 (上) 作者: 兆鴻老師 Gary20302020 啟動幸福人生的密碼:阿爸父為你設計的精品人生 作者:王兆鴻 https://blog.xuite.net/masterenglish2018/twblog/589317424 - 馬 太 福 音 Matthew 6:21 馬 太 福 音 Matthew 6:24
Thumbnail
avatar
gary2030
2022-07-03
《春光乍洩》用詩意的影像語言,展現兩個人在關係中的依戀、逃避與矛盾。詩意的影像語言 最近,《春光乍洩》的4K修復版重新上映。《春光乍洩》(英文名:Happy Together)由王家衛所導,梁朝偉和張國榮主演,描述一對同性戀人_黎耀輝和何寶榮離開香港來到了阿根廷的首都_布宜諾斯艾利斯,「相約重頭來過」,而後相處、爭執、分離的愛情故事。
Thumbnail
avatar
希文樂見
2022-03-01
長時間不找你的人,除了不愛,其實還有這兩個原因你們遇過嗎?就是一段感情開始後,對方可以幾天,幾周,幾個月都不找你,然後在你要放棄的時候,又聯繫你,這種人,芷汐稱之為渣男的戰鬥機。希望大家都不會遇到。下面來講講兩個原因,長時間不找你的人,究竟是因為什麼情況而不找。 愛情雖然很美好,但浪漫的同時,還需要兩個人相互幫助,一起度過世間的風雨,只有學會彼
Thumbnail
avatar
芷汐你好
2021-09-27
【軍情諜報‧The Courier】可能只是兩個人,但改變也因而展開電影《軍情諜報》"The Courier" 背景雖然是冷戰時間的間諜故事,卻沒有多少政治理念宣傳。劇中角色主要是社會中下層的人,性格上也有好有壞,有欲望、有缺點,也有義氣、有親情。兩位主角的奮鬥,更多只是為了親人的安好,賭上所有。雖然只是兩個小人物,但世界的改變由此而生。
Thumbnail
avatar
仰子
2021-05-28