什麼是敏捷開發?
敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法。
怎麼理解呢?首先,我們要理解它不是一門技術,它是一種開發方法,也就是一種軟體開發的流程,它會指導我們用規定的環節去一步一步完成專案的開發;而這種開發方式的主要驅動核心是人;它採用的是迭代式開發;
為什麼說是以人為核心?
我們大部分人都學過瀑布開發模型,它是以文件為驅動的,為什麼呢?因為在瀑布的整個開發過程中,要寫大量的文件,把需求文件寫出來後,開發人員都是根據文件進行開發的,一切以文件為依據;而敏捷開發它只寫有必要的文件,或盡量少寫文件,敏捷開發注重的是人與人之間,面對面的交流,所以它強調以人為核心。
什麼是迭代?
迭代是指把乙個複雜且開發周期很長的開發任務,分解為很多小週期可完成的任務,這樣的乙個週期就是一次迭代的過程;同時每一次迭代都可以生產或開發出乙個可以交付的軟體產品。
關於scrum和xp
前面說了敏捷它是一種指導思想或開發方式,但是它沒有明確告訴我們到底採用什麼樣的流程進行開發,而scrum和xp就是敏捷開發的具體方式了,你可以採用scrum方式也可以採用xp方式;scrum和xp的區別是,scrum偏重於過程,xp則偏重於實踐,但是實際中,兩者是結合一起應用的,這裡我主要講scrum。
什麼是scrum?
scrum的英文意思是橄欖球運動的乙個專業術語,表示「爭球」的動作;把乙個開發流程的名字取名為scrum,我想你一定能想象出你的開發團隊在開發乙個專案時,大家像打橄欖球一樣迅速、富有戰鬥激情、人人你爭我搶地完成它,你一定會感到非常興奮的。
而scrum就是這樣的乙個開發流程,運用該流程,你就能看到你團隊高效的工作。
【scrum開發流程中的三大角色】
產品負責人(product owner)
主要負責確定產品的功能和達到要求的標準,指定軟體的發布日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果。
流程管理員(scrum master)
主要負責整個scrum流程在專案中的順利實施和進行,以及清除擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。
開發團隊(scrum team)
主要負責軟體產品在scrum規定流程下進行開發工作,人數控制在5~10人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;成員可以採用任何工作方式,只要能達到sprint的目標。
敏捷開發之Scrum掃盲篇
現在敏捷開發是越來越火了,人人都在談敏捷,人人都在學習scrum和xp.為了不落後他人,於是我也開始學習scrum,今天主要是對我最近閱讀的相關資料,根據自己的理解,用自己的話來講述scrum中的各個環節,主要目的有兩個,乙個是進行知識的總結,另外乙個是覺得網上很多學習資料的講述方式讓初學者不太容易...
敏捷開發之Scrum掃盲篇
敏捷開發有如下特徵 1.工作在小的團隊中 2.團隊是跨功能的 包括測試人員,開發人員,文件開發人員等等 3.短迭代 利用短迭代方法來交付軟體 4.相較於文件,敏捷開發更注重面對面的交流 5.敏捷不是乙個過程,而是乙個軟體開發的形式或者方法 6.敏捷可以與軟體過程如cmmi等一起實施 現在敏捷開發是越...
敏捷開發之Scrum掃盲篇
敏捷開發之scrum掃盲篇 現在敏捷開發是越來越火了,人人都在談敏捷,人人都在學習scrum和xp.為了不落後他人,於是我也開始學習scrum,今天主要是對我最近閱讀的相關資料,根據自己的理解,用自己的話來講述scrum中的各個環節,主要目的有兩個,乙個是進行知識的總結,另外乙個是覺得網上很多學習資...