Scrum敏捷開發模式測試
1、背景spa
傳統的開發大多都採用瀑布開發模式,流程以下:設計
瀑布開發模式的項目週期每每比較長,通常爲3-6個月,甚至更長時間,過程通常都是:產品經理完成一款產品的全部需求—UE設計出原型和視覺— 開發完成開發— 測試完成,最後交付成果每每不是產品經理或是客戶真正想要的,最後只能從新從項目的需求開始,通過一系列的建設、測試、部署等過程,那樣的話,項目週期就會更長,然而又須要儘快投入市場,最後只能是稍微改動一下,差很少接近項目需求就行。因此,使用瀑布開發模式很容易出現這樣的結果,開發週期很長,不可控的因素和風險很大,最終會偏離最初想法。3d
2、敏捷開發的定義blog
Scrum敏捷開發將瀑布開發過程切分爲多個短的迭代式的增量開發過程。每一次迭代開發週期很短,通常爲1-4周。每個迭代結束,都會產生最終可用的產品,若有需求變化,能夠在下一個迭代週期開發,基本不會出現最終交付產品是用戶沒法接受的,即便要浪費時間的話,最多就是一個迭代週期的時間。是一種以人爲核心、迭代、按部就班的開發方法。排序
爲何說是以人爲核心?開發
瀑布開發模型,它是以文檔爲驅動的,在整個開發過程當中,要寫大量的文檔,把需求文檔寫出來後,開發人員都是根據文檔進行開發的,一切以文檔爲依據;而敏捷開發它只寫有必要的文檔,或儘可能少寫文檔,敏捷開發注重的是人與人之間,面對面的交流,因此它強調以人爲核心。文檔
什麼是迭代?部署
迭代是指把一個複雜且開發週期很長的開發任務,分解爲不少小週期可完成的任務,這樣的一個週期就是一次迭代的過程;同時每一次迭代均可以生產或開發出一個能夠交付的軟件產品。原型
3、Scrum的3-3-4原則
(1)3個角色
² 產品負責人(Product Owner):主要負責肯定產品的功能和達到要求的標準,指定軟件的發佈日期和交付的內容,同時有權力接受或拒絕開發團隊的工做成果。
² 流程管理員(Scrum Master):主要負責整個 Scrum 流程在項目中的順利實施和進行,主持會議,以及清除擋在客戶和開發工做之間的溝通障礙,使得客戶能夠直接驅動開發。
² 開發團隊(Scrum Team):主要負責軟件產品在 Scrum 規定流程下進行開發工做。
(2)3個產出物
² Product Backlog(產品待辦事項列表):產品待辦事項列表是一個排序的列表,包含全部產品須要的東西。產品負責人負責產品待辦事項列表的內容、可用性和優先級。產品待辦事項列表是一個持續完善的清單, 最初的版本只列出最初始的和衆所周知的需求。 產品待辦事項列表根據產品和開發環境的變化而演進。待辦事項列表是動態的,它常常發生變化以識別使產品合理、有競爭力和有用所必需的東西。只要產品存在,產品待辦事項列表就存在。
² Sprint Backlog(Sprint待辦事項列表):Sprint 代辦事項列表定義了開發團隊把產品代辦事項列表條目轉換成「完成」的增量所須要執行的工做。使開發團隊肯定的、達到 Sprint 目標所需的工做清晰可見。
² 燃盡圖:指的是當前剩餘的工做量,能夠很好地跟蹤項目進展。
(3)4個會議
² Sprint計劃會:肯定本個Sprint須要完成的功能需求並決定這些工做如何完成。
² 每日站會:每日站會時間不超過15分鐘,團隊成員需提供三點信息,即從昨天的站會我完成了什麼、從如今到明天的站會我計劃完成什麼、我遇到了什麼困難。
² Sprint評審會:項目團隊將已實現的項目結果進行演示,聽取利益相關方的反饋,以便在下一個Sprint進行改進。
² Sprint回顧會:對本個Sprint進行回顧,哪些是作的好的,哪裏須要改進的,並對這些改進的點,提出改進措施,在下一個Sprint中進行實現。
4、敏捷帶來的價值
² 快速響應變化:Scrum開發徹底適應如今互聯網開發提出的「小步快跑」,以輕量級的Story做爲需求進行迭代式開發,保證最重要的功能優先作。
² 項目團隊的透明性:敏捷團隊全部成員都能瞭解當前項目的進展和問題。
² 項目團隊的專一:項目團隊能夠確保把時間放在與衝刺目標相關的事情上,不受外界干擾。