Khái niệm scrum, scrum of scrum.

Khái niệm scrum, scrum of scrum.

1. Giới thiệu

Trong các dự án phần mềm chúng ta sẽ gặp rất nhiều khó khăn trong việc thu thập đầy đủ và chính xác các yêu cầu của sản phẩm để lập kế hoạch tốt ngay từ đầu. Có quá nhiều vấn đề gây ảnh hưởng đến việc phát triển phần mềm. Trong khi đó có quá nhiều vấn đề mà chúng ta không lường trước được. Những vấn đề này có thể đến từ những yếu tố như kinh doanh, kỹ thuật, con người ....

2. Scrum là gì ?

Scrum là một quy trình phát triển phần mềm theo phương pháp Agile. Chính vì thế, Scrum tuân thủ các nguyên tắc của Agile Manifesto (12 nguyên tắc Agile).
Scrum được xây dựng dựa trên lý thuyết quản lý tiến trình thực nghiệm (empirical process control), hay “thực nghiệm luận” (empiricism). Lý thuyết này chỉ ra rằng tri thức đến từ kinh nghiệm và việc ra quyết định được dựa trên những gì đã biết. Scrum sử dụng các tiếp cận lặp (iterative), tăng trưởng (incremental) để tối ưu hóa tính khả đoán (predictability) và kiểm soát rủi ro.

3. Ba giá trị cốt lõi:

  1. Minh bạch:
    Trong Scrum, tính minh bạch được đề cao như là giá trị cốt lõi cơ bản nhất. Muốn thành công với Scrum, 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 và rào cản v.v. Từ đó mọi người ở các vai trò các nhau có đủ thông tin cần thiết để tiến hành các quyết định có giá trị để 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.
  2. Thanh tra:
    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 dự á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.
  3. Thích nghi:
    Scrum rất linh hoạt như các phương pháp phát triển linh hoạt (agile software development) khác. Nhờ đó nó mang lại tính thích nghi rất cao. Dựa trên các thông tin minh bạch hóa từ các quá trình thanh tra và làm việc, Scrum có thể phản hồi lại các thay đổi một cách tích cực, nhờ đó mang lại thành công cho dự án.

4. Ba vai trò trong Scrum là gì ?

5e95a21efc6ddd1cafdb85ce_vai trò trong scrum (1)

Để tối ưu hóa công việc, đội ngũ tham gia phát triển được chia làm 3 vai trò với trách nhiệm rõ ràng.

  1. Product Owner (chủ sản phẩm):
    Là người chịu trách nhiệm về sự thành công của dự án, người định nghĩa các yêu cầu và đánh giá cuối cùng đầu ra của các nhà phát triển phần mềm.
  2. Scrum Master
    Là người có hiểu biết sâu sắc về Scrum và đảm bảo nhóm có thể làm việc hiệu quả với Scrum.
  3. Development Team (Đội sản xuất, hay Nhóm phát triển)
    Một nhóm liên chức năng (cross-functional) tự quản lý để tiến hành chuyển đổi các yêu cầu được tổ chức trong Product Backlog thành chức năng của hệ thống.

5. Scrum of scrum

  1. Scrum of scrum (sos) là gì ?
  • Đối với các dự án Scrum có quy mô lớn, rất đông thành viên thì việc phối hợp đòi hỏi phải có một phương án kết nối phù hợp. Bởi khi dự án Scrum có quy mô nhóm càng lớn, đường dây liên lạc giữa các thành viên trong nhóm càng nhiều, khiến việc trao đổi thông tin, tạo niềm tin và hướng đến mục đích chung sẽ trở nên khó khăn hơn. Do đó, việc chia một nhóm rất lớn thành hai hoặc ba hoặc nhiều nhóm nhỏ hơn có thể giúp cải thiện việc liên kết thông suốt trong quản lý và duy trì kết quả như mong muốn.
  • Scrum of Scrums (Scrum của các Scrum) là một kỹ thuật để triển khai Scrum cho những nhóm lớn (hơn mười người), bằng việc chia các nhóm thành những đội Agile gồm từ 5-10 thành viên.Số lượng thành viên trong nhóm cũng đóng vai trò quan trọng trong việc triển khai sos, quá ít hay quá nhiều cũng không tốt (thường là 3 đến 9 thành viên mỗi nhóm), phải đảm bảo công việc giữa các nhóm phải tích hợp được với nhau, chánh bị chồng chéo công việc.

2. Mục đích của scrum of scrum:

  • Mục đích để liên kết các nhóm nhỏ, các nhóm cần đảm báo sản phẩm của mình cần được phối hợp ở cuối mỗi sprint, điều này có thể liên quan đến hai hoặc nhiều nhóm làm việc cùng nhau trong cùng một thời gian, đàm phán các công việc, phân chia ranh giới trách nhiệm. Đảm bảo phù hợp với giao tiếp giữa các nhóm
  • Các tổ chức thường sử dụng cách tiếp cận này như một bước đầu tiên để mở rộng quy mô linh hoạt và tổ chức phân phối các sản phẩm phức tạp và lớn hơn.
wissen-scrum-teams-scrum-of-scrums

Trên đây là hình minh hoạ vể scrum of scrum. Các thành viên này được phân chia thành nhiều nhóm Scrum tương ứng với 6->7 thành viên cho mỗi nhóm

  • Mỗi nhóm ở team 1 cử ra 1 đại diện, các đại diện lại có trách nhiệm là kết nối, báo cáo tình hình công việc giữa các nhóm và hình thành Scrum mới (team 2).
  • Mỗi Scrum ở team 2 sẽ tiếp tục cử ra một đại diện để tham gia vào một nhóm với trách nhiệm là kết nối, báo cáo tình hình công việc giữa các nhóm và hình thành Scrum team 3 (team 3, còn gọi là Scrum of Scrums team 2).
  • Các nhóm Scrum team 1 là một nhóm Scrum tiêu chuẩn, các thành viên luôn làm việc cùng nhau và gắn kết với nhau. Các nhóm Scrum team 2, 3 gồm các thành viên không cố định được xem là Scrum ảo.

6. Tài liệu tham khảo