Xây dựng team
Nhóm Scrum được hình thành bao gồm 1 ScrumMaster, 1 Product Owner và Nhóm phát triển (Nhóm); Product Owner tạo ra Product Backlog chứa các yêu cầu của dự án với các hạng mục được sắp theo thứ tự ưu tiên. Đội sản xuất sẽ thực hiện việc hiện thực hóa dần các yêu cầu của Product Owner với sự lặp đi lặp lại các giai đoạn nước rút từ 1 đến 4 tuần làm việc (gọi là Sprint) với đầu vào là các hạng mục trong Product Backlog, đầu ra là các gói phần mềm hoàn chỉnh có thể chuyển giao được (Potentially Shippable Product Increment).
Khởi động dự án và xác định yêu cầu
Dự án Scrum bắt đầu với Product Owner, người chịu trách nhiệm lấy đầu vào từ những bên liên quan hoặc đại diện của họ, để xây dựng một danh sách các yêu cầu nhằm tạo ra một Product Backlog (danh sách các yêu cầu về tính năng nghiệp vụ, công nghệ, vấn đề kỹ thuật, việc sửa lỗi,.. có thứ tự ưu tiên)
Các yêu cầu người dùng cho Product backlog thường được thu thập dưới dạng những User story ngắn trong một buổi hội thảo về y/c người dùng 1 hoặc 2 ngày trước buổi họp lập kế hoạch phát hành và kế hoạch Sprint.
Lập kế hoạch dự án
Product Owner cùng làm việc với nhóm trong buổi lập k/h phát hành (Product Owner càng biết nhiều về SP thì càng có thể giúp nhóm nhiều hơn):
- Thông thường việc lập k/h kéo dài 4h cho nhóm có Sprint 4 tuần.
- Mục tiêu là nhằm xác định tất cả các phát hành mà SP phần mềm nền có, có thể kèm theo lịch trình chuyển giao.
Nhóm cũng nên thực hiện việc lập kế hoạch Sprint trong hoặc sau lập kế hoạch phát hành
- Thông thường 1 Sprint kéo dài 1-4 tuần. Ngoại trừ những trường hợp đặc biệt khi nhóm và Product Owner đồng ý, còn không Sprint Backlog sẽ không nhận thêm hoặc xóa bỏ gì cả trong toàn bộ Sprint; Một buổi họp kế hoạch Sprint 4 tuần kéo dài trong 8h, và người ta thường chia nó thành 2 cuộc họp 4h cho mỗi Sprint 2 tuần.
- Phần đầu: Product Owner sẽ xem xét yêu cầu (các User story cùng phản hồi của nhóm) từ đó quyết định User Story nào nên được phát triển ở Sprint nào và mục tiêu của chúng là gì -> chủ yếu giải đáp câu hỏi “Là gì”
- Phần sau: tập trung vào cách làm, Nhóm phát triển sẽ xác định những đầu việc từ những User story đã chọn, lượng thời gian (theo giờ) cần thiết để chuyển hóa những c/v này thành phần tăng trưởng SP có thể chuyển giao được => log vào phần mềm lập kế hoạch hoặc dán vào Task Board, từ đó giúp nhóm dễ dàng phân bổ công việc và theo dõi.
Kết quả của buổi lập kế hoạch là Sprint Backlog chứa các công việc cần làm trong suốt một Sprint.
Triển khai Sprint
Sau lập kế hoạch phát hành và Sprint, nhóm bắt đầu công việc của Sprint hiện thời cùng với những cuộc họp Scrum 15 phút hàng ngày (họp đứng).
- Đây ko phải là họp trạng thái mà là cùng nhau thanh tra tiến độ của nhóm, hướng tới mục tiêu Sprint.
- ScrumMaster tạo và cập nhật biểu đồ Burndown để hiển thị lượng công việc còn lại tới khi nhóm hoàn thành Sprint
Trong suốt quá trình phát triển, nhóm sẽ phải cập nhật Sprint Backlog và thực hiện công việc họp hằng ngày (Daily Scrum) để chia sẻ tiến độ công việc cũng như các vướng mắc trong quá trình làm việc cùng nhau. Nhóm được trao quyền để tự quản lí và tổ chức lấy công việc của mình để hoàn thành công việc trong Sprint.
Kết thúc Sprint
Cuối mỗi Sprint, nhóm tạo ra các gói phần mềm có chức năng hoàn chỉnh, sẵn sàng chuyển giao (shippable) cho khác hàng.
Họp Sơ kết Sprint được Scrum Master tổ chức trước khi kết thúc mỗi Sprint nhằm giúp khách hàng thấy được nhóm đã có thể chuyển giao những gì, còn những gì phải làm hoặc còn gì phải thay đổi, cải tiến.
- Diễn ra trong 4h cho 1 Sprint 4 tuần hoặc 2h cho 1 Sprint 2 tuần.
- Mục đích 1: nhóm Scrum và Product Owner thảo luận về những c/v đã/chưa hoàn thành
- Mục đích 2: trình diễn kết quả đã xây dựng được cho Product Owner để nhận phản hồi.
- Mục đích 3: cập nhật thông tin từ Product Owner l/q đến bất cứ thay đổi mới nào về SP hoặc định hướng của thị trường.
Nhóm Scrum tổ chức Họp cải tiến Sprint ngay sau buổi họp Sơ kết Sprint và trước khi bắt đầu Sprint tiếp theo; Cuộc họp này kéo dài 3h/1 Sprint 1 tháng hoặc 2h/1 Sprint 2 tuần nhằm:
- Xác định những gì tốt và không tốt trong Sprint hiện thời.
- Xem các họ cộng tác như thế nào để đạt hiệu quả hơn nữa trong Sprint tiếp theo
Các Sprint sẽ được lặp đi lặp lại cho tới khi nào các hạng mục trong Product Backlog đều được hoàn tất hoặc khi Product Owner quyết định có thể dừng dự án căn cứ tình hình thực tế. Do sử dụng chiến thuật “có giá trị hơn làm trước” nên các hạng mục mang lại nhiều giá trị hơn cho chủ dự án luôn được hoàn tất trước. Do đó Scrum luôn mang lại giá trị cao nhất cho người đầu tư cho dự án. Do quy trình luôn luôn được cải tiến, nhóm Scrum thường có năng suất lao động rất cao. Đây là hai lợi ích to lớn mà Scrum mang lại cho tổ chức.