敏捷開發總結


    一、敏捷開發是一種開發方式
    敏捷開發,英文是Agile Development,是一種以人為核心、迭代、循序漸進的開發方式,是一種軟件開發的流程。它會指導開發人員用規定的環節去一步一步完成項目的開發。由於它采用迭代式開發,所以它主要的驅動核心是人,而不是像瀑布模型那樣,以文檔為核心。
    敏捷開發更注重的人與人之間的溝通、交流。它認為個體和交互勝過過程和工具,可以工作的軟件勝過面面俱到的文檔,客戶合作勝過合同談判,響應變化勝過遵循計划。雖然右項也有價值,但是敏捷開發認為左項具有更大的價值。
   迭代是指把一個復雜且開發周期很長的開發任務,分解為很多小周期可完成的任務,這樣一個周期就是一次迭代的過程,同時每一次迭代都可以生產或開發出一個可以交付的軟件產品。
   二、幾個重要的名詞
   Scrum:是一個橄欖球專業術語,意味並列爭球。用了這樣一個詞在敏捷開發中,可以證明,在整個敏捷開發的過程中,團隊中的每一個人都要像橄欖球運動員一樣迅速、富有戰斗激情,在這種氛圍下才會達到敏捷開發快速迭代的要求。
   XP:極限編程,是一種輕量、高效、低風險、柔性、可預測、科學而且充滿樂趣的開發方式。它強調在更短的周期內,更早地提供具體、持續的反饋信息;在迭代地進行計划編制,首先在最開始迅速生成一個總體計划,然后在整個項目開發過程中不斷的發展它;依賴於自動測試程序來監控開發進度,並盡可能早地捕獲缺陷;依賴於口頭交流、測試和源程序進行溝通;倡導持續的演化式設計;依賴於開發團隊內部的緊密協作;盡可能達到程序員短期利益和項目長期利益的平衡。

注:Scrum和XP是敏捷開發的兩種方式,Scrum偏重過程,XP偏重實踐。

    PO:Product Owner,產品負責人。主要負責確定產品的功能和達到要求的標准,指定軟件的發布日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果。
    SM:Scrum Master,流程管理員。主要負責整個Scrum流程在項目中的順利實施和進行,以及掃清擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。
    ST:Scrum Team,開發團隊。主要負責軟件產品在Scrum規定流程下進行開發工作,人數控制在5-10人左右,每個成員可能負責不同的技術方面,但要求每個成員必須要有很強的自我管理能力,同時具有一定的表達能力。成員可以采用任何工作方式,只要能夠完成開發任務。
   PB:Product Backlog,產品需求列表。由PO負責,按優先順序排列產品需求。
   Sprint:沖刺。指一次迭代,每次迭代的周期大約是一個月。
   INVEST原則:是縮寫組成,Independent獨立的、Negotiable可協商的、Valuable有價值的、 Estimable可估計的、Small小的、Testable可測試的
   三、Scrum開發
   1.首先由PO,制定PB。
   2.ST根據PB,進行工作量的預估和安排。在工作量預估中,可以使用計划籌碼,每個籌碼代表着完成一個故事的時間,是一個故事點的倍數,一般有1、2、3、5、8這幾個數字。每個人對工作的預估在亮出籌碼之后,如果有不同意見,不能折中選平均數,而是要各自說出理由,再重新進行預估。
   3.有了PB列表,就需要通過Sprint Planning Meeting來從中挑選出一個Story作為本次迭代完成的目標,然后將這個Story進行細化,一個優秀的Story要遵循INVEST原則,形成Sprint Backlog,然后再繼續細化,爭取每個細化的任務能在2天內完成。
   4.在ST完成PM上選出的Sprint Backlog過程中,要進行Daily Scrum Meeting,每次會議要控制在15分鍾左右,每個人都必須發言,並且要向所有成員當面匯報昨天完成的工作和承諾今天要完成的任務,如果遇到問題也可以提出問題,表述結束后,要更新自己的燃盡圖。
    5.要做到每日集成,每天都要有一個可成功編譯、並且可以演示的版本,這就凸顯出了持續集成的重要性。
    6.當一個Story完成,也就是Sprint Backlog被完成,就代表一次Sprint完成,要進行Sprint Review Meeting,PO和客戶都要參加,每個ST成員都要展示自己完成的任務。
    7.最后就是Sprint Retrospective Meeting,所有成員輪流發言,總結並討論改進的地方,放入下一輪Sprint的產品需求中。

   敏捷開發的快速迭代有很明顯的優勢,但是對團隊的要求也更高,尤其是按時完成任務,對自己的承諾負責這點,如果要保重能夠按時完成任務,就要在預估工作量上更加嚴謹,而不是取折中這種方式,每個人要更加堅持自己的立場,只能夠因為合理的邏輯做出計划。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com