【Scrum】藉由數個衝刺,實現產品的敏捷開發!

在敏捷開發過程當中,一個產品或者一個發佈版本一般是由多個衝刺來實現的,每一個衝刺都能增量交付可運行的系統功能,實現客戶價值。每一個衝刺都是從衝刺規劃開始,團隊成員一塊兒商定衝刺目標和明確交付的系統功能,並進行衝刺執行,實現系統功能,再經過沖刺評審和回顧對實現的產品功能和過程進行檢視,指望在下一衝刺過程當中對產品功能和過程進行改進和完善。運維



衝刺流程

衝刺包括衝刺規劃衝刺執行衝刺評審衝刺回顧四大過程。衝刺是從規劃開始,團隊成員必須就本次衝刺的目標和計劃達成共識,全體成員在整個衝刺過程按照既定的計劃奔着這個目標前進,天天對取得的成果和麪臨的問題進行溝通討論。衝刺結束階段,在衝刺評審活動中召集相關利益相關方一塊兒演示產品功能並得到反饋,得到的反饋是產品列表和下一階段衝刺規劃內容的重要來源。在衝刺回顧活動中,所有團隊成員對衝刺執行過程進行檢視和討論,抓住其中存在的問題並討論優化方案,在下一個衝刺進行改善和優化,實現衝刺過程的優化和衝刺執行效率的提高。
ide



衝刺規劃

通常狀況下,是在每一個衝刺的開始階段進行衝刺規劃,由於在這個時間點上,能充分利用已掌握的信息最出最優的決策。衝刺規劃過程時間的長度根據衝刺的長度而定,佔用整個衝刺的5%左右時間是比較合理的,好比兩週的衝刺應該控制在4小時之內,一個月的衝刺應該控制在8小時之內。
工具


衝刺規劃過程應該由整個團隊協做完成,產品負責人從現有的產品列表清單中選取清單項,提出衝刺的初步目標,並負責解釋開發團隊針對選取的產品清單項提出的任何疑問。開發團隊對衝刺內可交付的工做清單進行評估,並在規劃結束時作出最終的承諾。Scrum Master做爲教練,參與和觀察整個過程,提出可能的風險點,引導和幫助開發團隊作出有效的承諾。測試


在衝刺規劃過程當中,基本的流程是:優化

圖片1.png


衝刺規劃過程結束時,最終獲取衝刺目標和衝刺清單,開發團隊爲此目標和任務清單作出承諾,並在接下來的衝刺執行中爲此目標而努力。
spa



衝刺執行

衝刺執行包括了交付一個增量可發佈的產品而必須完成的全部工做,其自己就像一個超小型的項目,衝刺執行過程佔用了衝刺大部分時間,好比兩週的衝刺中,衝刺執行佔用10天中的8天,因此衝刺執行過程對衝刺目標的順利完成相當重要。衝刺執行包含了規劃、管理、執行和溝通等工做:
orm


01 規劃

衝刺執行規劃能夠對衝刺清單中的重要工做項進行依賴關係的梳理,但不須要作詳細的執行計劃,好比一個甘特圖,由於這多是在浪費時間。團隊不只僅浪費了製做計劃的時間,還浪費了更多時間試圖將計劃調整爲反映真實執行狀況。衝刺執行規劃的原則是見機行事,逐步明確任務規劃,這個活動是一個持續性的,貫穿整個衝刺執行過程。
blog


02 管理

衝刺執行管理是保證爲達成衝刺目標而進行的管理活動。開發團隊的特色決定了管理風格。衝刺執行管理具體來講要解決如下幾個問題:排序


  • 應該並行幾個工做項?並行太多的工做項,團隊成員會在不一樣工做項中切換,形成浪費;並行的工做項太少也會形成資源閒置浪費,適量的並行數量,力求充分利用團隊的生產能力,而又不至於過於繁重,達到合理的平衡,這須要每一個團隊根據自身的能力和特色來實踐和探索。
    圖片



  • 從哪一個工做項開始?最簡單的方法應該是按優先級的排序從高到低依次進行,可是在具體執行過程當中可能會碰到各類問題致使優先級高的工做項暫時沒法開始,這種狀況下也能夠開始次高優先級的工做。



  • 由誰來作?最明顯的答案是由那個能完成得最好最快的人去作。可是每一個團隊有本身的考慮因素,好比最合適的人可能在忙於其餘的工做抽不開身,或者他可能正在休假中,甚至從團隊發展的角度考慮,能夠給其餘成員鍛鍊機會,以達到團隊成員在各項技能上的重疊,互爲補充。



  • 每日例會是一個關鍵的每日檢視-調整活動,時間控制在15分鐘之內,主要目的是檢視、調整和同步每日工做計劃,幫助團隊把工做作得更好。


