Tổng quan về Scrum

Scrum là một phương pháp Agile dùng cho phát triển sản phẩm, đặc biệt là phát triển phần mềm. Scrum là một khung quản lý dự án được áp dụng rất rộng rãi, từ những dự án đơn giản với một nhóm phát triển nhỏ cho đến những dự án có yêu cầu rất phức tạp với hàng trăm người tham gia, và kể cả những dự án đòi hỏi khung thời gian cố định. Trong Scrum, công việc được thực hiện bởi Nhóm Scrum thông qua từng phân đoạn lặp liên tiếp nhau được gọi là Sprint. Để hiểu được Scrum thì cần hiểu nguyên lý của Scrum, các Vai trò, Tạo tác, Sự kiện và sự vận hành của một vòng đời Scrum.

Các khái niệm trong Scrum

Vai trò: Là một cá nhân, hoặc một nhóm tham gia vào trong quá trình vận hành của Scrum. Trong Scrum có 3 vai trò chính: Product Owner, ScrumMasterNhóm Phát triển.

Sự kiện: Là các hoạt động xảy ra trong suốt vòng đời của quá trình phát triển. Các sự kiện chính trong Scrum là: Sprint, Lập kế hoạch Sprint, Scrum Hằng ngày, Sơ kết SprintCải tiến Sprint.

Tạo tác: Là các công cụ hoặc kết quả được tạo ra và sử dụng trong quá trình vận hành Scrum. Các tạo tác trong Scrum bao gồm: Product Backlog, Sprint Backlog, Phần tăng trưởng Sản phẩm.

Nhóm Scrum: Một nhóm Scrum là một đơn vị phát triển sản phẩm, bao gồm một Product Owner, một ScrumMaster, và một Nhóm Phát triển.

Product Owner (vai trò): Là người chịu trách nhiệm về sự thành công của sản phẩm đang được phát triển. Product Owner có thể là người trực tiếp sở hữu sản phẩm hoặc có thể là đại diện cho các bên liên quan khác nhưng luôn luôn là người chịu trách nhiệm và có tiếng nói cuối cùng về mọi quyết định liên quan đến sản phẩm. Công việc chủ yếu của Product Owner là tối ưu hóa giá trị của sản phẩm thông qua việc quản lý thật tốt Product Backlog.

ScrumMaster (vai trò): Là người đảm bảo Nhóm Scrum hoạt động năng suất nhất thông qua việc áp dụng tốt Scrum. Để đạt được điều này thì ScrumMaster có thể sử dụng một số kỹ thuật như dạy, huấn luyện để nhóm am hiểu về triết lý cũng như áp dụng tốt các kỹ thuật thực tế sử dụng trong Scrum. ScrumMaster cũng có nhiệm vụ loại bỏ tất cả các trở ngại mà nhóm gặp phải, bảo vệ nhóm trước tất cả những nguyên nhân gây ảnh hưởng tới công việc của nhóm.

Nhóm Phát triển (vai trò): Là tập hợp của từ 3 đến 9 thành viên chịu trách nhiệm trực tiếp tham gia sản xuất. Hai tính chất quan trọng nhất của Nhóm Phát triển đó là tự-tổ chức và liên-chức năng. Tự-tổ chức tức là các thành viên tự sắp xếp công việc, tự đưa ra các quyết định để đạt được mục đích của nhóm mà không bị sự quản lý, điều khiển từ bất cứ ai bên ngoài nhóm, kể cả các lãnh đạo. Liên-chức năng có nghĩa là nhóm có đầy đủ tất cả các kỹ năng cần thiết để có thể độc lập hoàn thành tất cả các công việc mà không cần chờ đợi ai khác từ bên ngoài. Nhóm liên-chức năng tức là nhóm có đầy đủ các kỹ năng chứ không phải là mỗi thành viên đều phải có hết tất cả các kỹ năng.

Product Backlog (tạo tác): Là danh sách các hạng mục cần phát triển của sản phẩm. Danh sách này được sắp xếp theo độ ưu tiên do Product Owner quyết định. Product Owner là người chịu trách nhiệm quản lý Product Backlog, kể cả nội dung, đánh giá độ ưu tiên cho đến việc cập nhật. Các hạng mục trong Product Backlog có thể là các tính năng mong muốn của sản phẩm, hoặc các cải tiến kỹ thuật lớn, hoặc các lỗi kỹ thuật đã được phát hiện…

Sprint Backlog (tạo tác): Là danh sách chứa các hạng mục Product Backlog được lựa chọn cho Sprint hiện tại và các công việc cần thực hiện để hoàn thành các hạng mục đó. Sprint Backlog có thể chứa thêm thông tin về các ước tính khối lượng công việc của từng hạng mục và của cả Sprint. Sprint Backlog được quản lý bởi Nhóm Phát triển.

