Bài viết

Scrum Hằng ngày

Scrum Hằng ngày là buổi trao đổi ngắn mà Nhóm Phát triển thực hiện đều đặn hằng ngày nhằm cập nhật và đồng bộ công việc giữa các thành viên. Sự kiện này cũng được coi là buổi tái-lập kế hoạch của Nhóm Phát triển.

Thành phần tham dự: Tất cả các thành viên của Nhóm Phát triển bắt buộc phải tham gia sự kiện Scrum Hằng ngày. ScrumMaster không bắt buộc phải tham dự nhưng phải đảm bảo Nhóm Phát triển thực hiện tốt sự kiện này.

Thời gian: Khung thời gian tối đa cho sự kiện Scrum Hằng ngày là 15 phút, bất kể số lượng thành viên của Nhóm Phát triển là bao nhiêu.

Mục đích của buổi Scrum Hằng ngày không phải là để giải quyết vấn đề mà là để thông báo và cập nhật tình hình. Do vậy, không cho phép bất cứ cuộc thảo luận chi tiết nào ở đây. Để đảm bảo tính ngắn gọn, lần lượt các thành viên của Nhóm Phát triển trình bày câu trả lời cho 3 câu hỏi: Tôi đã làm gì từ buổi Scrum Hằng ngày trước cho đến bây giờ? Tôi sẽ làm gì từ bây giờ cho tới buổi Scrum Hằng ngày hôm sau? Tôi đang gặp phải những khó khăn gì?. Nếu có các vấn đề đỏi hỏi phải thảo luận sâu giữa các thành viên thì Nhóm Phát triển sẽ tổ chức các buổi thảo luận ngay sau khi sự kiện Scrum Hằng ngày kết thúc.

Một thành viên của Nhóm Phát triển sẽ ghi lại các trở ngại để ScrumMaster hỗ trợ giải quyết sau khi buổi trao đổi kết thúc.

Scrum Hằng ngày là một thủ tục đơn giản, dễ thực hiện nhưng cũng vì thế mà nó dễ bị làm sai và không phát huy được tính hiệu quả. Hãy thực hiện Scrum Hằng ngày vào cùng một địa điểm và khung thời gian để tạo thói quen cho nhóm và tìm cách để cho sự kiện này diễn ra vui vẻ, đều đặn và hiệu quả.


Xem thêm:

Họp stand-up, hãy làm cho đúng

Video: Làm sao để cải thiện Scrum Hằng ngày

Lập kế hoạch Sprint

Lập kế hoạch Sprint là sự kiện diễn ra ở đầu mỗi Sprint để chuẩn bị cho toàn bộ Sprint. Buổi Lập kế hoạch Sprint được chia làm 2 phần riêng biệt với 2 mục đích khác nhau. Phần 1 nhằm trả lời câu hỏi: “Chúng ta sẽ làm gì?”. Phần 2 nhằm trả lời câu hỏi: “Chúng ta sẽ làm như thế nào?”.

Thành phần tham dự: Nhóm phát triểnScrumMaster bắt buộc phải tham gia toàn bộ 2 phần của sự kiện này. Product Owner bắt buộc phải tham gia Phần 1 và có thể vắng mặt ở Phần 2 nhưng phải đảm bảo sẵn sàng trả lời các thắc mắc của Nhóm Phát triển. Tuy nhiên, trong thực tế thì Product Owner nên tham gia đầy đủ cả hai phần để cho sự kiện này đạt được kết quả cao nhất.

Thời gian: Đối với Sprint kéo dài 1 tháng thì sự kiện này được đóng khung trong 8 giờ làm việc. Sprint ngắn hơn thì thường sự kiện này sẽ ngắn hơn, ví dụ: Sprint 2 tuần thì thường chỉ cần 4 giờ là đủ. Mỗi phần của sự kiện này được phân bố khoảng thời gian bằng nhau.

Trong phần 1 của buổi Lập kế hoạch Sprint, Product Owner trình bày cho Nhóm Phát triển hiểu rõ tất cả các hạng mục Product Backlog có khả năng được đưa vào sản xuất trong Sprint này. Thông thường, vì việc làm mịn các hạng mục Product Backlog đã được thực hiện liên tục trước đó cho nên lúc này Product Owner chỉ cần làm rõ một số hạng mục còn lại và trả lời các thắc mắc nếu có của Nhóm Phát triển. Nhóm Phát triển lựa chọn các hạng mục Product Backlog để phát triển trong Sprint này. Số lượng hạng mục được lựa chọn hoàn toàn phụ thuộc vào Nhóm Phát triển, có thể dựa vào tốc độ sản xuất của nhóm trong quá khứ để ước lượng. Kết thúc phần 1, Product OwnerNhóm Phát triển đưa ra một Mục tiêu Sprint, Nhóm Phát triển cũng đã biết được tổng quan về công việc mà mình sẽ thực hiện trong Sprint này.

Phần 2 của buổi Lập kế hoạch Sprint là để Nhóm Phát triển phân tích và lên kế hoạch công việc cho Sprint. Nhóm Phát triển bắt đầu bằng việc phân tách các hạng mục Product Backlog thành danh sách các công việc cụ thể. Nhóm Phát triển cũng ước tính lượng nỗ lực cần bỏ ra để hoàn thành từng công việc. Sau khi đã phân tích chi tiết, nếu Nhóm Phát triển thấy cần điều chỉnh (ví dụ, loại bớt một vài hạng mục Product Backlog đã chọn) thì có thể trao đổi với Product Owner để thực hiện thay đổi danh sách các hạng mục Product Backlog đã chọn. Kết thúc phiên này, Nhóm Phát triển có được Sprint Backlog.

