Scrum là gì? Tổng quát về mô hình Scrum

Scrum là một thuật ngữ thường thấy khi tìm hiểu về ngành lập trình phần mềm. Nếu đang thắc mắc không biết Scrum là gì, Got It sẽ giải thích giúp bạn qua bài viết này. Nếu không thì bạn có thể xem bài viết này như những kiến thức mới dành cho bản thân nhé!

Scrum là gì? 

Scrum là một phương pháp Agile (phát triển phần mềm linh hoạt) dựa trên cơ chế lặp và tăng trưởng. Scrum được thiết kế để hỗ trợ việc phát triển, cung cấp và cải tiến các sản phẩm phức tạp. Với Scrum, sản phẩm được xây dựng trong một chuỗi các quy trình lặp lại, có tên là vòng sprint. Qua đó, bạn có thể liên tục cải tiến sản phẩm, kỹ thuật, team (nhóm) và môi trường làm việc. Cũng nhờ vậy mà bạn có thể cung cấp giá trị cho khách hàng trong suốt quá trình phát triển.

> Đọc thêm: Agile và Scrum: giống hay khác nhau?

Đơn vị chủ chốt của mô hình Scrum là một team nhỏ gồm nhiều người, được gọi là Scrum team.

Trong một Scrum team sẽ luôn có một Scrum Master (SM – người am hiểu về Scrum và giúp quản lý dự án), một Product Owner (PO- “chủ” sản phẩm) và nhiều Developer (dev) khác. Tuy vậy, một team áp dụng Scrum sẽ không hề có sự phân cấp hay tách thành những nhóm nhỏ.

Thông thường thì một Scrum team có từ 5-10 thành viên sẽ được xem là đã “vừa đủ để xài”. Đủ nhỏ để team luôn nhanh nhẹn và đủ lớn để team có thể hoàn thành những việc phức tạp.

> Tìm hiểu thêm: Scrum Master là gì? Scrum Master có vai trò gì?

Tổng quát về mô hình Scrum

Ba nguyên lý của mô hình Scrum 

Ngoài khái niệm Scrum là gì, các bạn cũng cần nắm rõ nguyên lý hoạt động của phương pháp này. Ba nguyên lý nòng cốt đó chính là:

  • Transparency (sự minh bạch): các artifact (tạo phẩm hoặc tài liệu) phải được tường minh với các bên liên quan.
  • Inspection (sự thanh tra): bạn cần phải kiểm tra thường xuyên, đều đặn các artifact và tiến độ công việc.
  • Adaptation (sự thích nghi): nếu xảy ra vấn đề nghiêm trọng thì phải điều chỉnh quy trình hoặc các artifact.

Năm giá trị của mô hình Scrum

Áp dụng thành công mô hình Scrum giúp các bên liên quan gia tăng năm giá trị sau:

Một mô hình Scrum thành công sẽ mang lại nhiều giá trị cho dự án và khách hàng
  • Commitment (sự cam kết): để đạt được mục tiêu đã đề ra thì mọi người phải nỗ lực hết mình.
  • Focus (sự tập trung): mọi người phải tập trung hoàn toàn vào dự án để đạt tiến độ tốt nhất.
  • Openness (sự cởi mở): Scrum chỉ hoạt động khi mọi người cởi mở với nhau về thông tin, công việc.
  • Respect (sự tôn trọng): các bên liên quan cần phải hợp tác dựa trên nguyên tắc tôn trọng lẫn nhau.
  • Courage (sự can đảm): phải có can đảm để làm điều đúng đắn và giải quyết vấn đề khó khăn.

Ba artifact chính của Scrum

Tất cả công việc, giá trị của Scrum đều được thể hiện qua ba artifact (có nghĩa là tạo tác – những thứ được tạo ra để phục vụ cho mô hình Scrum). Qua các artifact này, bạn có thể tối đa hóa transparency cũng như tạo cơ hội cho inspection và adaptation.

  • Product backlog: danh sách có thứ tự và luôn tiến triển về những gì cần để cải tiến sản phẩm. Ngoài ra, product backlog còn bao gồm những mục tiêu sản phẩm dài hạn mà Scrum team cần đáp ứng.
    • Bị ràng buộc bởi product goal (mục tiêu sản phẩm): miêu tả về trạng thái tương lai của sản phẩm.
  • Sprint backlog: gồm mục tiêu vòng sprint, các hạng mục product backlog cho vòng sprint và cách tạo gói tăng trưởng. Nói cách khác, nó gồm các hạng mục cần thiết cùng lý do và cách thức để đạt được chúng.
    • Bị ràng buộc bởi sprint goal (mục tiêu vòng sprint): mục tiêu duy nhất cần phải đạt được sau vòng sprint.
  • Increment (gói tăng trưởng): tổng hợp các hạng mục product backlog đã hoàn thành cho đến vòng sprint hiện tại. Vào cuối mỗi vòng sprint, các increment mới và đã “hoàn thành” sẽ được thêm vào bộ tổng hợp này.
    • Bị ràng buộc bởi definition of done (định nghĩa hoàn thành): định nghĩa chính thức về trạng thái “hoàn thành”.

