關于Scrum敏捷開發(fā),只看這一篇就夠了!(scrum敏捷開發(fā)是什么)
Scrum是什么?如果你是軟件開發(fā)領域資深“程序猿”,一定對這一概念非常熟悉!
Scrum是一種迭代式增量開發(fā)過程,通常用于敏捷開發(fā)。Scrum大概誕生于1990~1995年之間,由美國軟件類資深專家Jeff Sutherland和Ken Schwaber聯(lián)合提出。發(fā)展到今天,Scrum敏捷開發(fā)框架已經相當成熟,在軟件的實際開發(fā)過程中起著非常重要的作用。
Scrum敏捷開發(fā)為什么重要?
Scrum英文翻譯過來是橄欖球里的“爭球”的意思,Scrum是一個框架,基于這一框架模型,人們可以采用適合自己的方法解決復雜問題,同時幫助幫助開發(fā)團隊實現(xiàn)價值最大化,比如提高成產能力,加大團隊的創(chuàng)造力等等。隨著Scrum的深化發(fā)展,它不只是用來管理項目開發(fā),還被用于運維團隊的維護,以及企業(yè)的計劃管理。
Scrum的代名詞是“簡單”、“輕量級”、“對復雜工作的把控”。在Scrum框架中,開發(fā)人員可以設計復雜項目的管理流程,包括產品規(guī)劃管理、軟件開發(fā)預期結果等。并且,我們還可以對和所有過程相關的要素進行持續(xù)改進,包括產品、團隊和工作環(huán)境等。Scrum框架主要包括四個部分,即角色、事件、工件和規(guī)則,每一個組件都為Scrum最終目標服務。從最初為管理者和產品負責人而設計,到后來被用于全球范圍內的市場、技術和產品研發(fā)。今天,Scrum框架已經被應用于更廣泛的領域,包括各類軟件產品開發(fā)、產品發(fā)布以及云產品(包括公有云、私有云、混合云)的構建等。
從具體的應用場景看,Scrum被用于軟件、硬件開發(fā),無人車的自動駕駛,學校、政府里面的市場營銷、運營,以及個人在社會生活中的日常行為規(guī)劃等。
如何把Scrum敏捷方法付諸于實踐?
盡管,IT技術正在快速迭代,市場上也出現(xiàn)了各種各樣的新理念,但是Scrum一直是眾多企業(yè)最理想選擇。Scrum屬于漸進式、迭代式,開發(fā)人員可逐步優(yōu)化預期目標,并且能控制風險。借助過往經驗,對過程進行控制,是Scrum一直被高度認可的最根本原因。
至于,何時用Scrum?不同的公司會有不同的選擇。大體來看,開發(fā)團隊最佳規(guī)模是小到足以保持敏捷性,大到足以完成重要工作,這樣的團隊基本是6-10人的團隊。并且,整個團隊已經有了一定的經驗沉淀。另外,團隊成員中要有一個Scrum master,作為整個團隊的組織者和管理者,他是Team Leader和Product owner的粘合劑,可以及時地為團隊成員提供幫助。
如何對整個過程進行控制?Scrum 采用迭代、增量的方法來優(yōu)化可預見性并控制風險。
具體而言,主要通過三大支柱支撐起每個過程控制的實現(xiàn):
1、透明性:透明度是指,在軟件開發(fā)過程的各個環(huán)節(jié)保持高度的可見性,所有參與人員都保持共同的過程認知。也就是說,當某個人在檢驗一個過程,并確信某一個任務已經完成時,這個完成必須讓所有人對已完成過程同步知曉。
2、檢驗:整個團隊必須不斷檢查Scrum工件,并朝著sprint沖刺目標前進,用以識別重大偏差。這一過程應于熟悉整個流程的人來執(zhí)行。
3、適應:如果檢驗人員檢驗的時候發(fā)現(xiàn)過程中的一個或多個方面不滿足驗收標準,并且最終產品是不合格的,那么便需要對過程或是材料進行調整。調整工作必須盡快實施,以減少進一步的偏差。
上述所有檢查和調整可通過Sprint計劃、每日例會、Sprint沖刺評審、Sprint沖刺回顧來實現(xiàn)。
Scrum的核心價值觀是:承諾、勇氣、集中注意力、開放和尊重。整個團隊由產品負責人、開發(fā)團隊和管理員組成。團隊成員可以是自行組織,也可以跨職能、跨部門。這種團隊組成形式為項目開發(fā)提供了更大的靈活性和便利性。自行組織的團隊可以避免不了解項目的人來領導,而跨職能、跨部門的組織架構,每個人都是團隊中最重要成員,更能體現(xiàn)以項目為核心的理念,大大提高了生產力和創(chuàng)造性。
總之,Scrum 敏捷就是一種不停嘗試、不停調整、不停優(yōu)化的狀態(tài)。它能把復雜的項目拆分成易于實踐的任務,從而持續(xù)高效地幫助項目落地。當然,任何 一個撇開實踐談敏捷的理論都是“耍流氓”,要想讓Scrum發(fā)揮最大價值,還要結合軟件開發(fā)的實際情況,具體問題具體分析。先從一點入手,然后過度到最佳狀態(tài)。