Scrum model là gì

Có rất nhiều phương thức phát triển phần mềm theo quy chuẩn và một trong số đó là phương phúc phát triển phần mềm theo mô hình Scrum. Vậy cùng DiziBrand tùm hiểu Scrum là gì, vai trò của Scrum như thế nào trong quá trình phát triển phần mềm.

Scrum model là gì

Bài viết trước mình có giới thiệu về mô hình phát triển của Agile ở link sau:https://dizibrand.com/agile, nhiều người có sự nhầm lẫn về Scrum và Agile, và cho rằng chúng là cùng 1 loại nhưng điều đó là không đúng. Thưc tế Scrum là một trong những Framework phổ biến nhất dùng để thực thi Agile, Và cũng có nhiều Framework khác cũng có thể dùng để thực thi Agile như Kanban chẳng hạn. Tuy nhiên Scrum vẫn được sử dụng nhiều.

Scrum là gì?

Scrum là một Framework về quy trình và quản lý giúp giải quyết các vấn đề phức tạp nhưng vẫn đảm bảo tính hiệu quả, sáng tạo và sản phẩm được tạo ra phải đạt được giá trị cao nhất. Bản thân Scrum là một Framework đơn giản nhằm giúp việc phối hợp hiệu quả nhất giữa các thành viên trong đội phát triển khi thực hiện những sản phẩm phức tạp. Với Scrum, sản phẩm được xay dựng trên 1 chuỗi các quy trình lặp đi lặp lại (Sprint). Các Sprint diễn ra điều đặn, mỗi một Sprint là cơ hội để học hỏi điều chỉnh nhằm đạt được sự phù hợp và kết quả tốt nhất.

Scrum model là gì

Giá bánMiễn phí
Chủ đềĐa phương tiện
Bảo mật★★★★ ☆
Quyền riêng tư★★★★ ☆
Phổ biến★★★★ ★
Hệ điều hànhiOS, Android, Windows

Ba giá trị cốt lõi của Scrum

Scrum model là gì

Minh bạch

Muốn áp dụng thành công Scrum, các thông tin liên quan đến quá trình phải minh bạch và thông suốt. Các thông tin có thể là tầm nhìn của sản phẩm, yêu cầu của khách hàng, tiến độ công việc và các rào cản khác.

Từ đó mọi thành viên ở vai trò khác nhau có đầy đủ thông tin cần có để tiến hành quyết định trong việc nâng cao hiệu quả công việc.

Thanh tra

Phải thường xuyên thanh tra các hoạt động trong Scrum và tiến độ đến đích để phát hiện các bất thường không theo ý muốn. Tần suất thanh tra không nên quá dày để khỏi ảnh hưởng đên công việc. Công tác thanh tra khi được thực hiện bởi người có kĩ năng tại các điểm quan trọng của công việc sẽ giúp cải tiến liên tục trong Scrum.

Thích nghi

Scrum mang lợi thế là tính linh hoạt rất cao, nhờ đó mang lại tính thích nghi cao. Dựa vào thông tin liên tục và minh bạch từ quá trình thanh tra và làm việc, Scrum có thể cho lại các thay đổi tích cực, nhờ đó mang lại thành công cho dự án.

Các khái niệm cơ bản Scrum

Scrum model là gì

Scrum Team

Scrum Team chia làm 3 vai trò bao gồm những thành phần sau:

  • Product Owner: Nhiệm vụ của Product Owner là đảm bảo việc quản lý những công việc tồn đọng (Product backlog) của việc phát triển sản phẩm phầm mềm. Product Owner phải liên tục cập nhật thông tin cho các thành viên trong team để họ hiểu về yêu cầu hay các tính năng cần có của sản phẩm ngay cả khi họ không trực tiếp phát triển tính năng đó.
  • Development Team: Những lập trình viên sẽ tham gia vào việc phát triển từng tính năng cụ thể. Các lập trình viên này có thể sẽ có kỹ năng khác nhau và một số giỏi về những kỹ năng nhất định. Tuy nhiên khi sử dụng Scrum thì tất cả các thành viên của Development Team yêu cầu phải có khả năng làm việc thay thế vị trí của nhau và không ai chỉ chịu trách nhiệm phát triển một ( hoặc một số ) tính năng nhất định.
  • Scrum Master: Sẽ chịu trách nhiệm cho việc lên kế hoạch để phân công công việc, sắp xếp thứ tự ưu tiên giải quyết những công việc tồn đọng nào có trong Backlog trước, tổ chức các buổi họp với Product Owner để theo dõi tình hình và nắm thông tin cần thiết.

Sprint

Scrum model là gì

Sprint là một phân đoạn lặp đi lặp lại trong quy trình phát triển phần mềm, có khung thời gian thường là 1 tháng ( từ 1 đến 4 tuần ) mà theo đó sản phẩm sẽ được Release phiên bản mới. Khi mộ Sprint kết thúc thì Scrum Master cần phải chuyển trạng thái của nó sang Done.