Quy trình diễn ra Scrum

Quy trình Scrum là gì và gồm mấy bước? Nhìn chung thì mô hình Scrum sẽ có những sự kiện và quy trình diễn ra như sau:

  1. PO sẽ tiến hành xây dựng product backlog sau khi đã trao đổi với phía chủ đầu tư dự án.
  2. Mọi người sẽ tổ chức một buổi họp sprint planning (lập kế hoạch vòng sprint) để xây dựng sprint backlog.
  3. Dưới sự chỉ dẫn của SM, các dev sẽ thực hiện các yêu cầu của PO trong các vòng sprint.
  4. Trong lúc này, team phải điều chỉnh sprint backlog và tổ chức các daily Scrum (buổi họp Scrum hằng ngày).
  5. Khi đã thực hiện các hạng mục product backlog hiện tại, các dev sẽ chuyển giao các increment đã đạt.
  6. Sau khi đã chuyển giao increment, một buổi họp sprint review (buổi sơ kết vòng sprint) sẽ được tổ chức.
  7. Kết thúc vòng sprint hiện tại, SM sẽ tổ chức một buổi họp sprint retrospective (buổi tổng kết vòng sprint).
  8. Tiếp tục các vòng sprint mới cho đến khi không còn hạng mục product backlog hoặc PO dừng dự án.

1. Vòng sprint

Có thể nói, các vòng sprint giống như “nhịp tim” của Scrum, là nơi biến ý tưởng thành giá trị. Các vòng sprint có độ dài tối đa khoảng một tháng và nhất quán trong suốt quá trình phát triển. Một vòng sprint mới sẽ được bắt đầu tiến hành ngay sau khi vòng sprint trước đó đã kết thúc. Các buổi họp sprint planning, daily Scrum, sprint review và sprint retrospective đều được diễn ra trong các vòng sprint. Một vòng sprint có thể bị huỷ nếu sprint goal đã lỗi thời nhưng chỉ PO được hủy vòng sprint.

2. Sprint planning

Đây là buổi họp mở đầu của vòng sprint, có giới hạn 8 tiếng cho vòng sprint dài một tháng. Tất cả công việc của một vòng sprint sẽ được lên kế hoạch cụ thể trong buổi họp sprint planning. Trong sprint planning, các bên liên quan sẽ phân tích và trả lời lần lượt những câu hỏi dưới đây:

  • Tại sao vòng sprint này lại tạo ra giá trị? (Mục tiêu của vòng sprint này sẽ gồm những gì?)
  • Có thể hoàn thành điều gì trong vòng sprint này? (Vòng sprint này sẽ phải chuyển giao những điều gì?)
  • Làm thế nào để hoàn thành những việc đã chọn? (Làm sao để đạt được những điều chuyển giao đó?)

3. Daily Scrum

Các buổi họp daily Scrum thường kéo dài 15 phút dành cho các developer (nhà phát triển) của Scrum team. Vào mỗi ngày của vòng sprint, một daily Scrum sẽ được tổ chức vào cùng thời gian và địa điểm. Mục đích là để kiểm tra tiến độ hoàn thành sprint goal và điều chỉnh sprint backlog nếu cần thiết. Ngoài ra, các buổi daily Scrum còn phải đưa ra được kế hoạch làm việc cho 24 giờ tiếp theo.

4. Sprint review

Sprint review là buổi họp kế cuối của vòng sprint với giới hạn thời gian là 4 tiếng cho vòng sprint dài một tháng. Mục đích là kiểm tra kết quả vòng sprint và xác định những thích ứng cần thiết trong tương lai. Kết quả của sprint review là product backlog đã cập nhật cùng những công việc ở vòng sprint tiếp theo.

5. Sprint retrospective

