Một sinh viên viết cho tôi: “Em bị lẫn lộn về phương pháp Scrum vì nó không có vai trò của người quản lí dự án. Trong trường hợp đó ai sẽ quản lí dự án? Ích lợi của việc dùng agile là gì? Xin thầy giải thích.”

Đáp: Scrum được xây dựng trên ba cấu phần chính: vai trò, qui trình và vật phẩm. Vai trò đầu tiên là Thầy Scrum người chịu trách nhiệm đảm bảo tổ tuân theo qui trình Scrum và loại bỏ các chướng ngại vật. Vai trò thứ hai là Người chủ sản phẩm người chịu trách nhiệm xác định cái gì cần được xây dựng và cách trình tự việc xây dựng tiến hành. Vai trò thứ ba là Tổ Scrum bao gồm năm tới mười người làm việc toàn thời trên dự án. Tổ là tự quản nơi mọi người chia sẻ trách nhiệm trong phát triển phần mềm. Vai trò của các thành viên tổ có thể thay đổi tuỳ theo nhu cầu của loạt nước rút riêng. Với Scrum, trách nhiệm quản lí dự án được chia ra trong ba vai trò này cho nên không có vị trí người quản lí dự án trong Scrum.

Qui trình Scrum bao gồm: Khởi động, họp lập kế hoạch chặng nước rút, chặng nước rút, họp Scrum hàng ngày, và họp kiểm điểm chặng nước rút. Họp khởi động là nơi Thầy Scrum, Người chủ sản phẩm và Tổ gặp gỡ lúc bắt đầu của dự án để xác định tồn dư sản phẩm mức cao, điều cơ bản chính là danh sách các yêu cầu dự án và mục đích dự án.

Họp lập kế hoạch Sprint là cuộc họp lúc bắt đầu của từng chặng nước rút. Trong các cuộc họp này, thầy Scrum, người chủ sản phẩm và tổ cùng kiểm điểm tồn dư sản phẩm, xác định mục đích chặng nước rút, cái gì là kết quả của chặng nước rút đặt biệt này; tồn dư chặng nước rút, chính là danh sách các việc cần làm cho chặng nước rút đó.

Sau khi họp lập kế hoạch chặng nước rút, chặng nước rút có thể bắt đầu. Các chặng nước rút bị giới hạn xấp xỉ hai tới bốn tuần nơi các chức năng của sản phẩm được phát triển. Ý tưởng quan trọng nhất là trong chặng nước rút, không ảnh hưởng bên ngoài nào được phép can nhiễu vào công việc của tổ dự án. Điều này nghĩa là các yêu cầu không thể bị thay đổi trong một chặng nước rút.

Chặng nước rút thường bắt đầu với cuộc họp chặng nước rút hàng ngày. Cuộc họp này ngắn, quãng chừng 15 phút, được tổ chức hàng ngày giữa Thầy Scrum và tổ Scrum. Trong cuộc họp này, thành viên tổ trả lời ngắn gọn ba câu hỏi: Bạn đã làm gì kể từ Scrum hàng ngày cuối cùng? Bạn đang làm gì cho tới Scrum hàng ngày tiếp? Cái gì làm bạn dừng tiến bộ với công việc của bạn? Mục đích chính của Scrum hàng ngày là theo dõi tiến bộ của tổ và cho phép các thành viên tổ biết được công việc của nhau và liệu họ có vấn đề hay chướng ngại gì không?

Cuộc họp kiểm điểm chặng nước rút được tổ chức vào cuối mỗi chặng nước rút. Trong cuộc họp này, chức năng đã được tạo ra trong chặng nước rút được chạy thử cho Người chủ sản phẩm.

Vật phẩm của Scrum là tồn dư sản phẩm, tồn dư chặng nước rút, và các sơ đồ cháy xuống. Tồn dư sản phẩm là yêu cầu về toàn thể dự án được diễn đạt như một danh sách ưu tiên các khoản mục. Tồn dư sản phẩm chặng nước rút là tập con của tồn dư sản phẩm được xác định như một phần của công việc cho một chặng nước rút đặc biệt. Sơ đồ cháy xuống là biểu diễn đồ hoạ cho công việc được bỏ lại để làm theo thời gian. Công việc nổi bật (hay tồn dư) thường ghi trên trục đứng, với thời gian theo chiều ngang. Có ba kiểu sơ đồ cháy xuống: sơ đồ cháy xuống cho chặng nước rút làm tài liệu về tiến bộ của chặng nước rút, sơ đồ cháy xuống đưa ra làm tài liệu cho tiến bộ của việc đưa ra, và sơ đồ cháy xuống sản  phẩm làm tài liệu cho toàn thể tiến bộ dự án.

