《
LeSS in Action》是一個關於 Scrum 的工作坊,我們將在一週的時間內模擬加入一間公司,並且在一週後馬上離職。因此這是一間工程師 100% 離職率的公司,在這一週的時間內我們需要學習針對一個真實的產品進行開發,跨團隊的協作來產生貢獻。
團隊分配
如同我們到一間新的公司一樣,我們在課程的開始會先進行團隊的分配,將大家指派到不同的團隊之中。
以往我們會習慣用前端、後端、維運等等職能來劃分團隊,然而對於這間公司來說,更希望「最大化差異」也就是每個團隊都會有前端、後端並且個性、經歷都要不同,根據不同的特性標籤(像是喜歡維護程式碼、待過遊戲業)來嘗試將我們這幾個團隊的差異最大化。
工作習慣
入職之後我們需要開始學習這間公司的習慣,理所當然的是採用「敏捷開發」的方式,因此我們會有著許多不同的會議。
因為要更好的訓練我們,因此除了原本每個 Sprint(衝刺)該有的會議之外,每天早上的站立會議我們還會多做一些事情。
Temperature Reading
每天早上我們會先進行 Temperature Reading 來發表感謝、新知、擔心的事情以及今天希望完成的任務,來開始我們的一天。
Code Appreciations
另一方面,我們會用「欣賞」的方式來進行 Code Review(程式碼審查)的東西,根據我們所撰寫的程式碼、筆記挑選出值得討論、有疑慮的部分進行說明跟解釋。
Pair Programming or Mob Programming
在這份工作中,有著我們不熟悉的框架以及語言存在。因此我們大多會透過 Pair Programming(結隊程式設計)這類方式,讓大家輪流引導其他同事進行工作,並且協力完成任務。
工作協議
在了解這間公司該怎麼做之後,我們還需要為團隊設定一些共同的協議,這樣才能確保我們用相同的認知進行工作。
Working Agreement
每一個團隊都會有自己的必要條件,像是是否該使用 Linting(語法檢查)工具等等,因為是新組成的團隊,因此我們先將這些條件設計成適合一起協作的方式。
Definition of Done
除了團隊之外,我們也需要對 PO(Product Owner)負責,因此我們會為當下的產品設定一個關於完成(Done)的定義,包括了不能讓自動化測試失敗等等條件,以及對產品的驗收需要完成到什麼程度等等。
DoD 也反應了一整個產品團隊目前所能做到的最低水平,因此我們會不斷的更新提高我們的水平。
至此,我們還需要學習如何運行一個 Scrum 才能夠開始工作。