Kết thúc buổi Lập kế hoạch Sprint, Nhóm Phát triển đã biết Mục tiêu Sprint và kế hoạch công việc để đạt được mục tiêu đó. Các thành viên có thể bắt tay ngay vào công tác sản xuất.

Sprint là gì?

Sprint trong Scrum là khoảng thời gian mà Nhóm Scrum tiến hành tất cả các hoạt động cần thiết để sản xuất được một phần tăng trưởng có khả năng chuyển giao được.

Sprint được đóng khung thời gian, có độ dài không quá một tháng và nhất quán trong suốt quá trình phát triển. Sprint ngắn gia tăng tính thích ứng với thay đổi và giảm thiểu rủi ro nhưng tăng chi phí quản lý ( thời gian cho các cuộc họp tăng lên). Các Sprint diễn ra liên tiếp nhau mà không bị gián đoạn.

Trong suốt Sprint:

Nhóm liên chức năng là gì?

Liên chức năng (cross functional) là đặc điểm của một nhóm có đầy đủ những chuyên môn khác nhau để có khả năng đạt được một mục tiêu chung.

Một nhóm liên-chức năng có nghĩa là được trang bị đầy đủ tất cả các kỹ năng cần thiết để hoàn thành toàn bộ công việc và tạo ra phần tăng trưởng chuyển giao được cuối mỗi Sprint mà không cần sự trợ giúp từ bên ngoài. Điều này không có nghĩa là mỗi thành viên đều phải biết hết tất cả các kỹ năng, mà họ có thể chỉ có một số kỹ năng nhất định nhưng bổ sung đầy đủ cho nhau để tổng thể nhóm có được tất cả các kỹ năng cần thiết.

Ví dụ, trong Scrum, Nhóm Phát triển của một sản phẩm thương mại điện tử bao gồm các thành viên có các chuyên môn sau:

  • Thiết kế giao diện, trải nghiệm người dùng (UIUX)
  • Thiết kế phần mềm
  • Lập trình
  • Kiểm thử
  • Nghiệp vụ thương mại điện tử

Tính liên chức năng đảm bảo nhóm có thể hoạt động độc lập, trở thành một đơn vị sản xuất hoàn chỉnh, hoàn toàn tự chủ trong mọi hoạt động để chuyển nâng cao năng suất, chất lượng sản phẩm. Nó giúp cho nhóm có thể ra các quyết định một cách nhanh chóng mà không phải chờ đợi từ bên ngoài.

Trong Nhóm Phát triển, không có các chức danh chuyên môn đặc thù cho từng thành viên, ví dụ như: kiểm thử viên, lập trình viên, chuyên gia thiết kế, chuyên gia cơ sở dữ liệu,… mà tất cả đều được gọi chung là “nhà phát triển”. Việc này giúp nâng cao tính sở hữu tập thể, trách nhiệm tập thể và bình đẳng giữa các thành viên.

Việc tổ chức nhóm liên-chức năng cũng thúc đẩy việc học trong nhóm. Có thể mỗi thành viên xuất thân từ những chuyên môn và nền tảng khác nhau, có thế mạnh về một hoặc một số kỹ năng nhất định, nhưng trong quá trình cộng tác, các thành viên này sẽ học thêm những kỹ năng mới từ những thành viên khác, từ đó mỗi thành viên sẽ hình thành nên những kỹ năng phụ. Điều này là quan trọng để đảm bảo các thành viên có thể hỗ trợ lẫn nhau trong công việc, cho dù công việc đó thuộc chuyên môn nào, không nhất thiết phải là chuyên môn mà mình có thế mạnh.

Xem thêm:

Hiểu thế nào cho đúng về “liên chức năng”

Nhóm tự tổ chức

Nhóm phát triển

Nhóm tự tổ chức là gì?

Tự tổ chức (self-organized)có nghĩa là nhóm có khả năng và thẩm quyền để định hướng và đưa ra các quyết định trong quá trình sản xuất. Điều đó cũng có nghĩa là nhóm có toàn quyền trong việc lựa chọn công cụ, kỹ thuật và cách thức để hoàn thành công việc. Không ai có quyền yêu cầu nhóm tự tổ chức phải làm theo một cách nhất định để hoàn thành mục tiêu của họ. Song song với đó, tính cam kết và trách nhiệm của các thành viên trong nhóm cũng cao hơn rất nhiều so với khi nhóm được tổ chức theo mô hình ra lệnh-điều khiển.

Tính chất tự-tổ chức của Nhóm Phát triển trong Scrum được thể hiện ở một số điểm:

  • Không có chức danh quản lý nhóm. Không có một cá nhân chịu trách nhiệm quản lý nhóm.
  • Nhóm Phát triển tự lựa chọn và quyết định số lượng các hạng mục Product Backlog sẽ làm trong từng Sprint.
  • Nhóm Phát triển tự ước lượng khối lượng công việc cho từng hạng mục.
  • Nhóm Phát triển tự theo dõi tiến độ công việc của mình.
  • Tất cả các công việc đều được “sở hữu” bởi tập thể nhóm mà không được gán cho bất cứ cá nhân nào. Do vậy, cho dù kết quả công việc tốt hay xấu thì nó cũng thuộc trách nhiệm của toàn bộ nhóm chứ không phải của riêng một ai.

Để việc tự-tổ chức được diễn ra với hiệu quả cao thì nhóm nên là liên chức năng.

Nhóm Scrum hoặc Nhóm phát triển trong Scrum là các ví dụ của nhóm tự tổ chức.

Xem thêm:

Nhóm liên chức năng là gì?

Nhóm Phát Triển có vai trò gì trong Scrum