Mountain Goat Software, LLC
<tên người trình bày><ngày tháng>
Mountain Goat Software, LLC
<Tên><Ngày tháng>
Trình bày bở!i
Mountain Goat Software, LLC
Hirotaka Takeuchi & Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, Tháng 1 - 1986.
“Hướng tiê8p cận…‘chạy tiê8p sức’ đê! phát triê!n sa!n phẩ!m…có thê! xung đột với những mục tiêu vêG tố8i đa tố8c độ và sự uyê!n chuyê!n. Thay vào đó hướng tiê8p cận ‘Bóng bẩGu dục’—các thành viên cùng tung hứng—có lẽ sẽ phục vụ tố8t hởn cho các nhu cẩGu cạnh tranh ngày nay.”
Chúng ta đang thua trong cuộc chạy tiê8p sức
Mountain Goat Software, LLC
•Scrum là quy trình nhanh gọn nhằm tập trung đưa ra thành phẩ!m với giá trị sư! dụng cao nhất, trong thời gian ngắn nhất.•Nhằm kiê!m tra nhanh và lặp lại phần mềm thực
sự hoạt động được (2 tuầ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 sau.
Scrum trong 100 từ
Mountain Goat Software, LLC
NguốGn gố8c cu!a Scrum• Jeff Sutherland• Bắ8t đẩGu scrums tại Easel Corp,
1993
• IDX với hởn 500 người thực hành Scrum
• Ken Schwaber• ADM
• Scrum được trình bày tại OOPSLA 95 với Sutherland
• Tác gia! cu!a 3 tập sách vêG Scrum
• Mike Beedle• Scrum patterns trong PLOPD4
• Ken Schwaber & Mike Cohn• ĐốGng sáng lập Scrum Alliance nắm
2002, khở!i nguốGn từ Agile Alliance
Mountain Goat Software, LLC
Scrum được sư! dụng bở!i:•Microsoft•Yahoo•Google•Electronic Arts•High Moon Studios•Lockheed Martin•Philips•Siemens•Nokia•Capital One•BBC•Intuit
•Intuit•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting•Oce
Mountain Goat Software, LLC
Scrum được sư! dụng trong:
• PhẩGn mêGm thưởng mại
• Phát triê!n phẩGn mêGm trong cống ty
• Phát triê!n phẩGn mêGm theo hợp đốGng
• Các dự án đốGng giá
• Ứng dụng kê8 toán
• Các ứng dụng đạt chứng nhận ISO 9001
• Hệ thố8ng nhúng
• Hệ thố8ng 24x7 với yêu cẩGu đạt thời gian vận hành 99.999%
• Dự án Joint Strike Fighter cho máy bay chiê8n đẩ8u cu!a Mỹ, Anh,Canada
•Phát triê!n Video game•Hệ thố8ng liên quan đê8n nhẩn mạng được FDA phê chuẩ!n
•PhẩGn mêGm điêGu khiê!n vệ tinh
•Websites•PhẩGn mêGm cho các dụng cụ cẩGm tay
•Điện thoại di động•Ứng dụng chuyê!n mạng•Ứng dụng ISV•Một số8 ứng dụng lớn khác
Mountain Goat Software, LLC
Đặc điê!m
• Nhóm tự qua!n
• Sa!n phẩ!m tiê8n triê!n trong một chuốmi các giai đoạn dài khoa!ng 1 tháng gọi là 1 “cuộc chạy nước rút” (sprints)
• Yêu cẩGu được miêu ta! thành một danh sách “đởn hàng sa!n phẩ!m” (product backlog)
• Khống có kỹ thuật thực hành cụ thê! theo quy định
• Sư! dụng luật sinh đê! tạo mối trường nhanh gọn nhằm phát hành sa!n phẩ!m
• Một loại “quy trình nhanh gọn”
Mountain Goat Software, LLC
Ba!n tuyên ngốn Agile – Tuyên bố8 vêG các giá trị
Quy trình và cống cụ
Các cá nhẩn với sự tưởng tác
vượt trên
Theo kê8 hoạchDêm thay đố!i
Source: www.agilemanifesto.org
Tài liệu dài dòng
PhẩGn mêGm hoạt động được
Thưởng lượng hợp đốGng
Sự cộng tác cu!a khách hàng
vượt trên
vượt trên
vượt trên
Mountain Goat Software, LLC
Cẩ8p độ nhiêmu cu!a dự án
Đởn gia!n
Rẩ8t phức tạpHốmn loạn
Phức tạp
Cống nghệ
Yêu cẩGu
Khác xa tho!a thuận
GẩGn đúng với tho!a thuận
Chắ8c
chắ8n
Khống
chắ8c
NguốGn: Strategic Management and Organizational Dynamics T/g: Ralph Stacey trong tập sách Agile Software
Development with Scrum, Tác gia!: Ken Schwaber & Mike Beedle.
Mountain Goat Software, LLC
Lưu ý: Thuật ngữ (ND)• Sprint backlog
• Danh sách chức nắng cẩGn thực hiện trong 1 sprint
• Product backlog
• Danh sách toàn bộ chức nắng cẩGn thực hiện
• Daily scrum
• Họp nhanh, báo cáo tiê8n độ mốmi ngày
• User Story
• Phát biê!u yêu cẩGu chức nắng theo hướng tiê8p cận cu!a người sư! dụng
Mountain Goat Software, LLC
Scrum
Cancel
Gift wrap
Return
Sprint2-4 tuẩGn
Return
Mục tiêu trong Sprint
Sprint backlog Sa!n phẩ!m tiêGm nắng
Product backlog
CouponsGift wrap
Coupons
Cancel
24 giờ
Mountain Goat Software, LLC
Tố!ng quát quy trình
Họp hàng ngày
Sprint backlog
Sa!n phẩ!m tiêGm nắng
Product backlog
giờ
Tuầ�n
Mountain Goat Software, LLC
Sprints
• Các dự án Scrum tiê8n triê!n qua một chuốmi các “sprints”
• Như các lẩGn lặp cu!a Extreme Programming
• Độ dài từ 2–4 tuẩGn hoặc khoa!ng 1 tháng
• Một khoa!ng thời gian khống đố!i tạo nên một nhịp điệu
• Sa!n phẩ!m được thiê8t kê8t, viê8t mã và kiê!m định trong sprint
Mountain Goat Software, LLC
Phát triê!n tuẩGn tự vs. Phát triê!n chốGng 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… ...Nhóm Scrum lúc nào
cũng thực hiện một chút cu!a mọi việc
Mountain Goat Software, LLC
Khống thay đố!i trong một sprint
• Kê8 hoạch sprint trong khoa!ng thời gian sao cho khống có sự thay đố!i nào (vêG yêu cẩGu/ chức nắng -ND) trong mốmi sprint
Thay đố!i
Mountain Goat Software, LLC
Kiê8n trúc Scrum
•Product owner•ScrumMaster•Nhóm
Vai trò
•Lập kê8 hoạch Sprint•Tố!ng kê8t Sprint•Rút kinh nghiệm Sprint•Họp scrum hàng ngày
Nghi thức
•Product backlog•Sprint backlog•ĐốG thi Burndown
Cống cụ
Mountain Goat Software, LLC
Scrum framework
•Lập kê8 hoạch Sprint•Tố!ng kê8t Sprint•Rút kinh nghiệm Sprint•Họp scrum hàng ngày
Ceremonies
•Product backlog•Sprint backlog•ĐốG thị Burndown
Artifacts
•Product owner•ScrumMaster•Nhóm
Vai trò
Mountain Goat Software, LLC
Product owner
• Xác định tính nắng cu!a sa!n phẩ!m
• Quyê8t định ngày và nội dung cho mốmi lẩGn phát hành
• Chịu trách nhiệm vêG lợi nhuận cu!a sa!n phẩ!m (ROI)
• Xác định độ ưu tiên cho các chức nắng dựa trên số8
liệu thị trường
• Thay đố!i độ ưu tiên và chức nắng cho mốmi lẩGn lặp
(nê8u cẩGn)
• Chẩ8p nhận hay loại bo! kê8t qua! cống việc
Mountain Goat Software, LLC
ScrumMaster
• Đại diện qua!n lý dự án
• Chịu trác nhiệm đưa ra các giá trị và thực hành theo Scrum
• Gia!i quyê8t các khó khắn
• Ba!o đa!m nhóm hoạt động hê8t cống suẩ8t và hiệu qua!
• Tạo sự hợp tác chặt chẽ giữa các vai trò, chức nắng
• Giúp nhóm tránh kho!i sự can thiệp từ bên ngoài
Mountain Goat Software, LLC
Nhóm
•Thường từ 5 – 9 người
•Vai trò đan xen nhau:• Lập trình viên, kiê!m định viên, thiê8t kê8
user experience, etc.
•Pha!i là thành viên toàn thời gian• Có thê! có ngoại lệ (ví dụ: qua!n trị CSDL)
Mountain Goat Software, LLC
Nhóm
•Tự qua!n
• Tố8t nhẩ8t là khống có chức danh, đối khi, rẩ8t hiê8m 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ố8t 1 sprint – ND)
Mountain Goat Software, LLC
•Product owner•ScrumMaster•Team
Roles
Kiê8n trúc Scrum
•Product backlog•Sprint backlog•ĐốG thị Burndown
Artifacts
•Lập kê8 hoạch Sprint•Tố!ng kê8t Sprint•Rút kinh nghiệm Sprint•Họp scrum hàng ngày
Nghi thức
Mountain Goat Software, LLC
Họp lập kê8 hoạch Sprint
Mục tiêuSprint
Sprint
backlog
Các điêGu kiện
Kha! nắng cu!a nhóm
Product backlog
Cống nghệ
Sa!n phẩ!m hiện tại
Mountain Goat Software, LLC
Lập kê8 hoạch Sprint• Nhóm chọn ra các mục có thê! cam kê8t hoàn tẩ8t từ Product Backlog
• Sprint backlog được tạo ra• Các tác vụ được xác định và ước lượng
thời gian hoàn tẩ8t (1-16 giờ)
• Cộng tác, khống pha!i là việc riêng cu!a ScrumMaster
• Thiê8t kê8 ở! cẩ8p cao
Là người lên kế hoạch kỳ nghỉ, tôi
muốn thấy hình ảnh của các khách sạn.
Là người lên kế hoạch kỳ nghỉ, tôi
muốn thấy hình ảnh của các khách sạn.
Viê8t code chức nắng (8 hours)Viê8t code giao diện (4)Viê8t cở cẩ8u kiê!m định (4)Viê8t code lớp foo(6)Cập nhật các kiê!m định hiệu suẩ8t (4)
Mountain Goat Software, LLC
Họp scrum hàng ngày
•Thống số8• Hàng ngày
• 15 phút
• Họp đứng
•Khống pha!i đê! gia!i quyê8t vẩ8n đêG• Ai cũng có thê! tham dự
• Chỉ! có thành viên nhóm, ScrumMaster, product owner được nói
•Đê! tránh các cuộc họp khống cẩGn thiê8t khác
Mountain Goat Software, LLC
Mốmi người tra! lời 3 cẩu
•Khống pha!i đê! báo cáo cho ScrumMaster• Mà là cam kê8t với mọi người (vêG cống việc – ND)
Tôi đã làm gì hôm trước?1
Tôi sẽ làm gì hôm nay?2
Các trở ngại?3
Mountain Goat Software, LLC
Họp tố!ng kê8t sprint
•Nhóm trình bày những gì đã đạt được
•Thường theo kiê!u trình diêmn các chức nắng hoặc kiê8n trúc mới
•Khống chính thức• Chuẩ!n bị trong 2 giờ
• Khống dùng slides
•Toàn bộ nhóm tham dự•Mời thêm bẩ8t cứ ai
Mountain Goat Software, LLC
Họp rút kinh nghiệm Sprint•Định kỳ xem xét cái được/ chưa được
•Thường từ 15–30 phút•Thực hiện sau mốmi sprint•Toàn bộ nhóm tham dự• ScrumMaster
• Product owner
• Nhóm
• Có thê! có khách hàng và những vai trò khác
Mountain Goat Software, LLC
Bắ8t đẩGu / Kê8t thúc/ Tiê8p tục
•Nhóm tha!o luận những điêGu mà mình muố8n:
Bắ8t đẩGu thực hiệnKhống thực hiện
nữaTiê8p tục thực
hiện
Mountain Goat Software, LLC
•Product owner•ScrumMaster•Team
Roles
Kiê8n trúc Scrum
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•ĐốG thị Burndown
Cống cụ
Mountain Goat Software, LLC
Product backlog•Là các yêu cẩGu•Danh sách chức nắng mong muố8n cu!a dự án
•Trường hợp lý tưở!ng, sẽ thê! hiện mốmi mục mang một giá trị cụ thê! cho người sư! dụng hay khách hàng cu!a sa!n phẩ!m
•Được thiê8t lập độ ưu tiên bở!i product owner
•Ở! mốmi sprint, sẽ được thiê8t lập lại độ ưu tiên
Đẩy là product backlog
Đẩy là product backlog
Mountain Goat Software, LLC
Một ví dụ product backlog
Các mụcƯớc tính
Cho phép khách đặt chốm 3Là một khách hàng, tối muố8n hu!y đặt chốm
5
Là khách hàng, tối muố8n đố!i ngày đặt chốm.
3
Là nhẩn viên khách sạn, tối có thê! tạo báo cáo RevPAR (revenue-per-available-room)
8
Ca!i tiê8n xư! lý ngoại lệ 8... 30... 50
Mountain Goat Software, LLC
Mục tiêu cu!a sprint•Phát biê!u ngắ8n vêG cống việc sẽ tập trung trong sprint. Ví dụ:
Ứng dụng CSDL
Dịch vụ tài chính
Khoa học đời số8ngHốm trợ chức nắng cẩGn thiê8t cho nghiên cứu dẩn số8 di truyêGn học
Hốm trợ nhiêGu chỉ! số8 kỹ thuật hởn cống ty ABC. Hốm trợ thời gian thực và streaming dữ liệu
Cho phép ứng dung chạy với SQL Server bên cạnh Oracle.
Mountain Goat Software, LLC
Qua!n lý sprint backlog
• Mốmi người tự đắng ký cống việc cho mình
• Cống việc sẽ khống được phẩn cống
• Mốmi ngày sẽ cập nhật thời gian dự trù hoàn tẩ8t cống việc
Mountain Goat Software, LLC
Qua!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ê8u cống việc khống rõ ràng, nên đưa vào sprint backlog với thời gian nhiêGu hởn và chia nho! đê! thực hiện
• Cập nhật cống việc còn lại khi hiê!u thêm vêG cống việc đó
Mountain Goat Software, LLC
Một ví dụ sprint backlog
Cống việcCống việcViê8t code giao diện
Viê8t code chức nắng
Kiê!m thư! chức nắngViê8t trợ giúp trực tuyê8nViê8t lớp foo
MonMon8
16
8
12
8
TuesTues4
12
16
8
WedWed ThurThur
4
11
8
4
FriFri
8
8
Thêm ghi chép lốmi
8
10
16
8
8
Mountain Goat Software, LLC
Một ví dụ đốG thị sprint burndown
Giờ
Mountain Goat Software, LLC
Giờ
40
30
20
10
0Mon Tue Wed Thu Fri
Cống việcCống việcViê8t code giao diệnViê8t code chức nắngKiê!m tra chức nắngViê8t trợ giúp trực tuyê8n
MonMon8
16
8
12
TuesTues WedWed ThurThur FriFri4
12
16
7
11
8
10
16 8
50
Mountain Goat Software, LLC
Kha! nắng mở! rộng
• Thống thường, mốmi nhóm có 7 ± 2 người
• Kha! nắng mở! rộng tùy từng nhóm
• Các yê8u tố8 trong mở! rộng
• Loại ứng dụng
• Độ lớn cu!a nhóm
• Độ phẩn tán cu!a nhóm
• Độ dài cu!a dự án
• Scrum từng được sư! dụng trong các dự án trên 500 người
Mountain Goat Software, LLC
Mở! rộng bằng cách tố! chức theo Scrum cu!a các scrums
Mountain Goat Software, LLC
Scrum cu!a scrums cu!a scrums
Mountain Goat Software, LLC
Xem thêm
•www.mountaingoatsoftware.com/scrum
•www.scrumalliance.org
•www.controlchaos.com
Mountain Goat Software, LLC
Đọc thêm• Agile and Iterative Development: A
Manager’s Guide t/g Craig Larman
• Agile Estimating and Planning t/g Mike Cohn
• Agile Project Management with Scrum t/g Ken Schwaber
• Agile Retrospectives t/g Esther Derby và Diana Larsen
Mountain Goat Software, LLC
Đọc thêm• Agile Software Development Ecosystems t/g
Jim Highsmith
• Agile Software Development with Scrum t/g Ken Schwaber vàMike Beedle
• Scrum and The Enterprise t/g Ken Schwaber
• Succeeding with Agile t/g Mike Cohn
• User Stories Applied for Agile Software Development t/g Mike Cohn
Mountain Goat Software, LLC
QuyêGn sở! hữu
•Miêmn phí:• Chia se! ―sao chép, phẩn phát, chuyê!n giao
• Thay đố!i―đê! đáp ứng cống việc
•Theo các điêGu kiện• Ghi công. Bạn phải ghi công tác phẩm theo cách thức quy định của
tác giả hoặc người cấp phép (nhưng không hàm ý họ chứng thực bạn hoặc việc sử dụng tác phẩm của bạn).
•QuyêGn cu!a tác gia! vẩmn là cao nhẩ8t
• Đê! có thêm thống tin http://creativecommons.org/licenses/by/3.0/
Mountain Goat Software, LLC
Thống tin liên lạcMike Cohn
www.mountaingoatsoftware.com
(720) 890-6110 (office)
Mike Cohnmike@mountaingoatsoftwar
e.comwww.mountaingoatsoftware
.com(720) 890-6110 (office)Bạn có thể, xóa phầ/n này
hay bầ2t cứ slide nào
nhưng bạn pha,i ghi rõ
nguồ/n thồng tin trong bài
trình bày cu,a bạn. Đặt
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 ca,m ởn.