【每天推薦一篇文章】軟體開發的復盤
今天打開收件閘,發現魯迪老師有貼了新文章,立馬轉貼上來給大家:
軟體開發的復盤 - RUDDYLLEE
在這篇文章裡,魯迪老師先提了復盤的意義:「重來一次可以學得最多」
接著馬上就進入第一個復盤的情境:Code Review
程式碼審核 (Code review) 是程式復盤的基石
程式碼在開發作業中的 code review 行為是團隊復盤的第一個情境,程式撰寫人應該負起說明程式碼情境的責任 (對程碼做標題說明 WHY? 解決了甚麼需求的問題)
審核人員則應該針對解決問題的方法給予回饋,以提出”如果 …會怎樣”就是what if 的提問方式來做回答,目的在造成當事人的反思,這樣做或許可以促成當事人想到更好的解題方案,或是避免掉將來可能產生的缺陷中。
在必要時進行面對面的溝通,對學習更有幫助,形成教學相長。
Code Review 讓團隊可以協作,並且分享彼此的知識,讓團隊學到更多。
第二個情境則是復盤需求:
復盤的第二個情境是針對需求的復盤。
由於需求的來源是針對使用者的操作情境而來,它的排序方式是以協助使用者順利完成任務為出發點。而程式設計人員則是以整個專案開發的技術範疇為主,它思考的是盲點與疑惑…(中略)
無論是疑惑或是盲點,都是程式設計人員依據需求的陳述和自己所擁有的經驗、技能進行評估後所產生的概念,中間難免會做了許多的假設,這一點;就好比對弈時猜測對方為什麼會下這步棋時的動機一般,需要事後印證來學得正確的經驗。
復盤可以讓我們學到最多。當然針對核心部分的 MVP 開發作業的驗證,也是很值得復盤以充分學習了解的地方。
這段看起來有點像是需求完成後,回頭找出認知落差再校準,藉此累積經驗的感覺
例如我們可能誤以為這個功能應該就是長得像A,結果來來回回老半天才發現客戶是要B,下次我們就知道還有B這個可能性
這篇有個我覺得蠻重要的概念:檢討的目的是不再犯相同的錯,而復盤的目的是找出更適合的解決方法、從錯誤中學習。兩者並不相同
檢討跟復盤之間很常會發生誤解,有時候我們會在寶貴的學習機會前忙著找戰犯,這樣就浪費了(特別把這個概念寫出來,也算是提醒我自己吧)
那麼,今天的轉貼就到這邊。明天見~
其他文章
哈囉,如果你也有 LikeCoin,也覺得我的文章有幫上忙的話,還請不吝給我拍拍手呦,謝謝~ ;)