November 8, 2019

軟體工程師的檢討會議

兩小時半的成果 demo 與反省


文 / 西打藍 Siddharam

前言


週五晚上六點整,下班人潮開始湧動,剛結束兩周衝刺的軟體開發團隊,內部準備要 demo 成果,讓 PM 下周可以對客戶發表。

然而 demo 結果和預期有了落差,PM 沉下臉念了幾句,CTO 決定進行檢討會議,讓每個人表達對結果的看法。會議中的思考,給了我不少思考的靈感,藉此做個紀錄,也分享公司從立下專案目標,到完成結果中間的過程經歷。

每天的 standup meeting


兩周前,我們決定重購並添加新的功能,到我們的主要產品中。

我們分了幾個小組,分別有後端 API 開發、Data Source Preprocessor、前端、語意分析、伺服器管理等五大組別。

我們為此開了一張 excel sheet,寫下各組別的任務,每天下班前,各組別的每個人,都必須填寫任務進度百分比,並在隔天早上十點的會議中,分別說明完成的部分。

早晨會議時間時長時短,主持會議的 CTO,總能準確對每組問出關鍵問題,針對個人商量出適切的解決方案。但因為時間很趕,大家或多或少都有加班,並在最後一天,才把功能完成,沒有預留時間做 QA。

週五晚上六點的會議,就是在這樣的前提之下開始的。

反省會議的開始


會議的開始,我們一樣依序報告各組別的進度,大部分都是 100% 完成,只有個別是 90%、70%,也多是差了臨門一腳就能收工。

報告完進度後,我們請後端工程師開啟頁面驗收成果,卻發現有許多功能無法使用,例如上傳過大檔案時,server 會停止回應,還有後端回傳語系資料錯誤,以及特定問答時無反應等,讓場上的 PM 繃緊了臉皮,表情嚴肅起來。

PM 隨即表達意見,說道下周二就要和客戶報告,這樣的成品是無法過關的,而且剛剛看進度時,大家普遍都寫 100%,為什麼沒有反應在結果上呢?

聽完 PM 意見後,團隊像洩了氣的皮球一樣,氣勢弱了不少,也開始反省為什麼會這樣?

CTO 見此,便希望大家發表意見,我有印象的回答有幾個:

「excel sheet 的任務表,和 PM 認為實際要完成的目標功能不同。」

「舉例來說,因為這次是採分組進行,有些功能的 API 已經串好,但實際進到機器的部分尚未完成,所以在畫面看起來是失敗的,這代表若有一個環節尚未做好,看起來就會像是全部沒做一樣。」

「我是在 DEMO 進行時,才發現檔案過大傳輸會有問題,先前都只用小檔案丟過去嘗試而已。另外,我是昨天才看到前端新完成的頁面,才發現使用者管理部分的 API 設計是有問題,才臨時又做了一版,這是對產品不熟悉才導致的問題。」

CTO 聽了一輪後,也總結了改善的方法。

例如要對自家產品有熱誠,而不是只有少數人知道完整情況而已;再來是要持續的溝通,當 API 接好後,就要主動關心串接的情況,而不是各做各的事。

還有,當任務多到無法如期完成時,要主動告知團隊,而非最後一天才找補救;最後,是每個人都該有對自己的標準、期許,來決定接收任務的多寡,這取決於對自己的期待,雖然會導致加班,但你會因此得到巨大進步。

PM 最後補充,前面雖然說了不少氣話,但他認為團隊相當的優秀,能在短時間完成到這個階段實屬不易,他希望團隊像他一樣,把產品當成自己的小孩來愛,一起加油。

自我思考


對我來說,有幾個有趣的思考點。

第一是熱愛公司產品。我在想,要熱愛公司產品很不容易,最簡單的方式,是自己的產品才有可能熱愛。當你要求公司同事熱愛自家產品,其實是很難的。

第二是加班的思考。我發現華人會以工作為傲,加班越多越受喜愛,我也承認那些曾經加班的日子,日後都成為我深刻的記憶點。但最近的我認為,努力工作的目的是什麼?為的是將來有炫耀的資本?還是期待某一天會被人看見,因此發生什麼好事嗎?這其實取決於你的人生目的。

第三點是平衡。在完成自己工作後,有餘裕的話,確實該主動了解其他環節的任務情況,增強溝通,才是有效完成專案的方法。然而這點與個人的工作習慣有關,你可以選擇要不要改變。




閱讀量




聯絡與合作


訂閱電子報,領「我當前 10+ 以上收入源有哪些」一文。

有文字採訪、網站開發,或是諮詢需求,皆可至個人網站參考作品,並聯繫 IG

或是想分享心情、聊聊天、交朋友,可以來秘密通道找我唷。

Email: frank@siddharam.com