# 開場介紹
- 主持人Enrico歡迎觀眾參加Avanzco Berta的小談活動,今年首場由Gojko Adzic主講,主題為「Specification By Example」。
- Gojko Adzic提到他先前在談論Impact Mapping的小談活動受到好評,這次將深入探討Specification By Example。
- 這個活動的目的是以非正式方式深入了解講者教授的主題,觀眾可以透過YouTube Chat提問,形成一個互動式的對話。
# Specification By Example (Spec by Example) 定義
- Spec by Example是一種協作的需求和測試方法,是快速取得不同角色(測試人員、開發人員、分析人員、產品擁有者)共識的最快方式之一。
- 適用於短週期的交付,且在這種短週期的開發中,常常難以進行充分的分析,Spec by Example能夠有效地解決這個挑戰。
- 通常在Scrum或Kanban風格的過程中實施,是迭代軟體交付品質的基石,也廣泛應用於行為驅動開發(Behavior Driven Development,BDD)。
# Spec by Example 實際應用
- Collaborative Analysis:透過「Three Amigos」模式,即一位開發人員、一位測試人員、一位分析人員,使用例子進行協作分析,快速達成共識。
- Feedback Exercises:針對5-15人的較大群體,使用反饋練習檢查共享的理解,特別強調邊界條件,以確保大家對於案例的理解一致。
- Divergent Merge Style Workshops:針對更大的群體,將其分成小組進行分析,再匯整結果,快速發現不同理解之處,促使全體達成共識。
- 避免使用「Write and Review」方式,即由一人編寫理解並發送給其他人,因此缺乏協作性。
# Pitfalls(常見問題)
- 由一人執行所有分析,可能導致團隊其他成員沒有參與,應避免這種情況。
- 忽略邊界條件,僅看重正面案例,容易造成共識不足。
- 工具驅動:避免讓工具限制討論,建議使用自由格式的工具,如白板、翻轉紙等。
# 關於 Remote Workshop
- Remote Edition of Specification by Example:2月7日起,5個2.5小時的模組,涵蓋不同主題,以理論和實踐並重,注重實際操練。
- Workshop主題包括如何快速排除誤解、協作分析的引導技巧、使用「Given When Then」格式、Example Mapping和如何將這些融入整個流程。
# 關鍵字
- Spec by Example (Specification By Example):協作的需求和測試方法,是一種快速取得不同角色共識的有效方式,適用於短週期的交付,通常在Scrum或Kanban風格的過程中實施。
- Three Amigos:由一位開發人員、一位測試人員、一位分析人員組成的小組,使用例子進行協作分析的模式。
- Feedback Exercises:一種檢查共享理解的反饋練習,特別強調邊界條件,用於5-15人的較大群體。
- Divergent Merge Style Workshops:將大群體分成小組進行分析,再匯整結果,快速發現不同理解之處的工作坊模式。
- Write and Review:一種不太推薦的方式,由一人編寫理解並發送給其他人,缺乏協作性。
- Remote Edition of Specification by Example:Gojko Adzic主持的Specification by Example遠程工作坊,包含5個2.5小時的模組,強調實踐操練和理論結合。
- Given When Then:一種描述軟體需求和測試場景的格式,用於明確指定前提、操作和預期結果。
- Example Mapping:一種用於分析和討論需求的方法,通常涉及多角色的參與,目的是建立共享的理解。
- Cycle Time:從某事物提出到最終實現所需的時間,對於減少開發週期很重要。
- BDD (Behavior Driven Development):行為驅動開發,一種軟體開發方法,強調在開發前先定義系統行為。
- White Cash Plus Project:一個使用儲蓄計畫的專案,早期使用Spec by Example方法。
- Cycle Time Reduction:縮短從提出需求到實現的時間,是Spec by Example的一個優勢之一。
- Example-driven Development:一種開發方法,強調使用示例來指導和驅動開發流程。