關於Scrum敏捷開發,只看這一篇就夠了!
Scrum是什麼?如果你是軟體開發領域資深“程式猿”,一定對這一概念非常熟悉!
Scrum是一種迭代式增量開發過程,通常用於敏捷開發。Scrum大概誕生於1990~1995年之間,由美國軟體類資深專家Jeff Sutherland和Ken Schwaber聯合提出。發展到今天,Scrum敏捷開發框架已經相當成熟,在軟體的實際開發過程中起著非常重要的作用。
Scrum敏捷開發為什麼重要?
Scrum英文翻譯過來是橄欖球裡的“爭球”的意思,Scrum是一個框架,基於這一框架模型,人們可以採用適合自己的方法解決複雜問題,同時幫助幫助開發團隊實現價值最大化,比如提高成產能力,加大團隊的創造力等等。隨著Scrum的深化發展,它不只是用來管理專案開發,還被用於運維團隊的維護,以及企業的計劃管理。
Scrum的代名詞是“簡單”、“輕量級”、“對複雜工作的把控”。在Scrum框架中,開發人員可以設計複雜專案的管理流程,包括產品規劃管理、軟體開發預期結果等。並且,我們還可以對和所有過程相關的要素進行持續改進,包括產品、團隊和工作環境等。Scrum框架主要包括四個部分,即角色、事件、工件和規則,每一個元件都為Scrum最終目標服務。從最初為管理者和產品負責人而設計,到後來被用於全球範圍內的市場、技術和產品研發。今天,Scrum框架已經被應用於更廣泛的領域,包括各類軟體產品開發、產品釋出以及雲產品(包括公有云、私有云、混合雲)的構建等。
從具體的應用場景看,Scrum被用於軟體、硬體開發,無人車的自動駕駛,學校、政府裡面的市場營銷、運營,以及個人在社會生活中的日常行為規劃等。
如何把Scrum敏捷方法付諸於實踐?
儘管,IT技術正在快速迭代,市場上也出現了各種各樣的新理念,但是Scrum一直是眾多企業最理想選擇。Scrum屬於漸進式、迭代式,開發人員可逐步最佳化預期目標,並且能控制風險。藉助過往經驗,對過程進行控制,是Scrum一直被高度認可的最根本原因。
至於,何時用Scrum?不同的公司會有不同的選擇。大體來看,開發團隊最佳規模是小到足以保持敏捷性,大到足以完成重要工作,這樣的團隊基本是6-10人的團隊。並且,整個團隊已經有了一定的經驗沉澱。另外,團隊成員中要有一個Scrum master,作為整個團隊的組織者和管理者,他是Team Leader和Product owner的粘合劑,可以及時地為團隊成員提供幫助。
如何對整個過程進行控制?Scrum 採用迭代、增量的方法來最佳化可預見性並控制風險。
具體而言,主要透過三大支柱支撐起每個過程控制的實現:
1、透明性:透明度是指,在軟體開發過程的各個環節保持高度的可見性,所有參與人員都保持共同的過程認知。也就是說,當某個人在檢驗一個過程,並確信某一個任務已經完成時,這個完成必須讓所有人對已完成過程同步知曉。
2、檢驗:整個團隊必須不斷檢查Scrum工件,並朝著sprint衝刺目標前進,用以識別重大偏差。這一過程應於熟悉整個流程的人來執行。
3、適應:如果檢驗人員檢驗的時候發現過程中的一個或多個方面不滿足驗收標準,並且最終產品是不合格的,那麼便需要對過程或是材料進行調整。調整工作必須儘快實施,以減少進一步的偏差。
上述所有檢查和調整可透過Sprint計劃、每日例會、Sprint衝刺評審、Sprint衝刺回顧來實現。
Scrum的核心價值觀是:承諾、勇氣、集中注意力、開放和尊重。整個團隊由產品負責人、開發團隊和管理員組成。團隊成員可以是自行組織,也可以跨職能、跨部門。這種團隊組成形式為專案開發提供了更大的靈活性和便利性。自行組織的團隊可以避免不了解專案的人來領導,而跨職能、跨部門的組織架構,每個人都是團隊中最重要成員,更能體現以專案為核心的理念,大大提高了生產力和創造性。
總之,Scrum 敏捷就是一種不停嘗試、不停調整、不停最佳化的狀態。它能把複雜的專案拆分成易於實踐的任務,從而持續高效地幫助專案落地。當然,任何 一個撇開實踐談敏捷的理論都是“耍流氓”,要想讓Scrum發揮最大價值,還要結合軟體開發的實際情況,具體問題具體分析。先從一點入手,然後過度到最佳狀態。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2213471/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於郵件傳送,只看這一篇就夠了!!!
- 關於SwiftUI,看這一篇就夠了SwiftUI
- Android Architecture Components 只看這一篇就夠了Android
- 分散式事務,只看這一篇就夠了分散式
- Android 單元測試只看這一篇就夠了Android
- RxJava2 只看這一篇文章就夠了RxJava
- 關於HBase2.0,看這一篇文章就夠了
- Git 看這一篇就夠了Git
- 索引?看這一篇就夠了!索引
- Transformer 看這一篇就夠了ORM
- 關於MyBatis框架這一篇就夠了MyBatis框架
- 關於流量清洗,看這篇就夠了
- python 操作 mysql 只看這篇就夠了PythonMySql
- Flutter DataTable 看這一篇就夠了Flutter
- Java 集合看這一篇就夠了Java
- 代理模式看這一篇就夠了模式
- 關於GC原理和效能調優實踐,看這一篇就夠了!GC
- 關於Jmeter執行緒組的設定,看這一篇就夠了JMeter執行緒
- Elasticsearch入門,看這一篇就夠了Elasticsearch
- 瞭解 MongoDB 看這一篇就夠了MongoDB
- flex佈局看這一篇就夠了Flex
- ActiveMq 之JMS 看這一篇就夠了MQ
- MySQL入門看這一篇就夠了MySql
- jQuery入門看這一篇就夠了jQuery
- 入門Hbase,看這一篇就夠了
- Spring入門看這一篇就夠了Spring
- Mybatis入門看這一篇就夠了MyBatis
- Python操作MongoDB看這一篇就夠了PythonMongoDB
- Python快速入門,看這一篇就夠了!Python
- 關於MySQL資料庫效能優化方法,看這一篇文章就夠了!MySql資料庫優化
- 關於使用%格式化字串,讀這一篇就夠了。字串
- MySQL,你只需看這一篇文章就夠了!MySql
- 瞭解SSL證書,看這一篇就夠了!!
- Nginx 配置常用引數,看這一篇就夠了Nginx
- SpringBoot寫後端介面,看這一篇就夠了!Spring Boot後端
- 什麼是事件管理?看這一篇就夠了!事件
- IDEA中的Git操作,看這一篇就夠了!IdeaGit
- 約束佈局ConstraintLayout看這一篇就夠了AI