03 執行

進行Scrum敏捷軟件開發,團隊成員須要熟練一些應用軟件開發技術實踐,好比持續集成、自動化測試、重構、測試驅動開發等,這些技術實踐會給開發團隊提出較高的要求,在短時間內會對開發團隊形成進度或其餘方面的壓力,可是長期來看,只有積極運用這些良好的技術實踐,才能切實體驗到敏捷的好處。


04 溝通

敏捷團隊通常是足夠小的團隊,小團隊成員的溝通不須要複雜的圖表和報告來溝通工做進展,推薦使用如下方法和工具:


任務板:顯示衝刺清單隨時間的任務狀態.


衝刺燃盡圖:顯示未完成任務的剩餘工做量曲線。


衝刺燃燒圖:顯示達成衝刺目標過程當中所完成的工做量曲線。



衝刺評審

衝刺評審過沖關注的重點是產品,即關注的是結果,對衝刺執行期間完成的工做成果進行檢視,參與的人員包括Scrum團隊、內部利益干係人和外部利益干係人等。評審開始前的一項重要準備工做是確認衝刺工做完成,這項工做是由產品負責人來作,他最終確認衝刺清單中的工做項是否完成,確認的時機不是等到評審前最後一刻,能夠衝刺執行過程當中儘早確認,這樣會及早發現問題,贏得補救的時間。


衝刺評審過程當中採用的方法包括:


01 總結

一般由產品負責人對本次衝刺的工做進行歸納性說明,並展現衝刺目標和衝刺清單,說明完成的產品增量的基本狀況。


02 演示

由開發團隊成員演示已完成的系統功能,對於不那麼容易演示的功能(好比後臺運行的程序)至少要提供一些測試程序來證實已完成的工做知足產品負責人的要求。須要注意的演示自己不是目的,演示的目的是激發團隊成員的思惟碰撞,提出更有建設性的建議和反饋。


03 討論

產品增量演示引導參與者就產品功能或目標等方面進行評論、創建和適當的討論,如須要更深刻的問題方案的討論,應該另外進行會議獨立進行。


04 調整

經過演示和討論,會產生一些變動或新增的需求,這些變動和需求會對產品清單和下階段的衝刺清單帶來調整,經過梳理以後,在每次衝刺結束的時候會獲得更新後的產品清單,能夠在接下來的衝刺中及時響應變化。



衝刺回顧

衝刺回顧關注的是產品構建過程自己,即關注的是過程。團隊一塊兒回顧衝刺過程當中發生的事情,分析本身的工做方式,找出可能存在的問題點,提出改進方案和制定改進計劃。每次進行衝刺回顧前,能夠先定義回顧的重點內容,以避免過於分散。在回顧會議中,須要確保營造「對事不對人」的氛圍,回顧的目的在於改進過程,而非指責某我的員。回顧結束時,讓團隊成員跟進並落實改進措施,使得團隊在下階段的衝刺中更加高效。



總結

衝刺包括了整個產品或項目開發和管理中的多數的時間和活動,是產品功能實現的主要環節。本文嘗試從衝刺規劃、衝刺執行、衝刺評審和衝刺回顧四個過程的角度,全方位探討了衝刺涉及的全部活動和工做內容,但願能夠對敏捷團隊在衝刺過程的執行中有所啓發和幫助。


做者:李灝 


其餘優質文章

疫情影響下,嘉爲藍鯨如何助力企業IT運維?

Linux | 文件的時間屬性

企業如何規劃DevOps落地與演進?

ZooKeeper | 安裝部署、應用場景、開發對接API

【銀行運維】落地平臺化管理,大步邁向銀行4.0

相關文章
相關標籤/搜索