Mountain Goat Software, Scrum được sử dụng trong: • Dự án Joint Strike Fighter cho máy bay chiến đấu của Mỹ, Anh,Canada •Phát triển Video game •Hệ thống được FDA phê chuẩn, hệ thống li
Trang 1Mountain Goat Software,
<tên người trình bày>
<ngày tháng>
Trang 2<Ngày tháng>
Trình bày bởi
Trang 3Mountain Goat Software,
Chúng ta đang thua trong cuộc chạy tiếp sức
Hirotaka Takeuchi & Ikujiro Nonaka,
“The New New Product Development
Game”, Harvard Business Review,
Tháng 1 - 1986.
“Hướng tiếp cận…’chạy tiếp sức’ để phát triển sản phẩm…có thể xung đột với những mục tiêu về tối đa tốc
độ và sự uyển chuyển Tuy nhiên hướng tiếp cận ‘Bóng bầu dục’—các thành viên cùng tung hứng—sẽ phục
vụ tốt hơn cho các nhu cầu cạnh tranh ngày nay.”
Trang 4•Scrum là quy trình agile nhằm tập trung hoàn
tất công việc với giá trị cao nhất, trong thời gian ngắn nhất
•Nhằm phát triển nhanh và liên tiếp phần mềm thực sự hoạt động được (2 tuần đến 1 tháng)
•Khách hàng xác lập độ ưu tiên Nhóm tự tổ chức
để xác định cách tốt nhất để thực hiện các chức năng có độ ưu tiên cao nhất
•Mỗi 2 tuần đến 1 tháng, mỗi người có thể thấy phần mềm thực sự hoạt động và quyết định
phát hành hay tiếp tục mở rộng trong sprint
Scrum trong 100
từ
Trang 5Mountain Goat Software,
Xuất xứ của Scrum
• Jeff Sutherland
• Bắt đầu scrums tại Easel Corp, 1993
• IDX với hơn 500 người thực hành
• Scrum patterns trong PLOPD4
• Ken Schwaber & Mike Cohn
• Đồng sáng lập Scrum Alliance năm
2002, khởi nguồn từ Agile Alliance
Trang 6Scrum được sử dụng bởi:
Trang 7Mountain Goat Software,
Scrum được sử dụng trong:
• Dự án Joint Strike Fighter cho
máy bay chiến đấu của Mỹ,
Anh,Canada
•Phát triển Video game
•Hệ thống được FDA phê chuẩn, hệ thống liên quan đến nhân mạng
•Phần mềm điều khiển vệ tinh
•Websites
•Phần mềm cho các dụng cụ cầm tay
•Điện thoại di động
•Ứng dụng chuyển mạng
•Ứng dụng ISV
•Một số ứng dụng lớn khác
Trang 8• Yêu cầu được miêu tả thành một danh sách
“cần thực hiện cho sản phẩm” (product
backlog)
• No specific engineering practices prescribed
• Uses generative rules to create an agile
environment for delivering projects
•
Trang 9Mountain Goat Software,
Bản tuyên ngôn Agile – Lời
thay cho thay cho
Trang 11Mountain Goat Software,
Trang 12Cancel
Gift wrap Return
Sprint 2-4 tuần Return
Mục tiêu trong Sprint
Sprint
Product backlog
Coupons Gift wrap
Coupons Cancel
24 giờ
Trang 13Mountain Goat Software,
Tổng quát quy trình
Daily Scrum
Sprint backlog
Sản phẩm tiềm năng cho lần lặp
Trang 14• Độ dài từ 2–4 tuần hoặc khoảng 1 tháng
• Một khoảng thời gian nhất định sẽ tạo
một nhịp điệu
• Sản phẩm được thiết kết, viết mã và kiểm
định trong quá trình sprint
Trang 15Mountain Goat Software,
Phát triển tuần tự hay chồng lặp
Source: “The New New Product Development Game” by
Takeuchi and Nonaka Harvard Business Review,
January 1986.
Thay vì chỉ làm một công việc tại một thời điểm… Scrum teams thực hiện
một chút của mọi việc tại một thời điểm
Yêu cầu Thiết kế Viết mã Kiểm định
Trang 16No changes during a sprint
•Lập mỗi sprint trong khoảng thời gian sao cho không
có sự thay đổi nào (về yêu cầu/ chức năng -ND) trong mỗi sprint
Thay đổi
Trang 17Mountain Goat Software,
•Daily scrum meeting
Trang 18Scrum framework
•Sprint planning
•Sprint review
•Sprint retrospective
•Daily scrum meeting
Trang 19Mountain Goat Software,
Product owner
• Xác định tính năng của sản phẩm
• Quyết định ngày và nội dung cho mỗi lần phát hành
• Chịu trách nhiệm về lợi nhuận của sản phẩm (ROI)
• Xác định độ ưu tiên cho các chức năng dựa trên số liệu thị trường
• Thay đổi độ ưu tiên và chức năng sau mỗi lần lặp (nếu cần)
• Chấp nhận hay loại bỏ kết quả công việc
Trang 20The ScrumMaster
• Đại diện quản lý dự án
• Chịu trác nhiệm đưa ra các giá trị và công việc của Scrum
• Giải quyết các khó khăn
• Bảo đảm nhóm hoạt động hết công suất và
Trang 21Mountain Goat Software,
The team
• Thường từ 5 – 9 người
• Vai trò đan xen nhau:
• Lập trình viên, kiểm định viên, thiết kế user
experience, etc.
• Phải là thành viên toàn thời gian
• Có thể có ngoại lê đối với (e.g., quản trị CSDL)
Trang 22The team
• Tốt nhất là không có chức danh, đôi khi,
rất hiếm cũng có thể có
• Thành viên nhóm chỉ nên thay đổi giữa
các sprints (không đổi trong suốt 1
sprint – ND)
Trang 23Mountain Goat Software,
•Daily scrum meeting
Cuộc họp
Trang 24Họp để thiết lập Sprint
Lập độ ưu tiên Sprint
• Phân tích & đánh giá product backlog
• Mục tiêu của sprint
Lập kế hoạch Sprint
• Quyết định làm thế nào đạt được mục tiêu của Sprint (thiết kế)
• Lập sprint backlog (tác vụ)
từ các mục trong Product backlog (user stories / tính
Mục tiêuSprint
Mục tiêuSprint
Sprint backlo
g
Sprint backlo
Trang 25Mountain Goat Software,
Thiết lập Sprint
trong Product Backlog
• Các tác vụ được xác định và ước lượng thời gian
Trang 26The daily scrum
product owner được nói
• Để tránh các cuộc họp không cần thiết
Trang 27Mountain Goat Software,
Mọi người trả lời 3 câu
• Không phải để báo cáo cho ScrumMaster
• Mà là cam kết với mọi người (về công việc – ND)
Tôi đã làm gì hôm trước? 1
Tôi sắp làm gì hôm nay? 2
Các trở ngại? 3
Trang 28Họp tổng kết sprint
• Nhóm trình bày những gì đã đạt được
• Thường theo kiểu trình diễn các chức
năng hoặc kiến trúc mới
Trang 29Mountain Goat Software,
Trang 30Không thực hiện nữa
Trang 31Mountain Goat Software,
•Daily scrum meeting
Trang 32Product backlog
• Là các yêu cầu
• Danh sách chức năng mong muốn của dự án
• Trường hợp lý tưởng, sẽ thể hiện mỗi mục mang một giá trị cụ thể cho
người sử dụng hay khách hàng của sản phẩm
• Được thiết lập độ ưu tiên bởi product owner
• Ở mỗi sprint, sẽ được thiết lập lại độ ưu tiên
Đây là
Đây là
Trang 33Mountain Goat Software,
Một ví dụ product backlog
Allow a guest to make a reservation 3
As a guest, I want to cancel a
As a guest, I want to change the
As a hotel employee, I can run
RevPAR reports
Trang 34Mục tiêu của sprint
• Phát biểu ngắn về công việc sẽ tập
trung trong sprint Ví dụ:
Database
Application
Financial services
Life Sciences Support features necessary for population genetics studies.
Support more technical indicators than company ABC
Make the application run on
SQL Server in addition to
Oracle.
Trang 35Mountain Goat Software,
Quản lý sprint backlog
• Mỗi người tự đăng ký công việc cho mình
• Không bao giờ phân công cho ai
• Mỗi ngày sẽ cập nhật thời gian dự trù
hoàn tất công việc
Trang 36Quản lý sprint backlog
• Mọi thành viên có thể thêm, xóa, thay đổi
sprint backlog
• Thể hiện công việc cho sprint
• Nếu công việc không rõ ràng, nên đưa vào
sprint backlog với thời gian nhiều hơn và chia nhỏ để thực hiện
• Cập nhật công việc còn lại và sẽ thấy
thêm các công việc khác
Trang 37Mountain Goat Software,
Một ví dụ sprint backlog
Tasks
Code the user
interface
Code the middle tier
Test the middle tier
Write online help
Write the foo class
Mon
8168128
Tues
412168
Wed Thur
411
84
Trang 38Một ví dụ sprint burndown chart
Trang 39Mountain Goat Software,
Tasks
Code the user
interface
Code the middle tier
Test the middle tier
Write online help
Mon
8 16 8 12
Tues Wed Thur Fri
4 12 16
7 11
8 10
50
Trang 41Mountain Goat Software,
Mở rộng bằng cách tổ chức theo Scrum của các scrums
Trang 42Scrum of scrums of scrums
Trang 43Mountain Goat Software,
Trang 44Đọc thêm
Guide by Craig Larman
Schwaber
Larsen
Trang 45Mountain Goat Software,
Development by Mike Cohn
Trang 46Quyền sở hữu
• Miễn phí:
• Chia sẻ ―sao chép, phân phát, chuyển giao
• Phối hợp―để đáp ứng công việc
• Theo các điều kiện
• Quyền hạn Bạn phải tôn trọng quyền sở hữu theo
quy ước của tác giả hay người sở hữu
• Quyền của tác giả vẫn là cao nhất
• Để có thêm thông tin
http://creativecommons.org/licenses/by/3.0/
Trang 47Mountain Goat Software,
Thông tin liên lạc
Mike Cohn mike@mountaingoatsoftwar
e.com www.mountaingoatsoftware.
com (720) 890-6110 (office)
Mike Cohn mike@mountaingoatsoftwar
e.com www.mountaingoatsoftware.
com (720) 890-6110 (office)
Bạn có thể xóa phần này hay bất cứ slide nào nhưng bạn phải ghi rõ nguồn thông tin trong bài trình bày của bạn Để logo và tên công ty (ở góc trái bên dưới) hoặc dành riêng một slide nêu rõ nội dung (hay một phần nội dung) là từ nguồn này
Xin cảm ơn.