簡單是如何服務于敏捷開發,怎么樣的簡單有助于真正的敏捷?很多人將簡單理解成,直觀,易懂,但這并非是簡單。
所說的“簡單”,可以理解為“恰如其分”,即不會置架構設計于不顧,亦不會以風險驅動過度架構,選擇適當的技術、設計降低項目中的風險。
先理解一下,什么是敏捷里的簡單?
其設計源自kent beck的極限編程。kent beck是解釋過這個實踐的含義的:
即:通得過測試、揭示意圖、沒有重復、沒有不必要的元素。
主要表現在管理、溝通、需求分析、系統設計四個過程中。
1.團隊管理
平行組織的、自組織的團隊是敏捷開發團隊的特點,團隊成員之間上下級關系淡化、沒有管理和被管理關系,成員之間的關系變得更加簡單。團隊目標一致、團結協作、各司其職是敏捷開發所追求的目標。
2.簡單溝通
其在溝通中不要求繁文縟節的文檔,表現的是面對面,即直接溝通,因此。
3.需求管理
在敏捷開發過程中決定需求是否采納和優先級排序的標準是商業價值,進而保證敏捷開發交付呈現的是商業價值,而非單純的功能。其追求在復雜的業務中提取簡單的場景,注重實效。不進行需求變更設置復雜的控制,堅持“擁抱變化”。
4系統設計
敏捷開發的系統設計遵循KISS(Keep it simple and stupid)原則,,即盡量保持設計簡單。敏捷開發的系統設計遵循Just Enough原則,也就是夠用就好,不做功能預測,不追求超前設計和過度設計。設計的風格上遵循最小化設計(little design up front)的原則,在能把握整體風險的情況下,利用演進的方式對架構進行調整,結合重構、TDD、持續集成等方式來降低架構演進過程中對局部代碼修改造成的風險。