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 Phát triển có vai trò gì trong Scrum

Nhóm Phát triển là bộ phận trực tiếp tham gia vào công việc sản xuất, nhiệm vụ của Nhóm Phát triển đó là chuyển các hạng mục Product Backlog thành các tính năng của sản phẩm. Ở cuối mỗi Sprint, Nhóm Phát triển sẽ cho ra đời một Phần tăng trưởng Có khả năng chuyển giao được. Một Nhóm Phát triển bao gồm từ 3 đến 9 thành viên. Hai đặc điểm nổi bật của Nhóm Phát triển là Tự-tổ chức (self-organized) Liên-chức năng (cross-functional).

Tự-tổ chức 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. 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.

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.

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.

Một Nhóm Phát triển ổn định sẽ đạt được năng suất và hiệu quả tốt nhất. Do đó, nên tránh việc thay đổi các thành viên của nhóm, và nếu việc này xảy ra thì cũng nên biết trước rằng nó sẽ thay đổi năng suất của nhóm trong ngắn hạn.

Không chỉ đóng vai trò trực tiếp tham gia sản xuất về mặt kỹ thuật, vai trò của Nhóm Phát triển đối với việc định hình sản phẩm cũng là rất quan trọng, đặc biệt là đối với các sản phẩm khởi nghiệp, khi mà việc phát triển sản phẩm là quá trình tìm tòi, thử nghiệm, điều chỉnh mà ngay cả Product Owner cũng không biết trước được. Việc cộng tác chặt chẽ giữa Product Owner và Nhóm Phát triển là cực kỳ quan trọng để đảm bảo tính hiệu quả trong quá trình sản xuất cũng như chất lượng của sản phẩm.

Xem thêm:

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

Nhóm liên chức năng

Nhóm tự tổ chức

Ra mắt sách Cẩm nang Scrum cho người mới bắt đầu

Ngày 21/10, Học viện Agile đã tổ chức buổi giao lưu và ra mắt cuốn sách “Cẩm nang Scrum cho người mới bắt đầu”. Buổi giao lưu diễn ra tại Không gian Văn hóa Đông Tây với sự góp mặt của rất nhiều bạn bè, đồng nghiệp – những người đã và đang rất quan tâm đến Scrum cũng như việc áp dụng Scrum cho việc phát triển và sản xuất phần mềm.

ra-mat-sach-1

Quyển sách do nhóm tác giả Dương Trọng Tấn, Nguyễn Việt Khoa, Phạm Anh Đới, Nguyễn Khắc Nhật biên soạn.

ra-mat-sach-2

Tại buổi giao lưu, anh Dương Trọng Tấn, đại diện nhóm tác giả chia sẻ về câu chuyện làm sách trong 30 ngày và những lợi ích mà Scrum đã đem lại.

ra-mat-sach-3

Anh Nguyễn Tuân (Giám đốc Đào tạo FPT Aptech Hà Nội) chia sẻ về những khó khăn thường gặp phải khi học và áp dụng Scrum.

ra-mat-sach-4

Người tham gia đưa ra rất nhiều chia sẻ về việc cách áp dụng Scrum cho doanh nghiệp lớn, những “chiêu” để cả công ty đều thực hiện Daily meeting.

ra-mat-sach-5

Có người lại chia sẻ câu chuyện từ ngày đầu tìm đến Scrum, hành trình đã áp dụng và những hiệu quả thực tiễn ngay tại các công ty Start-up.

ra-mat-sach-6

Tác giả ký tặng sách tại buổi giao lưu

Cẩm nang Scrum cho người mới bắt đầu” là cuốn sách về Scrum đầu tiên do người Việt biên soạn. Cuốn sách là những chia sẻ, đúc kết của nhóm tác giả sau nhiều năm học hỏi, hòa nhập cùng cộng đồng Agile thế giới và những kinh nghiệm khi xây dựng cộng đồng Agile tại Việt Nam. Cuốn sách này cũng đánh dấu một bước tiến mới trong việc phát triển một hệ sinh thái Agile mạnh tại Việt Nam.

