學習內容:
敏捷開發 agile development 是一種軟體開發流程,開發方法,能夠知道我們按照規定的環節一步步的去完成專案的開發任務,主要驅動核心是人,採用的是迭代式的開發。
四句開發宣言:
遵循的原則:我們最重要的目標是通過持續不斷地及早交付有價值的軟體使客戶滿意。
1.兩種開發模型的差別:
(1)瀑布開發模型是以文件為驅動的,需要寫大量的文件,在需求文件寫出來後,開發人員就根據開發文件進行開發,以文件為依據。
(2)相對的,敏捷開發只寫必要的文件,盡量少寫文件,注重的是人與人之間,面對面的交流,所以強調的是以人為核心。
2.關於迭代:
敏捷開發中就是把乙個大專案切分成多個子專案,也就是把乙個複雜並且開發周期很長的開發任務,進行分解,分解成許多小週期內就可以完成的任務,這樣乙個週期就是一次迭代;
同時每一次迭代都可以生產或者開發出乙個可以交付的軟體產品。
3.關於scrum和xp
如果說敏捷是一種軟體開發的知道思想,那麼這是敏捷開發的具體方式,兩者的區別是,scrum注重過程,xp注重實踐,實際中兩者是結合一起使用的。
而scrum就是這樣的乙個開發流程,運用該流程,你就能看到你團隊高效的工作。
scrum開發流程中的三大角色:
主要負責確定產品的功能和達到要求的標準,指定軟體的發布日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果。
主要負責整個scrum流程在專案中的順利實施和進行,以及清除擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。
主要負責軟體產品在scrum規定流程下進行開發工作,人數控制在5~10人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;成員可以採用任何工作方式,只要能達到sprint的目標。
4.scrum流程圖
sprint的來歷:sprint是短距離賽跑的意思,這裡面指的是一次迭代,而一次迭代的週期是1個月時間(即4個星期),也就是我們要把一次迭代的開發內容以最快的速度完成它,這個過程我們稱它為sprint。
5.如何進行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的產品需求中;
任務看板:
包含(需求、需求分析[使用者研究、競品分析])、原型設計、待開發、開發中、待驗收、已完成的工作狀態,假設你今天把乙個未完成的工作已經完成,那麼你要把小卡片從開發中區域貼到待驗收區域。
每個人的工作進度和完成情況都是公開的,如果有乙個人的工作任務在某乙個位置放了好幾天,大家都能發現他的工作進度出現了什麼問題(成員人數最好是5~7個,這樣每人可以使用一種專用顏色的標籤紙,一眼就可以從任務版看出誰的工作進度快,誰的工作進度慢)
每日站會:
參會人員可以隨意姿勢站立,任務看板要保證讓每個人看到,當每個人發言完後,要走到任務版前更新自己的燃盡圖。
學習內容參考:
敏捷開發入門教程
敏捷開發 agile development 是非常流行的軟體開發方法。據統計,2018年90 的軟體開發採用敏捷開發。但是,到底什麼是敏捷開發,能說清的人卻不多。本文嘗試用簡潔易懂的語言,解釋敏捷開發。敏捷開發的核心是迭代開發 iterative development 敏捷一定是採用迭代開發的方...
敏捷開發入門教程
分享按鈕 日期 2019年3月 6日 敏捷開發 agile development 是非常流行的軟體開發方法。據統計,2018年90 的軟體開發採用敏捷開發。但是,到底什麼是敏捷開發,能說清的人卻不多。本文嘗試用簡潔易懂的語言,解釋敏捷開發。敏捷開發的核心是迭代開發 iterative develo...
敏捷開發入門教程
日期 2019年3月 6日 敏捷開發 agile development 是非常流行的軟體開發方法。據統計,2018年90 的軟體開發採用敏捷開發。但是,到底什麼是敏捷開發,能說清的人卻不多。本文嘗試用簡潔易懂的語言,解釋敏捷開發。敏捷開發的核心是迭代開發 iterative development...