筆者之前的工作經歷,公司規模較小,且是擔任主力開發人員,專案開發時,幾乎是一條龍作業,與後來規模較大的公司相比,跨單位溝通需求,確認細項,兩者節奏天差地遠~
先前的專案經驗主要是由業務了解客戶需求,我一手處理UI、流程、架構、開發,若是需求簡單,僅需要跟業務確認,若是需求較複雜,則親自和客戶確認需求,大都討論一兩次便有定案。因此在預估時程時,由於變數和溝通時間較少,可以很快的將每個功能劃分出來,構思後預估概略天數再預留測試時間,就可以報出時程了。
而開發時,即使與其他同事合作,因為經驗的關係,主管較放心讓我主導,UI布局、API格式、系統架構等等一兩天內就可以訂定完成,接著分配工作按規劃實作,除非有緊急插單,不然經常能在預估時程內完成,雖然偶而也會遇到意外,不過業務都還有預留緩衝時間,降低風險,整體運作都很順利。
不同以往,後來工作的專案幾乎是公司內部需求,需求通常不明確需要多次來回開會討論,實作較複雜且橫跨好幾個單位,剛開始還傻傻的用以前那一套,結果主管很驚訝地說:「你預估時程都這樣幾天加一加就可以了喔!」,幾次過後,主管提點我許多要注意的地方,我才開始反思,原來溝通的成本比我想像的高許多,流程更不是我說了算,需要多次討論才能定案。
即使到了開發階段,也因為前後端分離,API的格式,不再是自己定義就好,需要和前端討論,甚至想辦法說服別人。每個人想法、立場不同,往往需要費盡唇舌才能取得共識,此時想起了大學老師說過的一句話,「技術不是問題,人才是問題」,回想當時的我好傻好天真,只想著技術才是重點,完全不以為意,這才嘗到苦頭,不得不佩服薑是老的辣~
發表迴響