Phần tăng trưởng Sản phẩm (tạo tác): Đôi khi còn được gọi ngắn gọi là Phần tăng trưởng. Là kết quả “hoàn thành” được Nhóm Phát triển chuyển giao sau mỗi Sprint. Để được coi là “hoàn thành” thì các hạng mục Product Backlog phải thỏa mãn với Định nghĩa Hoàn thành đã được thống nhất trước đó. Tính chất cốt lõi của Phần tăng trưởng đó là có khả năng chuyển giao được, tức là có thể đưa vào sử dụng ngay mà không cần làm thêm bất cứ công việc nào nữa.

Sprint: Là khoảng thời gian cố định mà ở đó Nhóm Phát triển thực hiện công việc phát triển sản phẩm. Sprint được đóng khung thời gian ngắn hơn 1 tháng và thường thì không ngắn hơn một tuần. Các Sprint có độ dài như nhau và diễn ra liên tiếp nhau mà không bị gián đoạn. Sprint kết thúc khi thời gian đóng khung kết thúc, bất kể các công việc trong đó đã được hoàn thành hết hay chưa.

Lập kế hoạch Sprint (sự kiện): Sự kiện diễn ra đầu Sprint để lên kế hoạch làm việc cho toàn bộ Sprint. Sự kiện này được chia làm 2 phần với 2 mục đích rõ ràng: Phần 1 nhằm trả lời câu hỏi “Mình sẽ làm cái gì?“, còn Phần 2 nhằm trả lời câu hỏi “Mình sẽ làm như thế nào?“. Toàn bộ Nhóm Scrum (bao gồm Product Owner, ScrumMaster và Nhóm Phát triển) phải tham dự Phần 1 của buổi Lập kế hoạch Sprint. Product Owner có thể vắng mặt ở Phần 2 nhưng phải đảm bảo sẵn sàng (có thể là qua điện thoại, công cụ chát,…) để giải đáp các thắc mắc của Nhóm Phát triển nếu có. Nhóm Phát triển có quyền quyết định lựa chọn những hạng mục mà mình sẽ làm, không ai được phép can thiệp và gán công việc cho nhóm, kể cả Product Owner hay các lãnh đạo khác. Kết quả của buổi Lập kế hoạch Sprint là: Mục tiêu Sprint và Sprint Backlog.

Mục tiêu Sprint: Là một hoặc một vài câu mô tả tổng quan về kết quả mà Product Owner mong muốn đạt được khi Sprint kết thúc. Khi một Sprint diễn ra, Sprint Backlog có thể có thay đổi nhỏ nhưng Mục tiêu Sprint thì phải ổn định.

Scrum Hằng ngày (sự kiện): Là buổi gặp mặt ngắn 15 phút hằng ngày của tất cả các thành viên Nhóm Phát triển để cập nhật thông tin và phối hợp giữa các thành viên trong nhóm. Để giữ đơn giản và tạo thói quen thì các buổi Scrum Hằng ngày phải diễn ra tại cùng một địa điểm vào cùng một khung thời gian. Tại phiên làm việc này, mỗi thành viên sẽ trình bày câu trả lời cho 3 câu hỏi: “Mình đã làm những gì từ buổi gặp mặt hôm trước tới nay?“, “Mình sẽ làm những gì từ bây giờ cho đến buổi gặp mặt sau?“, “Tôi gặp phải khó khăn gì?“. ScrumMaster không bắt buộc tham dự nhưng phải đảm bảo Nhóm Phát triển đang thực hiện tốt sự kiện này.

Sơ kết Sprint (sự kiện): Diễn ra khi một Sprint kết thúc nhằm thanh tra và thích nghi sản phẩm. Toàn bộ Nhóm Scrum (bao gồm Product Owner, ScrumMaster và Nhóm Phát triển) tham dự sự kiện này. Product Owner có thể mời thêm những người khác cùng tham gia. Hai nội dung quan trọng của sự kiện này là: Dùng thử phần sản phẩm vừa hoàn thành trong Sprint vừa qua và Trao đổi với tất cả mọi người để có những điều chỉnh hợp lý cho sản phẩm. Product Baclog và Kế hoạch Phát hành có thể được điều chỉnh sau sự kiện này.

Cải tiến Sprint (sự kiện): Diễn ra sau sự kiện Sơ kết Sprint nhằm thanh tra và thích nghi quy trình làm việc. Nói ngắn gọn, sự kiện này là để cải tiến cách làm việc. Nhóm Phát triển và ScrumMaster bắt buộc tham gia sự kiện này. Product Owner có thể tham gia hoặc không. Nhóm Phát triển có thể mời thêm những người khác tham dự. Kết quả của buổi làm việc này là một danh sách các thay đổi về cách làm việc được đưa vào áp dụng ngay trong Sprint tiếp theo.

Tổng quan về Scrum

Toàn bộ quy trình hoạt động của Scrum được mô tả trong hình dưới đây.

Xem thêm: Video: Scrum hoạt động như thế nào?

 

phản hồi