前天,在某個活動的場合,遇到 Drupal 社群的朋友,聊了些關於社群、合作的事。
我們一直強調要團隊合作,要開放精神,但其實我們的文化中並沒有埋入「合作」的基因,舉例來說,國外的軟體設計,一定會加入 API(Application Programming Interface,應用程式介面),來做為跟其他軟體溝通的接口,像是 Drupal 這類的開放原始碼軟體專案,就有很好的 API 設計;然而我們卻鮮少在開發一個系統時就已經先設想了 API 的架構規劃。
我一直覺得,這些軟體可以具體、設計得出這麼好的 API,想通怎麼在不同的軟體系統間進行資料交換、流程交換,這深層的意義正表示,這些軟體的設計者很清楚何謂「合作」,因此他們定義好自己的「接口介面」,用自己的方式處理別人丟進來的資料,再提供對方所需要的資料。
在我的職場生涯中,有遇到需要 API 的案例就是做電商網站時,需要做金流介接,因此需要金流廠商提供 API,但在使用這些 API 的過程中,就會發現許多狀況,例如金流廠商回傳的錯誤訊息定義不清、擅自變更 API 規格致使傳送資料格式必須變更等,我認為,這正是說明著,我們沒有以「合作」為基礎的文化因子,因此我們設計出來的物件,也不具備跟其他物件合作的能力。
甚至,我們(人)也沒有規劃跟其他人或其他物件合作的接口介面,因此我們只能運用自己的方法,來解決其他人拋來的問題,同時否決其他人所使用的方法,這再再地的呈現出我們的文化中,缺乏著合作的基礎。
要學習合作,並不是光喊口號就會的,從文化紮根,我認為才是「合作之道」。
Comments