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?
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:
- 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:
- 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.
- 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.
- 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.
- 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).
- 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.
- 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.
- 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).
- 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