Và cuối cùng là sprint retrospective, có nghĩa là buổi họp cuối cùng của vòng sprint, giới hạn 3 tiếng cho vòng sprint dài một tháng.Với những vòng sprint có thời hạn ngắn hơn thì buổi họp sprint retrospective cũng sẽ diễn ra ngắn hơn. Mục đích là để tổng duyệt và lập ra kế hoạch gồm những cách tăng chất lượng và hiệu quả. Mục tiêu là xác định được những cải tiến hữu hiệu nhất để triển khai ở vòng sprint tiếp theo.

Mong rằng bài viết này sẽ giúp các bạn có thể hiểu hơn về mô hình Scrum. Ngoài khái niệm Scrum là gì, các bạn cũng nên tìm hiểu thêm các phương pháp Agile khác để có thể đưa ra lựa chọn tốt nhất do dự án của mình bạn nhé!

> Đọc thêm: So sánh các mô hình phát triển phần mềm Thác nước và Scrum

Theo scrumguides & digite

Nếu bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và đọc thêm về quy trình tuyển dụng tại đây.

https://d1iv5z3ivlqga1.cloudfront.net/wp-content/uploads/2021/04/29235048/1_QAG9RXQyyMAY7i9OYo84FA.png
Got It Vietnam
February 06, 2021
Share this post to:
Tags:
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback
Scrum Master là gì? Scrum Master có vai trò gì? - Blog | Got It AI
2 years ago

[…] > Scrum là gì? Tổng quát về mô hình Scrum […]

trackback
So sánh các mô hình phát triển phần mềm Thác nước và Scrum
2 years ago

[…] > Tìm hiểu chi tiết: Scrum là gì? Tổng quát về mô hình Scrum […]

Các bài viết liên quan
Scrum Master là gì? Scrum Master có vai trò gì?

Scrum Master là gì? Scrum Master có vai trò gì?

Trong một dự án, Scrum Master có vai trò vô cùng quan trọng đối với tiến độ cũng như chất lượng của sản phẩm. Vậy Scrum Master là gì? Họ đóng vai trò thế nào trong một dự án? Hãy cùng Got It Vietnam tìm hiểu trong bài viết ngày hôm nay nhé! Mục lụcScrum […]
Scrum là gì? Tổng quát về mô hình Scrum

Scrum là gì? Tổng quát về mô hình Scrum

Scrum là một thuật ngữ thường thấy khi tìm hiểu về ngành lập trình phần mềm. Nếu đang thắc mắc không biết Scrum là gì, Got It sẽ giải thích giúp bạn qua bài viết này. Nếu không thì bạn có thể xem bài viết này như những kiến thức mới dành cho bản thân […]
So sánh các mô hình phát triển phần mềm Thác nước và Scrum

So sánh các mô hình phát triển phần mềm Thác nước và Scrum

Hai trong số các mô hình phát triển phần mềm được dùng rộng rãi nhất là mô hình Thác nước và Scrum. Cùng so sánh các mô hình phát triển phần mềm này để xem chúng có những đặc điểm gì, ưu nhược điểm và ứng dụng thế nào vào từng loại dự án. Mục […]
Product Backlog là gì? Đặc điểm cơ bản của một Product Backlog

Product Backlog là gì? Đặc điểm cơ bản của một Product Backlog

Đối với các nhóm phát triển phần mềm, Product Backlog đóng một vai trò rất quan trọng. Vậy Product Backlog là gì? Bài viết dưới đây, Got It sẽ giúp các bạn hiểu rõ Product Backlog là gì và đặc điểm cơ bản của Product Backlog. Hãy cùng Got It khám phá ngay nhé! Mục […]
Sprint Backlog là gì? Vai trò của Sprint Backlog trong Scrum

Sprint Backlog là gì? Vai trò của Sprint Backlog trong Scrum

Sprint Backlog được biết đến là một yếu tố quan trọng giúp nhóm Scrum có thể hiện thực hóa mục tiêu Sprint. Vậy Sprint Backlog là gì? Nó có vai trò như thế nào trong Scrum? Hãy cùng Got It tìm hiểu trong ngay bây giờ nhé! Mục lụcSprint Backlog là gì?Vai trò của Sprint […]
Agile và Scrum: giống hay khác nhau?

Agile và Scrum: giống hay khác nhau?

Trong giới lập trình nói chung, không ai là không biết hoặc đã từng nghe qua về Agile và Scrum. Tuy nhiên, cũng không hiếm có những người vẫn còn lẫn lộn, không biết phân biệt giữa Agile và Scrum. Vậy hãy cùng Got It tìm hiểu xem 2 thuật ngữ này khác biệt hay […]