Definition of Done (DoD) là gì và 6 bước áp dụng DoD
Định nghĩa “Done” (DoD) là một nguyên tắc cơ bản trong phương pháp Agile và Scrum, giúp các đội phát triển hiểu rõ những gì cần thiết để một công việc, câu chuyện người dùng hoặc phần tử sản phẩm được coi là “hoàn thành.” Sự rõ ràng này rất quan trọng để đảm bảo rằng tất cả các mục trong danh sách backlog sản phẩm đáp ứng yêu cầu của các bên liên quan và tiêu chuẩn chất lượng của đội.
Trong bài viết này, chúng ta sẽ khám phá ý nghĩa của DoD đối với các đội Scrum, giải thích cách mà nó thúc đẩy sự hiểu biết chung giữa các thành viên trong đội, bao gồm Product Owner, Scrum Master và các nhà phát triển. Chúng ta cũng sẽ bàn về các bước thực tế để xây dựng DoD, vai trò hợp tác của mỗi thành viên trong đội Scrum trong quá trình này, và các chiến lược để triển khai DoD hiệu quả nhằm đạt được thành công trong dự án.
Dù bạn mới bắt đầu làm quen với Scrum hay muốn nâng cao hiệu quả và chất lượng công việc của đội Agile, bài viết này sẽ cung cấp những kiến thức về DoD và vai trò quan trọng của nó trong phát triển phần mềm.
Định nghĩa “Done” – Definition of Done (DoD) là gì?
Về cơ bản, đây là một thuật ngữ trong Agile và Scrum, dùng để chỉ danh sách các tiêu chí và tiêu chuẩn cần được đáp ứng để một công việc, một user story hoặc một product increment được coi là “hoàn thành.” Danh sách kiểm tra này, rất quan trọng trong việc duy trì các tiêu chuẩn chất lượng cao, thường được hiển thị trên các công cụ quản lý như Jira, giúp các đội theo dõi và đảm bảo rằng mỗi mục trong danh sách backlog sản phẩm hoàn thành và đáp ứng đầy đủ các kỳ vọng của các bên liên quan.
Việc xây dựng DoD là một nỗ lực tập thể, yêu cầu sự đóng góp từ tất cả các thành viên trong đội Scrum. Quá trình hợp tác này đảm bảo rằng DoD được điều chỉnh phù hợp với nhu cầu cụ thể của dự án, chi tiết đủ để loại bỏ sự mơ hồ và linh hoạt đủ để bao quát một loạt các yêu cầu, từ các tiêu chí chấp nhận đến các xác nhận phần tử như kiểm thử tự động và thủ công, tài liệu, chấp nhận người dùng, và đôi khi là các yêu cầu về tích hợp và bảo mật.
Bằng cách xác định rõ ràng “hoàn thành” thực sự có nghĩa là gì, DoD giúp các đội Scrum duy trì các tiêu chuẩn chất lượng xuất sắc, đảm bảo rằng mỗi mục trong danh sách product backlog sản phẩm không chỉ đáp ứng yêu cầu của các bên liên quan mà còn không có lỗi hay sự cố, nhờ vào quá trình kiểm thử kỹ lưỡng trước khi được coi là hoàn thành. Về cơ bản, DoD là một thành phần quan trọng trong phương pháp Agile Scrum, đóng vai trò then chốt trong việc duy trì chất lượng công việc và đáp ứng yêu cầu của các bên liên quan stakeholdẻ. Việc xây dựng DoD một cách tỉ mỉ là yếu tố quan trọng để đạt được hiệu quả và tính hữu ích cho team.
Tham khảo: https://scrum-master.org/en/definition-of-done-dod-everything-you-need-to-know/
Ví dụ về Định nghĩa “Done” (Definition of Done – DoD)
Để minh họa cách áp dụng thực tiễn của DoD, hãy xem xét một ví dụ cho một đội phát triển một website cơ bản. Một Định nghĩa “Done” được xây dựng tốt cho dự án này có thể bao gồm các tiêu chí sau:
- Tất cả các thành phần trên trang đều hoạt động đầy đủ và tương thích trên nhiều thiết bị.
- Nội dung văn bản đã được kiểm tra lỗi, chỉnh sửa và phù hợp với chiến lược nội dung.
- Hình ảnh được tối ưu hóa cho web và tuân theo các quy tắc thiết kế đồ họa.
- Tương thích trên các trình duyệt khác nhau đã được kiểm tra và đảm bảo.
- Thời gian tải trang đáp ứng các tiêu chuẩn tối ưu hóa tốc độ hiện tại.
- Mã nguồn sạch, được ghi chú đầy đủ và tuân thủ các nguyên tắc phát triển tốt nhất.
- Tất cả các kiểm thử đơn vị (unit tests) và chức năng (functional tests) đã được thực hiện thành công.
Ví dụ 2: Phát triển ứng dụng di động
- Giao diện người dùng (UI) được thiết kế chính xác và hoạt động tốt trên các kích thước màn hình khác nhau.
- Tất cả tính năng chính đều được kiểm thử và không có lỗi nghiêm trọng.
- Ứng dụng không bị treo hoặc chậm khi xử lý dữ liệu lớn.
- Đã thực hiện kiểm thử trên các hệ điều hành mục tiêu (Android, iOS).
- Tài liệu hướng dẫn sử dụng cơ bản cho người dùng được hoàn thành.
- Ứng dụng đã được tích hợp với các dịch vụ backend và hoạt động ổn định.
Ví dụ 3: Triển khai hệ thống quản lý khách hàng (CRM)
- Tất cả các module CRM (quản lý khách hàng, báo cáo, email marketing) đã được cấu hình và kiểm thử.
- Hệ thống bảo mật (quyền truy cập, mã hóa dữ liệu) được kiểm tra và đảm bảo.
- Đã nhập dữ liệu khách hàng từ hệ thống cũ mà không mất dữ liệu.
- Đào tạo cơ bản cho người dùng cuối đã được hoàn thành.
- Hệ thống CRM được triển khai lên môi trường sản xuất và sẵn sàng sử dụng.
Ví dụ 4: Viết bài đăng blog
- Nội dung bài viết đã được kiểm tra ngữ pháp, chính tả và tuân thủ phong cách viết của thương hiệu.
- Các hình ảnh minh họa trong bài đã được tối ưu hóa kích thước và chất lượng.
- Đã thêm các liên kết nội bộ và liên kết ngoài phù hợp.
- Bài viết đã được kiểm tra SEO với các từ khóa chính được chèn hợp lý.
- Nội dung đã được duyệt bởi người phụ trách và sẵn sàng đăng tải.
Ví dụ 5: Phát triển tính năng mới cho phần mềm
- Tính năng mới hoạt động chính xác và đáp ứng các yêu cầu đã được xác định.
- Mã nguồn được kiểm tra và phê duyệt thông qua code review.
- Đã viết đầy đủ unit test với độ bao phủ trên 90%.
- Hướng dẫn sử dụng tính năng được cập nhật vào tài liệu người dùng.
- Đã kiểm thử tính năng trên môi trường staging trước khi triển khai.
Những ví dụ trên minh họa rằng DoD cần được tùy chỉnh cho từng loại dự án hoặc sản phẩm cụ thể, đảm bảo rằng tất cả các bên liên quan đều hiểu rõ tiêu chí “hoàn thành” là gì.
Danh sách kiểm tra này đại diện cho các yếu tố đa dạng cần được cân nhắc để đảm bảo rằng sản phẩm bàn giao thực sự “hoàn thành.” Điều quan trọng là các tiêu chí này phải được điều chỉnh phù hợp với môi trường kỹ thuật và chức năng của đội, nhằm áp dụng một cách tối ưu cho nhu cầu của dự án.
Vai trò của các thành viên Scrum trong việc thực hiện Định nghĩa “Done” (Definition of Done – DoD)
1. Scrum Master:
- Vai trò chính: Là người dẫn dắt và thúc đẩy quá trình xây dựng và thực hiện DoD.
- Nhiệm vụ cụ thể:
- Đảm bảo rằng tất cả các thành viên trong đội hiểu và tuân thủ các tiêu chí của DoD.
- Tổ chức các cuộc thảo luận về DoD và giúp đội cập nhật khi cần thiết, phù hợp với yêu cầu và thách thức của dự án.
2. Product Owner (Chủ sở hữu sản phẩm):
- Vai trò chính: Xác định các yêu cầu cần thiết trong DoD để đảm bảo giá trị cho người dùng và đáp ứng mục tiêu của công ty.
- Nhiệm vụ cụ thể:
- Làm việc với đội phát triển để đảm bảo rằng DoD phản ánh đúng mục tiêu chiến lược và nhu cầu người dùng.
- Giải thích các điểm mơ hồ trong DoD để đảm bảo nó rõ ràng và dễ thực hiện.
3. Đội phát triển (Development Team):
- Vai trò chính: Áp dụng DoD vào công việc thực tế trong các nhiệm vụ của sprint.
- Nhiệm vụ cụ thể:
- Đảm bảo rằng mỗi mục trong danh sách backlog đều đáp ứng các tiêu chí của DoD trước khi được coi là hoàn thành.
- Liên tục trao đổi với Product Owner và Scrum Master để đảm bảo DoD luôn phù hợp và bao quát.
Tóm lại:
DoD là trách nhiệm chung của cả đội Scrum, yêu cầu sự giao tiếp rõ ràng và sự hiểu biết chung giữa Product Owner, Scrum Master và đội phát triển. Việc DoD rõ ràng, dễ hiểu và phù hợp với mục tiêu tổ chức là yếu tố then chốt để nó phát huy hiệu quả.
Áp dụng DoD lần đầu tiên trong một đội Agile
Nếu đội của bạn mới làm quen với Agile, việc thiết lập DoD cần một cách tiếp cận có cấu trúc. Dưới đây là các bước hướng dẫn:
1. Giới thiệu khái niệm:
- Giải thích DoD là gì, mục đích của nó, và tầm quan trọng trong việc đảm bảo chất lượng sản phẩm và đáp ứng kỳ vọng của các bên liên quan.
- Sử dụng các ví dụ cụ thể để minh họa tác động của DoD đến sự thành công của dự án.
2. Xác định các tiêu chí chất lượng:
- Tổ chức buổi thảo luận với đội để liệt kê tất cả các tiêu chí chất lượng liên quan đến dự án (ví dụ: hiệu suất, bảo mật, khả năng tương thích trình duyệt).
- Đảm bảo danh sách này phản ánh đầy đủ nhu cầu cụ thể của dự án.
3. Ưu tiên các tiêu chí:
- Sắp xếp thứ tự ưu tiên cho các tiêu chí dựa trên mức độ quan trọng đối với thành công của dự án.
- Tập trung vào các yếu tố có giá trị lớn nhất.
4. Soạn thảo DoD:
- Sử dụng danh sách các tiêu chí đã được ưu tiên để tạo một DoD chi tiết, bao gồm tất cả các tiêu chuẩn chất lượng đã thống nhất.
5. Xác nhận DoD:
- Đảm bảo sự đồng thuận từ tất cả các thành viên trong đội. Mỗi người cần hiểu rõ từng tiêu chí và biết cách áp dụng vào công việc của mình.
6. Giám sát và điều chỉnh DoD:
- Định kỳ xem xét DoD để đảm bảo nó luôn phù hợp và hiệu quả.
- Sẵn sàng điều chỉnh khi có những thay đổi hoặc phản hồi từ các buổi đánh giá sprint.
Sự khác biệt giữa Tiêu chí Chấp nhận (Acceptance Criteria) và Định nghĩa “Done” (Definition of Done – DoD)
Mặc dù cả Tiêu chí Chấp nhận và Định nghĩa “Done” (DoD) đều đóng vai trò quan trọng trong phương pháp Agile và Scrum, chúng có mục đích và phạm vi sử dụng khác nhau:
1. Tiêu chí Chấp nhận (Acceptance Criteria):
- Phạm vi: Áp dụng cụ thể cho từng mục trong backlog (ví dụ: user story, tính năng).
- Mục đích: Mô tả các điều kiện cần đáp ứng để mục đó được Product Owner hoặc các bên liên quan chấp nhận.
- Thay đổi theo từng mục: Mỗi mục trong backlog có tiêu chí riêng để đáp ứng các yêu cầu cụ thể về chức năng hoặc phi chức năng.
- Trọng tâm: Đảm bảo mục đó mang lại giá trị hứa hẹn cho khách hàng và đáp ứng kỳ vọng của họ.
- Thời điểm xác định: Được xác định trong giai đoạn tinh chỉnh backlog và hoàn thiện trước khi lập kế hoạch sprint.
2. Định nghĩa “Done” (Definition of Done – DoD):
- Phạm vi: Áp dụng cho tất cả các mục trong backlog và các nhiệm vụ của đội Scrum.
- Mục đích: Xác định các tiêu chuẩn chất lượng và quy trình cần thiết để bất kỳ mục hoặc sản phẩm nào được coi là “hoàn thành.”
- Không thay đổi theo từng mục: Áp dụng nhất quán cho tất cả các mục, đảm bảo chất lượng đồng đều.
- Trọng tâm: Xác nhận rằng mục đó đã hoàn thiện, được kiểm tra và đáp ứng các tiêu chuẩn chất lượng của tổ chức.
- Thời điểm xác định: Được xây dựng từ đầu dự án và điều chỉnh theo thời gian khi có thêm thông tin.
Ví dụ 1: Tính năng Giỏ hàng trong ứng dụng mua sắm trực tuyến
- Acceptance Criteria (Tiêu chí chấp nhận): Đây là các điều kiện cụ thể mà tính năng giỏ hàng phải đáp ứng để được coi là hoàn thiện và mang lại giá trị cho khách hàng:
- Người dùng có thể thêm và xóa sản phẩm khỏi giỏ hàng.
- Tổng giá tiền trong giỏ hàng được cập nhật chính xác khi thay đổi số lượng sản phẩm.
- Hiển thị thông báo lỗi khi thêm sản phẩm đã hết hàng.
- Giỏ hàng lưu lại thông tin khi người dùng thoát và đăng nhập lại.
- Definition of Done (Định nghĩa “Done”): Đây là các tiêu chuẩn chung mà tất cả các tính năng (bao gồm giỏ hàng) phải tuân thủ để đảm bảo chất lượng và tính hoàn thiện:
- Mã nguồn đã được review bởi ít nhất 2 thành viên trong nhóm phát triển.
- Các bài kiểm thử (unit test, integration test) cho tính năng giỏ hàng đã đạt 100% coverage và không có lỗi.
- Tính năng đã được kiểm tra trên ít nhất 3 trình duyệt (Chrome, Firefox, Safari).
- Tài liệu hướng dẫn sử dụng cho tính năng giỏ hàng đã được cập nhật.
- Đã triển khai lên môi trường staging và sẵn sàng để trình bày trong buổi demo sprint.
Ví dụ 2: Trang Đăng ký Người dùng
- Acceptance Criteria (Tiêu chí chấp nhận): Các điều kiện mà trang đăng ký phải đáp ứng để hoàn thành yêu cầu:
- Người dùng có thể nhập thông tin cá nhân bao gồm tên, email và mật khẩu.
- Email phải được xác thực đúng định dạng trước khi gửi form.
- Hiển thị thông báo lỗi khi mật khẩu không đáp ứng yêu cầu bảo mật (ít nhất 8 ký tự, bao gồm số và chữ in hoa).
- Sau khi đăng ký thành công, người dùng nhận được email xác nhận.
- Definition of Done (Định nghĩa “Done”): Các tiêu chuẩn chung áp dụng cho tất cả các backlog items, bao gồm trang đăng ký:
- Giao diện người dùng (UI) phải tương thích trên cả desktop và thiết bị di động.
- Mã nguồn được tích hợp thành công vào nhánh chính trên hệ thống quản lý mã nguồn.
- Tính năng đã được kiểm thử bảo mật cơ bản (ví dụ: không lưu mật khẩu dưới dạng plain text).
- Đã chạy kiểm thử tải (load testing) để đảm bảo trang đăng ký hoạt động tốt với ít nhất 1.000 yêu cầu đồng thời.
- Các lỗi được báo cáo trong quá trình kiểm thử đã được sửa và xác minh.
Sự khác biệt:
- Acceptance Criteria: Tập trung vào các yêu cầu cụ thể để đảm bảo chức năng hoặc giá trị của một mục trong backlog, từ góc nhìn của khách hàng hoặc người dùng.
- Definition of Done: Đảm bảo chất lượng đồng nhất và tính hoàn thiện của sản phẩm, từ góc nhìn của đội phát triển và tổ chức.
Các ví dụ này cho thấy cách cả hai khái niệm phối hợp để đảm bảo sản phẩm vừa đáp ứng đúng yêu cầu của người dùng vừa đạt chất lượng cao nhất theo tiêu chuẩn đội đặt ra.
Tóm tắt sự khác biệt
Khía cạnh | Tiêu chí Chấp nhận (Acceptance Criteria) | Định nghĩa “Done” (Definition of Done) |
---|---|---|
Phạm vi | Cụ thể cho một mục trong backlog | Áp dụng cho tất cả các mục trong backlog |
Trọng tâm | Đáp ứng nhu cầu và chức năng của khách hàng | Đảm bảo chất lượng và tính hoàn thiện chung |
Xác định bởi | Product Owner và các bên liên quan | Toàn bộ đội Scrum hợp tác xây dựng |
Mục đích | Hướng dẫn phát triển từng mục cụ thể | Đảm bảo chất lượng đồng nhất cho tất cả deliverables |
Thời điểm xác định | Xác định cho từng mục khi tinh chỉnh backlog | Xác định ngay từ đầu dự án và điều chỉnh khi cần |
Kết luận
Cả Tiêu chí Chấp nhận và Định nghĩa “Done” đều bổ trợ lẫn nhau, tạo thành một khung hướng dẫn quan trọng cho đội Scrum:
- Tiêu chí Chấp nhận đảm bảo từng mục trong backlog đáp ứng nhu cầu cụ thể của khách hàng.
- Định nghĩa “Done” đảm bảo tất cả các deliverables đạt chất lượng đồng nhất.
Khi kết hợp, chúng giúp Scrum team cung cấp sản phẩm chất lượng cao, đáp ứng kỳ vọng của các bên liên quan và mục tiêu của tổ chức.
Kiến thức về DoD bạn có thể tìm hiểu khi học thêm về chứng chỉ PSM 1. Nếu muốn tìm hiểu nhiều hơn hoặc muốn ôn thi chứng chỉ trong lĩnh vực này, hãy tham khảo Scrumpass.
Tham khảo : https://scrumpass.com/chung-chi-psm-la-gi-kinh-nghiem-thi-chung-chi-psm-i-psm-ii-psm-iii-cua-scrum-org/
Tại Scrumpass, chúng tôi cung cấp nền tảng ôn thi PMP, PMI-ACP, PSM, PSPO & các chứng chỉ khác vô cùng đa dạng.
Tiện ích:
- Chế độ thi thử như thi thật
- Có dashboard theo dõi hành trình ôn thi
- Có phân loại biểu đồ kiến thức để nắm bắt kiến thức nào chưa vững
- Hệ thống ôn thi trên cả web & mobile, giúp bạn ôn thi tiện lợi
- Theo dõi ôn thi, đánh dấu câu để dễ dàng tra cứu mỗi khi cần làm lại hoặc tìm hiểu
- Có mentor theo sát, hướng dẫn kĩ càng, giải thích sát sao hỗ trợ kịp thời
ScrumPass là nơi bạn có thể ôn thi các chứng chỉ hiệu quả nhất. ScrumPass Exam Tool là hệ thống luyện thi chứng chỉ quốc tế hàng đầu tại Việt Nam. Nếu quan tâm đến PMP hoặc các chứng chỉ quản lý dự án khác như PSM, PMP-ACP bạn có thể tham khảo tại:
Fanpage: https://www.facebook.com/scrumpassvn
Group cộng đồng học tập: https://www.face