敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法。
怎麼理解呢?首先,我們要理解它不是一門技術,它是一種開發方法,也就是一種軟體開發的流程,它會指導我們用規定的環節去一步一步完成專案的開發;而這種開發方式的主要驅動核心是人;它採用的是迭代式開發;
我們大部分人都學過瀑布開發模型,它是以文件為驅動的,為什麼呢?因為在瀑布的整個開發過程中,要寫大量的文件,把需求文件寫出來後,開發人員都是根據文件進行開發的,一切以文件為依據;而敏捷開發它只寫有必要的文件,或盡量少寫文件,敏捷開發注重的是人與人之間,面對面的交流,所以它強調以人為核心。
迭代是指把乙個複雜且開發周期很長的開發任務,分解為很多小週期可完成的任務,這樣的乙個週期就是一次迭代的過程;同時每一次迭代都可以生產或開發出乙個可以交付的軟體產品。
前面說了敏捷它是一種指導思想或開發方式,但是它沒有明確告訴我們到底採用什麼樣的流程進行開發,而scrum和xp就是敏捷開發的具體方式了,你可以採用scrum方式也可以採用xp方式;scrum和xp的區別是,scrum偏重於過程,xp則偏重於實踐,但是實際中,兩者是結合一起應用的,這裡我主要講scrum。
scrum的英文意思是橄欖球運動的乙個專業術語,表示「爭球」的動作;把乙個開發流程的名字取名為scrum,我想你一定能想象出你的開發團隊在開發乙個專案時,大家像打橄欖球一樣迅速、富有戰鬥激情、人人你爭我搶地完成它,你一定會感到非常興奮的。
而scrum就是這樣的乙個開發流程,運用該流程,你就能看到你團隊高效的工作。
產品負責人(product owner)
主要負責確定產品的功能和達到要求的標準,指定軟體的發布日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果。
流程管理員(scrum master)
主要負責整個scrum流程在專案中的順利實施和進行,以及清除擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。
開發團隊(scrum team)
主要負責軟體產品在scrum規定流程下進行開發工作,人數控制在5~10人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;成員可以採用任何工作方式,只要能達到sprint的目標。
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的產品需求中;
成員姓名
班級組長
袁效國軟開1班
組員田俊俊
軟開1班
組員池志偉
軟開1班
組員羅琦
軟開1班
組員羅志傑
軟開1班
成員任務
袁效國分析專案需求,安排任務
羅琦編寫**
遲志偉編寫**
羅志傑測試
田俊俊編寫文件
這是我們小組的作業位址
第三次作業
2 12有600 mb 兆位元組 的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車這 些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kb s,其結果又如何?解 當傳送速率為2.4k...
第三次作業
1 有600mb 兆位元組 的資料,需要從南京傳送到北京 一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率為2.4kb s 傳送此資料,試比較這兩種方法的優劣。若資訊傳送的速率為33.6kb s,其結果又如何?解 假定連續傳送且不出錯。若...
第三次作業
p67 2 12 有600mb的資料,需要從南京傳送到北京。一種方法是將資料寫到磁碟上,然後託人乘火車將這些磁碟捎去。另一種方法是用計算機通過長途 線路 設資訊傳送的速率是2.4kbps 傳送此資料。試比較這兩種方法的優劣。若資訊傳送速率為33.6kbps,其結果又如何?解 1 t 600 1024...