定義什麼是Agile: 結果, 特徵, 以及實務
Defining Agile: Results, Characteristics, Practices
http://testobsessed.com/2009/05/26/defining-agile-results-characteristics-practices/
當作者在談Agile testing, 有件非常重要的前提是, 要先定義好什麼是Agile.
Agile只是一個很大的term, 就像quality一樣, 對很多人來說意味著很多不同的事情. 可是Agile testing的範疇, 是在Agile的環境中進行測試. 所以很難不去對agile有個明確的定義
作者認為由結果來看Agile的話, Agile的團隊是:
交付一個可能出貨的產品, 每次多增加一些東西, 彼此間是有連續性的
並且在一個可維持的速度
根據改變的需求來做調整, 並且會設定組織的優先順序
如果一個團隊能夠完成以上這些結果, 它通常表現出以下特徵:
- 高度的溝通(Communication)和協同運作(Collaboration)
- 尋求和接收快速的回饋
- 找尋一個機制能支援專案的狀態能視覺化, 好讓每個人在任何時間都知道發生什麼事情
- 很高度的alignment, 所以每個人都朝著相同的目標前進
- 有共通的DoD, 包含了實作和測試. 在產品負責人接受前不斷地探索產品的問題
- 持續不斷地專注於價值
如果一個團隊有這些特徵, 它通常也會採用以下的敏捷管理(Agile management)和工程實務(engineering practices):
- Prioritized Backlog
- Short Iterations (or Sprints)
- Daily Stand-ups (or Scrums)
- Integrated/Cross-Functional Team
- Continuous Integration
- Collective Code Ownership
- Extensive Automated Tests
很多人把Agile等同於這些實務(practices)(例如: Prioritized Backlog)和方法(method)(例如: Scrum). 事實上, 這是落伍的想法. Agile的實務和方法可以增加達成敏捷性的可能, 但是無法保證一定可以做得到.
留言列表