Khi bắt đầu một Sprint thì Scrum Master cần đưa ra mục tiêu của Sprint đó và mục tiêu này không được phép thay đổi cho tới khi Sprint hoàn thành. Tuy nhiên, Product Owner vẫn có quyền hủy một Sprint trước thời hạn kết thúc của nó.

Mặc dù để làm điều này thì Product Owner cần sự đồng thuận của Development Team cũng như Scrum Master. Sau khi một Sprint kết thúc thì các bên sẽ dựa trên kết quả của Sprint đó để lên kế hoạch cho Sprint tiếp theo.

Notepad++ là gì? Các tính năng của Notepad++

WordPress là gì? Những đặc điểm của WordPress

Ngôn ngữ Ruby là gì? Ứng dụng của ngôn ngữ Ruby

SQL là gì? Những điều cần biết về SQL

Sprint Planning

Scrum model là gì

Đây là bước đầu tiên cần phải thực hiện trước khi một Sprint bắt đầu. Development Team họp với Product Owner để lên kế hoạc cho một Sprint. Những công việc nào cần phải được hoàn thành trong Sprint này và làm sao để có thể hoàn thành những công việc này.

Sau khi thống nhất được số lượng công việc, thời gian hoàn thành thì chúng ra có thể bắt đầu một Sprint. Trong khi thực hiện một Sprint chúng ta sẽ phải có những buổi họp được gọi là Daily Sprint hay Daily Meeting.

Daily Sprint

Các buổi họp Daily Sprint thường kéo dài khoảng 15 phút, trong buổi họp này tất các thành viên sẽ lần lượt báo cáo lại:

  • Những gì họ đã làm được này hôm qua.
  • Những gì họ cần làm ngày hôn nay.
  • Những khó khăn mà họ gặp phải.

Mỗi buổi họp này sẽ giúp việc dự kiến được kế hoạch đưa ra trong Sprint đang làm sẽ tiến triển ra sao và liệu có cần phải cập nhật lại bản kế hoạch đã đưa ra hay không. Tất nhiên cần nhớ rằng việc thay đổi kế hoạch này không bao gồm thay đổi mục tiêu đã đưa ra của Sprint.

Sprint Review

Là công việc được thực hiện bởi nhóm phát triển và Product Owner ở cuối mỗi Sprint nhằm đánh giá lại kết quả thực hiện được. Từ lúc Sprint mới hoàn thành và qua đó đưa ra những chỉnh sửa và thay đổi cần thiết ở Sprint sau.

Sprint Restrospective

Dưới sự hỗ trợ của Scrum Master, team phát triển sẽ tổng kết những kiến nghị và đánh giá từ bước Sprint Review ở trên để đưa ra những cải tiến nhằm nâng cao hiệu quả làm việc cũng như sản phẩm.

Các công cụ (Arifacts) Scrum

Product Backlog

Đây là danh sách ưu tiên các tính năng (feature) hoặc đầu ra khác của dự án. Có thể hiểu như là danh sách yêu cầu (requirement) của dự án.

Product Owner chịu trách nhiệm sắp xếp độ ưu tiên cho từng hạng mục (Product Backlog Item) trong Product Backlog dựa trên các giá trị Product Owner định nghĩa ( thường là giá trị thương mại – Business Value).

Sprint Backlog

Đay là bản kế hoạch cho một Sprint, là kết quả của buổi họp lập kế hoạch (Sprint Planning). Với sự kết hợp của Product Owner, nhóm sẽ phân tích các yêu cầu theo độ ưu tiên từ cao xuống thấp để thực hiện hóa các hạng mục trong Product Backlog dưới dạnh danh sạch công việc (Todo List).

Burndown Chart

Đây là biểu đồ hiển thị xu hướng của dự án dựa trên lượng thời gian cần thiết còn lại để hoàn tất công việc. Burndown Chart có thể dùng để theo dõi tiến độ của Sprint (được gọi là Sprint Burndown Chart) hoặc của cả dự án (Project Burndown Chart).

Sử dụng chiến thuật “Có giá trị hơn làm trước” nên các hạng mục mang lại nhiều giá trị hơn cho chủ dự án luôn được hoàn tất trước. Do đó, Scrum luôn mang lại giá trị cao nhất cho người đầu tư cho dự án. Do quy trình luôn luôn được cải tiến, nhóm Scrum thường có năng suất lao động rất cao. Đây là hai lợi ích to lớn mà Scrum mang lại cho tổ chức.

Những câu hỏi thường gặp

DiziBrand chia sẻ những lý do tại sao nên dùng:Scrum cho phép việc tự do triển khai. Scrum dễ học và dễ sử dụng.Scrum chấp nhận sự thay đổi.Scrum làm giảm rủi ro khi xây dựng sản phẩm.Scrum tối ưu hóa hiệu quả và nỗ lực của đội phát triển.Scrum cho phép khách hàng sử dụng sản phẩm sớm hơn.

Scrum cải tiến liên tục.