1. Chúng tôi thực hành
Scrum
như thế nào
KhoaNV – khoanv@fpt.aptech.ac.vn
2. Nội dung
O Giới thiệu
O Công tác chuẩn bị
O Bố trí phòng làm việc
O Product Backlog
O Xây dựng Sprint Backlog
O Họp Scrum Hằng ngày
O Sơ kết Sprint
O Cải tiến Sprint
O Thành quả đạt được
Chúng tôi thực hành Scrum như thế nào 2
3. Giới thiệu
O ScrumLab: Nơi học tập, thực hành và trải nghiệm
các dự án phát triển phần mềm với agileScrum
O Nhóm Z: Phát triển một ứng dụng In-House,
Nhóm gồm 4 thành viên (01 PO, 01 Scrum Master
kiêm Dev, 02 Dev). Làm việc vào các buổi chiều 3,
5, 7 hằng tuần (13h30 – 17h30).
O Z đã triển khai dự án ngay từ đầu với Scrum, sau
gần 01 năm thực hành với 09 Sprint, độ dài Sprint
ban đầu là 3 tuần (9 buổi làm việc) rút xuống còn
2 tuần (6 buổi làm việc).
O Bài trình bày mô tả lại cách Nhóm chúng tôi đã
triển khai Scrum tại ScrumLab.
Chúng tôi thực hành Scrum như thế nào 3
4. Công tác chuẩn bị (1)
OScrum Course(4/2011)
Chúng tôi thực hành Scrum như thế nào 4
5. Công tác chuẩn bị (2)
Chúng tôi thực hành Scrum như thế nào 5
OĐồ nghề: Bảng trắng, Planning Poker,
Index Card, Sticky Note, Bút màu, Giấy
trắng, .v.v.
6. Công tác chuẩn bị (3)
Chúng tôi thực hành Scrum như thế nào 6
OCác giá trị cốt lõi của agileScrum luôn
hiện diện trong ScrumLab
7. Công tác chuẩn bị (4)
Chúng tôi thực hành Scrum như thế nào 7
OHạ tầng
O Công nghệ phát triển: Java EE 6JSF 2.0
O Hệ quản trị CSDL: MySQL
O Application Server: Glassfish
O SVN: ServerClient
O Hudson CI
O Redmine
8. Bố trí phòng làm việc
Chúng tôi thực hành Scrum như thế nào 8
Bảng công việc
Bàn làm việc
Tủ sáchtài liệu
Bảng phụ
Biểu đồ Burndown
User Story
10. Xây dựng Sprint Backlog (1)
Chúng tôi thực hành Scrum như thế nào 10
OTổ chức Họp kế hoạch Sprint
O Thành phần: PO, SM, Dev (không ai được vắng
mặt)
O Khung thời gian: 3 tiếng (Sprint 3 tuần)2 tiếng
(Sprint 2 tuần)
OXây dựng Sprint Backlog
O PO xác định Mục tiêu Sprint (Sprint Goal)
O Lựa chọn Story có độ ưu tiên cao từ Product
Backlog và mọi người đều phải hiểu rõ về các
Story được đó.
11. Xây dựng Sprint Backlog (2)
Chúng tôi thực hành Scrum như thế nào 11
O User Story được bổ sung thông tin ở mặt sau
12. Xây dựng Sprint Backlog (3)
Chúng tôi thực hành Scrum như thế nào 12
O User Story được phân tách thành hạng mục công
việc
User Story
Hạng mục
công việc
13. Xây dựng Sprint Backlog (4)
Chúng tôi thực hành Scrum như thế nào 13
O Nhóm chơi Poker để Ước tính thời gian cho các
hạng mục công việc được tách nhỏ từ Story
14. Xây dựng Sprint Backlog (5)
Chúng tôi thực hành Scrum như thế nào 14
O Sprint Backlog hoàn chỉnh trên Bảng công việc (task
board)
Mục tiêu Sprint
15. Các quy tắc, thỏa thuận làm việc
O Định nghĩa hoàn thành
O Thỏa thuận làm việc
Chúng tôi thực hành Scrum như thế nào 15
16. Nộp trứng!
O Không đúng giờVắng mặt
O Gây lỗi SVN
Chúng tôi thực hành Scrum như thế nào 16
1 trứng = 50K
17. Họp Scrum Hằng ngày
O Thời gian cố định: 13h30 các ngày thứ 3, 5, 7
O Địa điểm cố định: ScrumLab
O Nhân sự: Scrum Master và Nhóm Phát triển, đôi
khi có sự tham dự của PO
O Đảm bảo khung thời gian (không quá 15 phút)
O Đứng họp và sử dụng bóng để luân phiên
O Đảm bảo chỉ trả lời 03 câu hỏi
O Cập nhật Sprint Backlog (Bảng công việc) và biểu
đồ Sprint Burndown
Chúng tôi thực hành Scrum như thế nào 17
18. Sơ kết Sprint
O Tổ chức
O Tiến hành sau khi Sprint kết thúc
O Thành phần: PO, SM, Nhóm Phát triển, các bên
liên quan (đôi khi được mời)
O Tiến hành nhanh gọn trong vòng một tiếng, không
chuẩn bị nhiều
O Tiến hành
O Trình bày các phần tăng trưởng đã hoàn thành
O Ghi nhận các phản hồi
Chúng tôi thực hành Scrum như thế nào 18
19. Cải tiến Sprint
O Tổ chức ngay sau Sơ kết Sprint (cùng buổi chiều)
O Rà soát lại toàn bộ Sprint vừa qua, tập trung vào
những gì đã làm tốtdở trong Sprint vừa rồi
O Xác định các hành động cải tiến trong Sprint tiếp theo
O Những điều nhận được từ các buổi Họp Cải tiến
Sprint:
O Ước tính điểm cho User Story
O Tách các công việc đủ nhỏ
O Làm các bản mẫu ngay từ đầu
O Chiến thuật chọn task Hướng-Mục-tiêu-Sprint
O V.v.
Chúng tôi thực hành Scrum như thế nào 19
20. Một số vấn đề
O Thất bại với Sprint đầu tiên
O Nhóm làm việc không Hướng-Mục-tiêu-Sprint
O Cộng tác kém với PO
O Không làm bản mẫu (prototype)
O Chưa sử dụng các công cụ đo để xác định Tốc độ
của Nhóm
O Định nghĩa Hoàn thành ít được cải tiến
O Kiểm thử Tích hợp thực hiện chưa tốt
Chúng tôi thực hành Scrum như thế nào 20
21. Thành quả (1)
Chúng tôi thực hành Scrum như thế nào 21
OCode chất lượng hơn
OCộng tác Nhóm ngày càng chặt chẽ
OThực hành thuần thục các kỹ thuật: Lập
trình cặp, Phát-triển-Hướng-Kiểm-thử
(TDD), Tái cấu trúc Mã nguồn (Code
Refactoring)
OPhát hành được sản phẩm cuối mỗi Sprint
22. Thành quả (2)
Chúng tôi thực hành Scrum như thế nào 22
O Ngày bắt đầu dự án: 23/04/2011
O Ngày kết thúc dự án: 15/04/2011
O Sprints: 09
O Số giờ làm việc : ~948h = 118 man-month (chỉ
tính giờ của Dev)
O Phát hành có giá trị: 04
O Tổng số bug phát hiện sau khi phát hành 04 bản
trên: 50
23. Thống kê (1)
Chúng tôi thực hành Scrum như thế nào 23
O Alpha 1 - 20/09/2011
O Feature: 23
O Document: 03 (DB Design, Install Guide, User
Guide)
O Sprint phát hành: 5
O Bug: 13
O Code:
O Class: 279 (41 Testing Class)
O GUI: 280 file(XHTMLCSSJSImage)
24. Thống kê (2)
Chúng tôi thực hành Scrum như thế nào 24
O Beta 1 - 17/10/2011
O Feature: 30
O Document: 03 (DB Design, Install Guide, User
Guide) được cập nhật mới
O Sprint phát hành: 6
O Bug: 04
O Code:
O Class: 279 (41 Testing Class)
O GUI: 276 file (XHTMLCSSJSImage)
O Line of Code (LOC): 33292
O Methods: 2276
25. Thống kê (3)
Chúng tôi thực hành Scrum như thế nào 25
O Beta 2 - 02/03/2012
O Feature: >30
O Document: 03 (DB Design, Install Guide, User
Guide) được cập nhật mới
O Sprint phát hành: 7
O Bug: 23
O Code:
O Class: 340 (43 Testing Class)
O GUI: 299 file (XHTMLCSSJSImage)
O Line of Code (LOC): 39540
O Methods: 2593
26. Thống kê (4)
Chúng tôi thực hành Scrum như thế nào 26
O 1.0 - 15/04/2012
O Feature: >30
O Document: 04 (DB Design, Install Guide, User Guide,
Webservice User Guide)
O Online Support Site
O Sprint phát hành: 9
O Bug: 10
O Code:
O Class: 340 (44 Testing Class)
O GUI: 320 file (XHTMLCSSJSImage)
O Line of Code (LOC): 40903
O Methods: 2667
28. Xin cảm ơn!
Thông tin liên hệ: Nguyễn Việt Khoa
O ScrumLab - FPT–APTECH Hà Nội
O Email: khoanv@fpt.aptech.ac.vn
O Điện thoại: 0912 151 629
Chúng tôi thực hành Scrum như thế nào 28
Editor's Notes
PO sẽ hỗ trợ giải thích rõ về Story khi cần.
Mô tả thêm về Story sẽ được viết ra mặt sau Index Card.
Các hạng mục công việc được ghi vào các mẩu giấy (Sticky Note)