一、敏捷宣言:
我們一直在實踐中探尋更好的軟件開發,身體力行的同時也幫助他人。由此我們建立了如下價值觀:
個體與交互 重於 過程和工具
可用的軟件 重於 完備的文檔
客戶協作 重於 合同談判
響應變化 重於 遵循計劃
二、Scrum概述:
Scrum是迭代式增量軟件開發過程,通常用於敏捷軟件開發。包含三個角色、五個儀式、三個組件。
三個角色:
- 產品負責人 Product Owner: 負責維護產品訂單的人,代表利益相關者的利益。
- Scrum主管 Scrum Master: 爲Scrum過程負責的人,確保scrum的正確使用並使得Scrum的收益最大化。一般不翻譯。
- 開發團隊 Team: 由負責自我管理開發產品的人組成的跨職能團隊。
五個儀式:
- 計劃會 Sprint Planning Meeting:在每個衝刺之初,由產品負責人講解需求,並由開發團隊進行估算的計劃會議。
- 每日立會 Daily Standup Meeting:團隊每天進行溝通的內部短會,因一般只有15分鐘且站立進行而得名。
- 評審會 Review Meeting:在衝刺結束前給產品負責人演示並接受評價的會議。
- 反思會/回顧會 Retrospective Meeting:在衝刺結束後召開的關於自我持續改進的會議。
- 衝刺 Sprint: 一個時間週期(通常在2周到1個月之間),開發團隊會在此期間內完成所承諾的一組訂單項的開發。
三個組件:
- 產品列表 Product Backlog:根據用戶價值進行優先級排序的高層需求。
- 衝刺訂單 Sprint Backlog:要在衝刺中完成的任務的清單。
- 燃盡圖 Burn-Down Chart:剩餘工作量的工作圖表,可以直觀的預測何時工作將全部完成。
三、大多數敏捷新產品開發流程的關鍵要素:
- 產品任務列表(The product backlog)
- 敏捷流程(The scrum)
- 衝刺(The sprint)
- 產品負責人(The product owner)
- 敏捷教練(The scrum master)
- 敏捷團隊(The scrun team)
四、敏捷開發的12個原則:
- 我們最優先要做的是通過儘早的、持續的交付有價值的軟件來始客戶滿意。
- 即使到了開發的後期,也歡迎改變需求。
- 經常性的交付可以工作的軟件,交付的間隔可以從幾周到幾個月,交付的時間間隔越短越好。
- 在整個項目開發期間,業務人員和開發人員必須天天在一起工作。
- 圍繞被激勵起來的個人來構建項目。
- 在團隊內部,最具有效果並且富有效率的傳遞信息的方法,就是面對面的交談。
- 工作的軟件是首要的進度度量標準。
- 敏捷過程提倡平穩的開發節奏;發起人、開發者和用戶能夠保持一個長期的、恆定的開發速度。
- 不斷地關注優秀的技能和好的設計會增強敏捷能力。
- 簡單化是根本(不做過度設計和預測)。
- 最好的架構、需求和設計出自於自組織的團隊。
- 每隔一段時間,團隊會在如何才能更有效地工作方面進行反思並對自己的行爲進行相應調整。