什麼是敏捷開發?

2021-08-08 11:20:23 字數 2619 閱讀 5962



敏捷開發的4句宣言

個體與互動 勝過 過程與工具

可以工作的軟體 勝過 面面俱到的文擋

客戶協作 勝過 合同談判

響應變化 勝過 遵循計畫

什麼是敏捷開發?

敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法。

怎麼理解呢?首先,我們要理解它不是一門技術,它是一種開發方法,也就是一種軟體開發的流程,它會指導我們用規定的環節去一步一步完成專案的開發;而這種開發方式的主要驅動核心是人;它採用的是迭代式開發;

為什麼說是以人為核心?

我們大部分人都學過瀑布開發模型,它是以文件為驅動的,為什麼呢?因為在瀑布的整個開發過程中,要寫大量的文件,把需求文件寫出來後,開發人員都是根據文件進行開發的,一切以文件為依據;而敏捷開發它只寫有必要的文件,或盡量少寫文件,敏捷開發注重的是人與人之間,面對面的交流,所以它強調以人為核心。

什麼是迭代?

迭代是指把乙個複雜且開發周期很長的開發任務,分解為很多小週期可完成的任務,這樣的乙個週期就是一次迭代的過程;同時每一次迭代都可以生產或開發出乙個可以交付的軟體產品。

關於scrum和xp

前面說了敏捷它是一種指導思想或開發方式,但是它沒有明確告訴我們到底採用什麼樣的流程進行開發,而scrum和xp就是敏捷開發的具體方式了,你可以採用scrum方式也可以採用xp方式;scrum和xp的區別是,scrum偏重於過程,xp則偏重於實踐,但是實際中,兩者是結合一起應用的,這裡我主要講scrum。

什麼是scrum?

scrum的英文意思是橄欖球運動的乙個專業術語,表示「爭球」的動作;把乙個開發流程的名字取名為scrum,我想你一定能想象出你的開發團隊在開發乙個專案時,大家像打橄欖球一樣迅速、富有戰鬥激情、人人你爭我搶地完成它,你一定會感到非常興奮的。

而scrum就是這樣的乙個開發流程,運用該流程,你就能看到你團隊高效的工作。

什麼是sprint?

sprint是短距離賽跑的意思,這裡面指的是一次迭代,而一次迭代的週期是1個月時間(即4個星期),也就是我們要把一次迭代的開發內容以最快的速度完成它,這個過程我們稱它為sprint。

如何進行scrum開發?

1、我們首先需要確定乙個product backlog(按優先順序排列的乙個產品需求列表),這個是由product owner 負責的;

2、scrum team根據product backlog列表,做工作量的預估和安排;

3、有了product backlog列表,我們需要通過 sprint planning meeting(sprint計畫會議) 來從中挑選出乙個story作為本次迭代完成的目標,這個目標的時間週期是1~4個星期,然後把這個story進行細化,形成乙個sprint backlog;

4、sprint backlog是由scrum team去完成的,每個成員根據sprint backlog再細化成更小的任務(細到每個任務的工作量在2天內能完成);

5、在scrum team完成計畫會議上選出的sprint backlog過程中,需要進行 daily scrum meeting(每日站立會議),每次會議控制在15分鐘左右,每個人都必須發言,並且要向所有成員當面匯報你昨天完成了什麼,並且向所有成員承諾你今天要完成什麼,同時遇到不能解決的問題也可以提出,每個人回答完成後,要走到黑板前更新自己的 sprint burn down(sprint燃盡圖);

6、做到每日整合,也就是每天都要有乙個可以成功編譯、並且可以演示的版本;很多人可能還沒有用過自動化的每日整合,其實tfs就有這個功能,它可以支援每次有成員進行簽入操作的時候,在伺服器上自動獲取最新版本,然後在伺服器中編譯,如果通過則馬上再執行單元測試**,如果也全部通過,則將該版本發布,這時一次正式的簽入操作才儲存到tfs中,中間有任何失敗,都會用郵件通知專案管理人員;

7、當乙個story完成,也就是sprint backlog被完成,也就表示一次sprint完成,這時,我們要進行 srpint review meeting(演示會議),也稱為評審會議,產品負責人和客戶都要參加(最好本公司老闆也參加),每乙個scrum team的成員都要向他們演示自己完成的軟體產品(這個會議非常重要,一定不能取消);

8、最後就是 sprint retrospective meeting(回顧會議),也稱為總結會議,以輪流發言方式進行,每個人都要發言,總結並討論改進的地方,放入下一輪sprint的產品需求中;

現在我終於明白為什麼每天早上我們都要開站會了,媽蛋啊,你說自己坑不坑啊!

上面詳述完了我來說一下我們的敏捷開發流程

我們公司用的project(一筐記錄需求的web專案),每兩周組長和專案經理和產品經理pk一次需求,就是上面說的迭代開發,pk出乙個乙個小功能,然後我們去做,看任務分配週期,

如果著急就先做,不著急就慢慢做,放後面,每天早上是站會,周一早上是坐會站會每次10到15分鐘說一下昨天做的什麼,今天要做什麼,有什麼問題!之前也沒發現有什麼區別,這麼久才發現原來這就是敏捷開發,好蛋疼!也算是自己給自己掃盲吧!!!

什麼是敏捷開發

本博在很多地方,都有人提出自己的開發方式就是敏捷開發。但本博實際上看到的情況更多的是,以敏捷開發為藉口來避免寫各種各樣的文件,幾乎是什麼事情不想做,就用敏捷開發擋一擋。比如,需求分析沒有做好,就進入編碼階段,說辭是 我們要敏捷開發,快速響應需求的變化,既然能夠快速響應需求的變化,那麼需求做沒做好就不...

敏捷開發 什麼是敏捷開發?敏捷開發掃盲(詳解)

敏捷開發 scrum 是一種軟體開發的流程,強調快速反應 快速迭代 價值驅動。scrum的英文意思是橄欖球運動的乙個專業術語,表示 爭球 的動作 運用該流程,你就能看到你團隊高效的工作。敏捷開發的特點就是下面4句話 個體與互動 勝過 過程與工具 可以工作的軟體 勝過 面面俱到的文擋 客戶協作 勝過 ...

什麼是敏捷開發?它有什麼特點

隨著軟體開發技術的不斷發展,現在出現了很多種不同的開發模式,其實敏捷開發已經成為現在很多企業開發應用程式都想要選擇的開發方案。那麼什麼是敏捷開發呢?下面一起來了解一下相關的知識吧!常用的 4 種開發模式 1.瀑布式開發 瀑布式開發是由 ww.royce 在 1970 年提出的軟體開發模型,是一種比較...