敏捷開發是軟件開發行業的熱門詞彙之一,它是管理軟件開發項目的另外一種方式。它不是一種特定的軟件開發方法,而是一組基於敏捷方法中所表達的價值觀和原則的方法和實踐的統稱,解決方案是經過自組織,跨職能的團隊之間的協做來發展的。編程
敏捷側重於保持過程精益,並建立在最終實現以前通過屢次迭代的最小可行產品(MVPs)。反饋被不斷地收集和執行,總的來講,這是一個更加動態的過程,每一個人都朝着一個目標共同努力
-------------------------------------------------------------------------------------**架構
Scrum和其餘領先的敏捷方法框架
然而,敏捷並不包含任何角色、事件或工件。例如,Scrum是敏捷保護傘下被普遍使用的框架之一,它能夠幫助你變得更加敏捷,然而在敏捷運動中還有更多的框架,如看板、XP、Crystal等,以下圖所示:工具
Scrum敏捷傘學習
Scrum測試
Scrum是一個框架,在這個框架中,人們能夠解決複雜的適應性問題,同時高效、創造性地交付最高價值的產品。它用於管理軟件項目、產品或應用程序開發。它的重點是自適應產品開發策略,其中跨職能團隊做爲一個單位,在2-4周內(Sprint)達到一個共同的目標。它由價值、工件、角色、儀式、規則和最佳實踐組成。spa
Lean設計
精益源自豐田生產系統(TPS),該系統在20世紀50年代、60年代及之後掀起了製造行業的革命。精益技術在製造業中佔有一席之地,幫助各行各業消除浪費、改進流程並促進了創新。軟件開發是精益方法的天然應用,由於它與製造很是類似,一般遵循一個已定義的過程,有一些已定義的驗收條件,並致使有形價值的交付。指導精益方法的全部實踐的關鍵概念,咱們稱爲精益支柱。他們是:代碼規範
看板blog
看板是一種高度可視化的工做流管理方法,在精益團隊中很流行。實際上,83%的實踐精益的團隊使用看板來可視化和積極地管理產品的建立,強調持續的交付,而不是給開發團隊增長過多的負擔。與Scrum同樣,看板是一個旨在幫助團隊更有效地協做的過程。
看板基於如下三個基本原則:
看板經過定義最好的團隊工做流程,促進持續的協做,鼓勵積極的、持續的學習和改進。
動態系統開發方法(DSDM)
DSDM是一個由8個原則、一個生命週期和產品、角色和職責以及一些最佳實踐技術組成的框架。這些支持儘早交付戰略上一致的業務利益理念,從而爲組織提供最佳的投資回報(ROI)。
DSDM是一種將進度和質量優先級置於功能之上的方法,它在一開始就肯定了成本、質量和時間,並使用MoSCoW方法肯定了優先級,該方法將項目分解爲四種不一樣類型的需求:
有八個原則支持DSDM Atern。這些原則指導團隊必須採起的一致的態度和思惟方式,以便儘快交付。
極限編程
最初由Kent Beck描述的極限編程(XP)已經成爲最流行、最具爭議的敏捷方法之一。XP是一種紀律嚴明的快速、持續地交付高質量軟件的方法。它的目的是在面對客戶需求變化時提升軟件質量和響應能力。它促進了客戶的高度參與,快速的反饋循環,持續的測試,持續的計劃,以及緊密的團隊合做,以很是頻繁的間隔交付工做軟件,一般是每1-3周。
該方法的名字來源於將傳統軟件工程實踐的有益元素帶到「極端」水平的想法。例如,代碼審查被認爲是有益的作法。更極端的是,能夠經過結對編程的實踐來連續檢查代碼。
最初的XP方法基於四個簡單的價值觀:簡單、溝通、反饋和勇氣。
它還有12個配套實踐:
極限編程
功能驅動開發(FDD)
功能驅動開發(FDD)是傑夫·德盧卡(Jeff De Luca)1997年爲一家大型新加坡銀行進行軟件開發項目時引入的。它是一種迭代的、增量的軟件開發過程,是一種敏捷的軟件開發方法。FDD將許多業界公認的最佳實踐融合在一塊兒。這些實踐是從客戶重視的價值功能(特性)的角度出發的。它的主要目的是及時地重複交付有形的、可工做的軟件。使用FDD的優點在於,它甚至能夠擴展到大型團隊,由於它的概念是「剛開始就足夠的設計」(JEDI)。因爲它以功能爲中心,所以它是保持對敏捷,增量和固有複雜項目的控制的絕佳解決方案。它包含五個基本活動:
功能驅動開發(FDD)
每一個項目都有本身獨特的模型,這將產生一個獨特的功能列表。最後三個活動是簡短的迭代過程,其特性的構建時間不會超過兩週。若是要花費兩週以上的時間,則必須將其分解爲較小的功能。
Crystal
Crystal方法是由Alistair Cockburn在90年代中期開發的一個方法論系列Crystal系列)。這些方法來自於Cockburn多年的研究和對團隊的訪談。Cockburn的研究代表,他採訪的團隊沒有遵循正式的方法論,可是他們仍然交付了成功的項目。Crystal系列是Cockburn對他們所作的使項目成功的事情進行分類的方式。方法論重點包括:
通信技術
敏捷方法
「敏捷」一詞是2001年在《敏捷宣言》中提出的。宣言旨在創建指導更好的軟件開發方法的原則。敏捷宣言由4個重要的價值觀組成。閱讀敏捷宣言的方式並非說右邊的項目已經沒有價值了,而是敏捷運動更加劇視左邊的項目。
敏捷方法
讓咱們看一下敏捷方法的第一行。這句話代表,咱們重視人員的互動,溝通和協做,而不是擁有各類各樣的普遍的流程和工具。固然,程和工具頗有價值,可是,若是它們可以真正地支持人們一塊兒工做並交付出色的產品,那麼它們就更有價值。咱們如今在許多組織中看到的是,流程和工具自己就是目標。從敏捷的角度來看,咱們對它的指望是不一樣的。過程和工具應該支持人們一塊兒工做並向客戶交付價值。
敏捷方法原則
做爲敏捷方法的補充,敏捷聯盟還定義了12條基本原則,除了敏捷方法以外,這些原則還提供了指導和更詳細的解釋。
敏捷方法原則