iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0

在經歷了供應鏈雪崩的慘痛教訓後,Project Banana Paradise AI 所有猴子都深刻地體會到一件事:

專案的成功,從來不是靠一個評審猿,也不是靠幾個單打獨鬥的英雄,而是靠所有猴子,一起將「鷹眼」、「神臂」、「蕉倉」這三大系統,天衣無縫地組合起來。

但,該怎麼組合,這是一場關於「最熟悉的陌生人」之間的戰爭。一個簡單的「猿介面」,或許就是你們的和平條約。

https://ithelp.ithome.com.tw/upload/images/20251001/201300264SHegSLDuL.png

新的任務,舊的習慣

為了提升操作猿的工作效率,程序猿團隊接到了一個新任務:為「神臂金剛」打造一個即時監控儀表板。

任務被分配給了兩支最精銳的程序猿小隊:

  • 流程小隊:他們是視覺的藝術家,對使用者體驗和介面美感有著極致的追求。
  • 資料小隊:他們是系統的建築師,痴迷於資料庫效能、快取策略和 API 的穩定性。

兩支團隊都充滿幹勁,拍著胸脯保證,一定會按時交付一個完美的系統。然而,他們卻不自覺地,再次陷入了「各自發展」的舊習慣。

兩個美麗世界,與一場註定的災難

在接下來的三週裡,兩個團隊幾乎沒有交流,各自埋頭創造自己的美麗世界。

  • 流程小隊的世界裡,他們用最炫的技術,打造了一個擁有流暢動畫、精美圖表的儀表板。他們用自己定義的假資料 (mock data),讓整個介面和操作流程看起來完美無瑕。
  • 資料小隊的世界裡,他們設計了一套效能極佳、高度可靠的猿介面 (API),能穩定地提供神臂金剛的原始數據。他們為自己的架構感到驕傲。

終於,到了整合的那一天。流程小隊興奮地接上資料小隊的猿介面,結果螢幕上一片空白,災難再次降臨。

  • 流程小隊需要的是即時數據流 (WebSocket),資料小隊提供的卻是請求一次、回應一次的猿介面 (RESTful API)。
  • 流程小隊的圖表需要被整理過的統計數據,資料小隊提供的卻是最原始的資料,就連最基本的欄位名稱和資料格式,兩邊都完全對不上。

一個藝術品等級的操作流程,一個猛獸等級的猿介面,當他們相遇時,卻成了兩個最熟悉的陌生人。流程小隊的飛機造好了,卻發現資料小隊的跑道還在挖地基。

停止等待,共同書寫「猿介面 契約」

在又一次的失敗檢討會上,一隻經歷過多次災難的老猴子站了出來。

「我們不是技術不行,我們是合作的方式不行。」他說,「我們需要的,不是更努力地工作,而是在動工前,先一起寫一份『猿介面契約 (API Contract)』。」

猿介面契約是什麼?

它就像是蓋房子前的建築藍圖。在寫下第一行程式碼之前,雙方就先坐下來,共同定義好 API 的所有細節:

  • 請求的 URL 是什麼?
  • 需要傳遞哪些參數?
  • 回傳的資料,會是什麼格式?有哪些欄位?

一旦這份「契約」被簽訂,就成了雙方共同遵守的唯一真理。

真正的並行開發:從此不需再等待

有了「猿介面契約」這份藍圖,神奇的事情發生了:

流程小隊不再需要等待後端。他們可以利用工具,建立一個完全符合契約的「假後端 (mock server)」,獨立完成所有介面開發和測試。

資料小隊則可以安心地打造他們的系統,因為他們清楚地知道,最終需要交付的「成品規格」是什麼。

雙方可以真正地「並行開發」。整合日,不再是審判日,而只是一個簡單的插頭對接。

合作,是設計出來的

這次的教訓讓猴子們明白,團隊合作,不能只靠口號和情感。它更需要被「設計」。

像「猿介面契約」這樣的流程和工具,就是合作的設計圖。它取代了模糊的口頭溝通和心照不宣的假設,用一份清晰的、共同創造的規格,讓所有猴子都能朝著同一個目標,順暢地前進。

你的團隊是如何協調前端和後端開發的?你們也有自己的「API 契約」嗎?

留言分享你們團隊的秘訣或痛點🐵


上一篇
一顆香蕉壞,全倉跟著爛
系列文
前端三分鐘 X 山上猴子啟示錄17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言