l

2022年8月25日 星期四

順序很重要

August 25 17:43~18:21


 

前言

這兩年多和ezKanban團隊一起mobbing,後端套用了Domain-Driven Design(DDD)、Clean Architecture、Event Sourcing、CQRS、TDD、Design By Contract(DBC)、Living Documentation,幾乎全部的後端架構一開始都是Teddy設計的。這原本就是正常現象,因為ezKanban是Teddy帶著學生一起開發的軟體研究專案。

有時候Teddy需要上課無法參加mobbing,課程結束回來之後發現Teddy不在的時候團隊快速完成了一些功能,但是設計方法不是很好,於是Teddy會跟團隊討論一次設計,再看看要如何重購。

***

順序

Scrum有三種角色,Product Owner(PO)、Developer、Scrum Master(SM),用一句話來形容他們的責任分別是:

  • PO:Do the right thing(做對的事情)
  • Developer:Do the thing right(把品質做好)
  • SM:Do it faster(持續改善)

這三件事情,發生的順序是有意義的。首先,要先確保Do the right thing,要了解問題領域中使用者、客戶遭遇到什麼問題?其次,設計出好的軟體來解決這些問題。最後,持續改善整個開發流程。

許多開發人員非常在意電腦是不是最新的,IDE的熱鍵是否用得滾瓜爛熟。這兩件事情,都重要,也都可以縮短開發時間。但是有一件事情比它們還重要,就是你要先確定你做的事情是對的。你的需求、架構、設計,都是對的,否則只是把錯誤的事情做得更快。

***

 

迭代

上述這三件事,它們發生與實踐的過程,並不是線性的,而是迭代的過程。也就是說,先了解需求一點點,然後做點設計、寫點程式,然後改善;然後重複這個過程。Teddy和團隊mobbing的過程,首先強調的一定都是需求,為什麼要做這個功能?先確認需求,然後才討論領域模型與架構要如何滿足這個需求。至於開發流程的改善,工具類只占一部分,它是很重要的一部分但不是最重要的部分。Teddy只會要求IDE基本的功能與快捷鍵要熟悉,開發環境、測試環境、部屬環境儘量自動化與虛擬化。Mobbing的時間,Teddy在意的流程改善,是能不能提升團隊的設計力、讓大家動腦、可以清楚表達一件事。至於IDE熟悉度的提升如果要達到完全不需要使用滑鼠的程度,有興趣的人私底下再自行練習即可。

雖說這三件事是以迭代的情況發生,但還是要注意順序,不要一開始只注意do it faster,也不管打進去IDE裡面的東西到底是什麼,那就本末倒置了。

***

 

友藏內心獨白:垃圾進,垃圾出。

沒有留言:

張貼留言