Ích lợi của agile (Scrum) là ở tính đơn giản của nó. Trong dự án agile, các vai trò được xác định rõ ràng. Các tính năng có thể được phát triển và kiểm thử đầy đủ trong chu kì lặp ngắn. Thành viên tổ chia sẻ trách nhiệm về một phần của họ với dự án và với trao đổi mở rộng tổ có thể tổ chức dự án hiệu quả hơn.

Ngược với nhiều tuyên bố rằng vì tổ thường trao đổi với nhau, dự án không cần làm tài liệu. Điều này là sai vì không có tài liệu đúng, dự án có thể suy biến thành tình thế “hỗn độn” và mất kiểm soát. Agile là thích hợp nhất cho dự án nhỏ nhưng sẽ khó cho dự án lớn và phức tạp hơn.

—-English version—-

The Scrum method

A student wrote to me: “I am confused about Scrum method as it does not have project manager role. In that case who will manage the project? What is the benefit of using agile? Please explain.”

Answer: Scrum is built on three major components: roles, process, and artifacts. The first role is Scrum Master who is responsible for making sure the team follows the Scrum process and removing obstacles. The second role is Product Owner who is responsible for determine what needs to be built and how the sequence of builds should progress. The third role is the Scrum Team consists of five to ten people who work on the project full time. The team is self-organizing where everybody share responsibilities in developing the software. Team members’ role may change depending on the needs of the specific sprint. With Scrum, project management responsibilities are divided among the three roles so there is no project manager position in Scrum.

The Scrum process consists of: The kickoff, the sprint planning meeting, the sprint, the daily Scrum, and the sprint review meeting. The kickoff meeting is where the Scrum Master, the Product Owner, and the Team meet at the beginning of the project to define the high-level product backlog, which is basically a list of the project requirements and project goals.

The Sprint planning meeting is a meeting at the beginning of each sprint. In the meetings, the Scrum Master, Product Owner and the team review the product backlog, define the sprint goal, which is the result of this particular sprint; the sprint backlog which is the list of things to do for that sprint.

After the sprint planning meeting, the sprint can begin. Sprints are limited to approximately two to four weeks where certain functions of the product are developed. The most important idea is during a sprint, no outside influence should be allowed to interfere with the work of the Scrum team. This means that requirements cannot be changed during a sprint.

Sprint often begins with a daily Scrum meeting. This meeting is short, about 15 minutes, is held every day between the Scrum Master and the Scrum team. In this meeting, team member briefly answers three questions: What did you do since the last daily Scrum? What are you doing until the next daily Scrum? What is stopping you getting on with your work? The main purpose of the daily Scrum is to track progress of the team and allow team members to know about others’ works and whether they have any issue or obstacle?

The sprint review meeting is held at the end of each sprint. During the meeting, the functionality that was created during the sprint is demonstrated to the Product Owner.

The Scrum artifacts are the product backlog, the sprint backlog, and the burn down charts. The product backlog is the requirements for the entire project expressed as a prioritized list of items. The sprint backlog is the subset of product backlog that are defined as part of the work for a particular sprint. The burn down chart is a graphical representation of work left to do versus time. The outstanding work (or backlog) is often on the vertical axis, with time along the horizontal. There are three types of burn down charts: The sprint burn down chart documenting the progress of the sprint, the release burn down chart documenting the progress of the release, and the product burn down chart documenting the overall project progress.

The benefits of agile (Scrum) are its simplicity. Within an agile project, roles are clearly defined. Features can be completely developed and tested in short iteration cycles. Team members share responsibility for their part of the project and with extensive communication the team can organizes the project more effectively.

Contradict to many claims that since the team frequent communicates with each others, the project does not need documentation. This is false because without proper document, a project could degenerate into “chaotic” situation and out of control. Agile is best suit for small project but will be difficult for larger and more complex project.