Chúng tôi thực hành
Scrum
như thế nào
KhoaNV – khoanv@fpt.aptech.ac.vn
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
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
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
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.
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
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
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
Product Backlog
Chúng tôi thực hành Scrum như thế nào 9
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 đó.
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
Hỏi đáp
Chúng tôi thực hành Scrum như thế nào 27
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

ScrumLab

  • 1.
    Chúng tôi thựchành Scrum như thế nào KhoaNV – khoanv@fpt.aptech.ac.vn
  • 2.
    Nội dung O Giớithiệ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ẩnbị (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ẩnbị (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ẩnbị (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ẩnbị (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ònglà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
  • 9.
    Product Backlog Chúng tôithực hành Scrum như thế nào 9
  • 10.
    Xây dựng SprintBacklog (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 SprintBacklog (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 SprintBacklog (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 SprintBacklog (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 SprintBacklog (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ằngngà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 OTổ 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 OTổ 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úngtô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úngtô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úngtô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úngtô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úngtô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úngtô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
  • 27.
    Hỏi đáp Chúng tôithực hành Scrum như thế nào 27
  • 28.
    Xin cảm ơn! Thôngtin 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

  • #11 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)