Scrum là gì?

Scrum là một framework (khung làm việc) thuộc phương pháp Agile, giúp các nhóm phát triển phần mềm tổ chức và quản lý công việc theo từng giai đoạn ngắn gọi là Sprint (thường kéo dài từ 1 đến 4 tuần).

Nhiều người thường có sự nhầm lẫn về Scrum và Agile, và cho rằng chúng là cùng 1 loại, điều đấy 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ó rất nhiều Framework khác cũng có thể dùng để thực thi Agile như Kanban chẳng hạn. Nếu như Agile là cái vỏ bọc lớn ở bên ngoài, bao gồm những giá trị cốt lõi và các nguyên tắc để triển khai thì Scrum chính là quy trình để hiện thực hóa và triển khai các giá trị và nguyên tắc đó

Ba trụ cột của Scrum

Đây chính là phần lõi của khung làm việc Scrum, thiếu bất cứ trụ cột nào trong số này đều khiến khung Scrum không còn hoạt động đúng nữa.

  • Minh bạch (transparency): Đầu tiên, thông tin liên quan tới quá trình phát triển phải minh bạch và thông suốt. Các thông tin đó có thể là: tầm nhìn (vision) về sản phẩm, yêu cầu khách hàng, tiến độ công việc, các khúc mắc rào cản,… Từ đó mọi người ở các vai trò khác nhau có đủ thông tin cần thiết để tiến hành các quyết định có giá trị nhằm nâng cao hiệu quả công việc. Các công cụ và cuộc họp trong Scrum luôn đảm bảo thông tin được minh bạch cho các bên.
  • Thanh tra (inspection): Công tác thanh tra liên tục các hoạt động trong Scrum đảm bảo cho việc phát lộ các vấn đề cũng như giải pháp để thông tin đa dạng và hữu ích đến được với các bên tham gia quá trình phát triển. Truy xét kỹ càng và liên tục là cơ chế khởi đầu cho việc thích nghi và các cải tiến liên tục trong Scrum.
  • Thích nghi (adaptation): Dựa trên các thông tin minh bạch hóa từ các quá trình thanh gia và làm việc, Scrum có thể phản hồi các thay đổi một cách tích cực, nhờ đó mang lại thành công cho sản phẩm. Các nỗ lực minh bạch và thanh tra đều hướng tới hành động thích ứng nhanh chóng và hiệu quả.

Ví dụ về Quy trình Scrum

  • Dự án: Phát triển ứng dụng thương mại điện tử.
  • Product Owner: Định nghĩa các tính năng như tìm kiếm sản phẩm, giỏ hàng, thanh toán.
  • Scrum Master: Đảm bảo nhóm tuân thủ quy trình Scrum.
  • Development Team: Phát triển các tính năng theo Sprint.

Sprint 1: Tìm kiếm sản phẩm

  • Tính năng tìm kiếm sản phẩm được phát triển và hoàn thành.
  • Cuối Sprint, tính năng được trình bày cho khách hàng.

Sprint 2: Thêm sản phẩm vào giỏ hàng

  • Phát triển tính năng giỏ hàng và trình bày cho khách hàng.

Sprint 3: Thanh toán

  • Phát triển tính năng thanh toán, hoàn thiện sản phẩm.

Ưu điểm của Scrum

  • Thích nghi với thay đổi nhanh chóng: Dễ dàng cập nhật yêu cầu mới.
  • Minh bạch: Khách hàng và nhóm phát triển có thể theo dõi tiến độ.
  • Cải tiến liên tục: Các buổi Sprint Retrospective giúp nhóm luôn cải thiện

Nhược điểm của Scrum

  • Phụ thuộc vào Product Owner: Nếu Product Owner không rõ ràng, nhóm sẽ mất phương hướng.
  • Dễ bị trì hoãn nếu không có kỷ luật: Đặc biệt trong các buổi họp.
  • Không phù hợp với nhóm không tự tổ chức: Scrum yêu cầu nhóm phải chủ động.

About the Author

Ngọc Tri

View all author's posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Bài viết khác

So sánh giữa gorm vs go-pg vs bun

Trong thế giới phát triển Golang, việc tương tác với cơ sở dữ liệu là một phần không thể thiếu của hầu hết các ứng dụng. Để đơn giản hóa quy trình này, các thư viện ORM (Object-Relational Mapping) ra đời, giúp các nhà phát triển thao tác với database thông qua các đối tượng […]

So sánh GORM vs go-pg vs Bun

Cộng đồng GORM Là ORM phổ biến nhất trong cộng đồng Go. Có nhiều tài liệu, ví dụ, StackOverflow câu trả lời, và nhiều package hỗ trợ mở rộng. Nhiều developer đã từng dùng Gorm. go-pg Từng rất phổ biến khi chỉ dùng PostgreSQL, nhưng đang bị Bun thay thế dần. Ít được duy trì […]

clean architecture golang

  1.Clean Architecture là gì? Clean Architecture là một kiến trúc phần mềm được đề xuất bởi Robert C. Martin (Uncle Bob) nhằm mục tiêu tách biệt rõ ràng giữa các tầng trong ứng dụng, giúp mã nguồn dễ bảo trì, mở rộng, và kiểm thử. 2.Tổng quan kiến trúc Entity (Domain Model): Là tầng […]

Tìm hiểu Hexagonal Architecture

Hexagonal Architecture là gì? Hexagonal Architecture (tên gọi khác là ports and adapters architecture), là một mẫu kiến trúc được dùng trong thiết kế phần mềm. Nó hướng tới việc xây dựng ứng dụng xoay quanh business/application logic mà không ảnh hưởng hoặc phụ thuộc bởi bất kì thành phần bên ngoài, mà chỉ giao […]

Sử dụng Request/Response trong ứng dụng RESTful mô hình MVC

DTO là gì? DTO (Data Transfer Object) là một object trung gian dùng để truyền dữ liệu giữa client – server hoặc giữa các service trong ứng dụng web/API theo kiến trúc RESTful API. DTO chỉ chứa các thông tin cần thiết mà client hoặc service khác cần (ví dụ: Login Form chỉ cần thông […]

Docker

Docker là gì? Docker là một nền tảng mã nguồn mở cho phép bạn đóng gói, phân phối và chạy ứng dụng bên trong các “container” – những môi trường ảo nhẹ, cô lập nhưng vẫn chia sẻ nhân hệ điều hành của máy chủ. Khái niệm then chốt ở đây là “containerization”: thay vì […]