敏捷開發十二原則
1 我們的最高目標是,通過儘早和持續地交付有價值的軟體來滿足客戶。
2 歡迎對需求提出變更——即使是在專案開發後期。要善於利用需求變更,幫助客戶獲得 競爭優勢。
3 要不斷交付可用的軟體,週期從幾周到幾個月不等,且越短越好
4 專案過程中,業務人員與開發人員必須在一起工作。
5 要善於激勵專案人員,給他們以所需要的環境和支援,並相信他們能夠完成任務。
6 無論是團隊內還是團隊間,最有效的溝通方法是面對面的交談。
7 可用的軟體是衡量進度的主要指標。
8 敏捷過程提倡可持續的開發。專案方、開發人員和使用者應該能夠保持恆久穩定的進展速度。
9對技術的精益求精以及對設計的不斷完善將提升敏捷性。
10 要做到簡潔,即盡最大可能減少不必要的工作。這是一門藝術。
11 最佳的架構、需求和設計出自於自組織的團隊。
12 團隊要定期反省如何能夠做到更有效,並相應地調整團隊的行為。
複製程式碼
敏捷是一種指導思想或開發方式,但是它沒有明確告訴我們到底採用什麼樣的流程進行開發,而具體的開發方式有哪些呢?
Scrum,極限程式設計(XP)
,精益軟體開發,動態系統開發方法(DSDM),
特徵驅動開發(Feature Driver Development),
水晶開發(Crystal Clear)等等。
複製程式碼
結合我們之前的開發過程,我們採用的是Scrum開發方式
Scrum 是一個用於開發和維護複雜產品的框架 ,是一個增量的、迭代的開發過程。在這個框架中,整個開發過程由若干個短的迭代週期組成,一個短的迭代週期稱為一個Sprint,每個Sprint的建議長度是2到4周(網際網路產品研發可以使用1周的Sprint)。在Scrum中,使用產品Backlog來管理產品的需求,產品backlog是一個按照商業價值排序的需求列表,列表條目的體現形式通常為使用者故事。Scrum團隊總是先開發對客戶具有較高價值的需求。在Sprint中,Scrum團隊從產品Backlog中挑選最高優先順序的需求進行開發。挑選的需求在Sprint計劃會議上經過討論、分析和估算得到相應的任務列表,我們稱它為Sprint backlog。在每個迭代結束時,Scrum團隊將遞交潛在可交付的產品增量。 Scrum起源於軟體開發專案,但它適用於任何複雜的或是創新性的專案。 Scrum流程如下圖:
詳細可以參閱http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-1