Agipedia

Các tạo tác trong Scrum

Các tạo tác trong Scrum là những 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: Là nơi lưu trữ danh sách các tính năng mong muốn của sản phẩm. Danh sách này được sắp xếp dựa trên độ ưu tiên của từng hạng mục. Các hạng mục có độ ưu tiên cao hơn nằm ở phía trên của danh sách và sẽ được Nhóm Phát triển lựa chọn để đưa vào sản xuất sớm, các hạng mục có độ ưu tiên thấp hơn sẽ nằm ở phía cuối của danh sách và được phát triển muộn hơn.
  • Sprint Backlog: Là bảng công việc được Nhóm Phát triển sử dụng để quản lý quá trình phát triển trong một Sprint. Sprint Backlog được Nhóm Phát triển tạo ra trong buổi Lập kế hoạch Sprint và cập nhật trong suốt Sprint. Sprint Backlog chứa danh sách các hạng mục được phát triển trong Sprint và các công việc cần làm tương ứng với từng hạng mục để hoàn thành nó.
  • Phần tăng trưởng: Là tên gọi ngắn của Phần tăng trưởng Sản phẩm Có khả năng Chuyển giao được (Potentially Shippable Product Increment) là phần sản phẩm Nhóm Phát triển tạo ra cuối mỗi Sprint.

Các sự kiện trong Scrum

Các sự kiện trong Scrum là những mốc thời gian để Nhóm Scrum tiến hành các hoạt động của mình. Mỗi sự kiện có một mục đích, ý nghĩa, thời gian, thành phần tham dự, và cách thức tổ chức khác nhau. Tất cả các sự kiện trong Scrum đều được đóng khung thời gian. Scrum có những sự kiện chính sau:

  • Sprint: Là khung thời gian ít hơn một tháng để Nhóm Scrum thực hiện tất cả những hoạt động cần thiết để sản xuất được một phần tăng trưởng của sản phẩm. Tất cả các sự kiện khác của Scrum đều được diễn ra trong khung thời gian của một 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?”.
  • 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.
  • Sơ kết Sprint: Là sự kiện diễn ra ở cuối Sprint nhằm thanh tra và thích nghi sản phẩm đang được xây dựng. Sự kiện này bao gồm 2 hoạt động chính đó là dùng thử sản phẩm và thảo luận về tình hình của sản phẩm, hướng đi tiếp theo và những điều chỉnh đối với sản phẩm nếu cần thiết.
  • Cải tiến Sprint: Là một sự kiện quan trọng trong Scrum diễn ra ngay sau buổi Sơ kết Sprint nhằm mục đích thanh tra và thích nghi quy trình làm việc. Nói cách khác đây là dịp để Nhóm Scrum nhìn lại quá trình làm việc của một Sprint và xác định những thay đổi cần thiết đối với quy trình để làm việc tốt hơn trong Sprint sau.

Nhóm Scrum

Nhóm Scrum là nhóm tự tổ chức và liên chức năng bao gồm Product Owner (PO), Nhóm Phát triểnScrumMaster. Mô hình Nhóm Scrum được thiết kế để tối ưu hóa sự linh hoạt, sáng tạo và năng suất.

Lưu ý: trong Nhóm Scrum không tồn tại thêm một chức danh nào khác những vai trò trên như quản lý dự án (PM).

Các vai trò trong Scrum

Các vai trò trong Scrum là những cá nhân hoặc nhóm tham gia vào trong quá trình vận hành Scrum. Mỗi vai trò có những mục đích, nhiệm vụ, quyền hạn và yêu cầu khác nhau. Trong Scrum có 3 vai trò chính:

  • Product Owner: 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. 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: 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. 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: 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.

Sprint

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: