giới thiệu về scrum
DESCRIPTION
Giới thiệu về Scrum. . Giới thiệu về Scrum. Trình bày bởi. . - PowerPoint PPT PresentationTRANSCRIPT
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
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.”
Mountain Goat Software, LLC
•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 sau.
Scrum trong 100 từ
Mountain Goat Software, LLC
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• Ken Schwaber
• ADM• Scrum được trình bày tại OOPSLA 96
với Sutherland• Tác giả của 3 tập sách về Scrum
• Mike Beedle• 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
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ần mềm thương mại• Phát triển phần mềm trong
công ty• Phát triển phần mềm theo hợp
đồng• Các dự án đồng giá• Ứng dụng kế toán• Các ứng dụng đạt chứng nhận
ISO 9001• Hệ thống nhúng• Hệ thống 24x7 với yêu cầu đạt
thời gian vận hành 99.999%• 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
Mountain Goat Software, LLC
Đặc điểm•Các đội tự quản•Sản phẩm tiến triển theo một dãy các giai đoạn
dài khoảng 1 tháng gọi là 1 “cuộc chạy nước rút” (sprints)
•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•One of the “agile processes”
Mountain Goat Software, LLC
Bản tuyên ngôn Agile – Lời tuyên bố về các giá trịQuy trình và công
cụCác cá nhân với sự
tương tácthay cho
Theo kế hoạchDễ thay đổiSource:
www.agilemanifesto.org
Tài liệu toàn diệnPhần mềm hoạt động được
Đàm phán hợp đồng
Sự cộng tác của khách hàng
thay cho
thay cho
thay cho
Mountain Goat Software, LLC
Cấp độ nhiễu của dự án
Đơn giản
Rất phức tạpHỗn loạn
Phức tạp
Technology
Yêu
cầu
Khác xa thỏa thuận
Gần đúng với thỏa thuận
Chắc
ch
ắn
Khôn
g ch
ắc
Nguồn: Strategic Management and Organizational Dynamics T/g: Ralph Stacey trong tập sách Agile Software
Development with Scrum, Tác giả: Ken Schwaber & Mike Beedle.
Mountain Goat Software, LLC
Lưu ý: Thuật ngữ (ND)• Sprint backlog
• Danh sách chức năng cần thực hiện trong 1 sprint
• Product backlog• Danh sách toàn bộ chức năng cần thực hiện
• Daily scrum• Họp nhanh, báo cáo tiến độ mỗi ngày
• User Story• Các công việc người dùng sẽ thực hiện khi sử dụng
sản phẩm của dự án
Mountain Goat Software, LLC
Scrum
CancelGift wrap
Return
Sprint2-4 tuần
ReturnMục tiêu trong Sprint
Sprint backlog Sản phẩm tiềm năng
Product backlogCouponsGift wrap
CouponsCancel
24 giờ
Mountain Goat Software, LLC
Tổng quát quy trìnhDaily
Scrum
Sprint backlog
Sản phẩm tiềm năng cho lần lặp
kế tiếp
Product backlog
giờ
Tuần
Mountain Goat Software, LLC
Sprints•Các dự án kiểu Scrum tiến triển qua một
chuỗi các “sprints”• Analogous to Extreme Programming
iterations•Độ 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
Mountain Goat Software, LLC
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
Mountain Goat Software, LLC
No 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
Mountain Goat Software, LLC
Scrum framework•Product owner•ScrumMaster•Team
Con người
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Cuộc họp
•Product backlog•Sprint backlog•Burndown charts
Công cụ
Mountain Goat Software, LLC
Scrum framework
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Product owner•ScrumMaster•Team
Con người
Mountain Goat Software, LLC
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
Mountain Goat Software, LLC
The 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à hiệu
quả• 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 khỏi sự can thiệp từ bên ngoài
Mountain Goat Software, LLC
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)
Mountain Goat Software, LLC
The team
•Tự quản• 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)
Mountain Goat Software, LLC
•Product owner•ScrumMaster•Team
RolesScrum framework
•Product backlog•Sprint backlog•Burndown charts
Artifacts
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Cuộc họp
Mountain Goat Software, LLC
Họp để thiết lập SprintLậ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 năng)
• Ước đoán thời gian hoàn tất
Mục tiêu
Sprint
Sprintbacklo
g
Các điều kiện
Khả năng của nhóm
Product backlog
Công nghệ
Sản phẩm hiện tại
Mountain Goat Software, LLC
Thiết lập Sprint• Nhóm chọn các mục có thể cam kết hoàn tất
trong 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ất (1-16 giờ)
• Cộng tác, không phải là việc riêng của ScrumMaster• Thiết kế ở cấp 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.
Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)
Mountain Goat Software, LLC
The daily scrum•Thông số• Hàng ngày• 15 phút• Họp đứng
•Không phải để giải quyết vấn đề• 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ần
thiết khác
Mountain Goat Software, LLC
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
Mountain Goat Software, LLC
Họ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•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 ai cũng được
Mountain Goat Software, LLC
Họp “Sprint – một chặng đường”•Định kỳ xem xét cái được/ chưa được•Thường từ 15–30 phút•Thực hiện sau mỗi sprint•Toàn bộ nhóm tham dự• ScrumMaster• Product owner• Team• Có thể có khách hàng và những người
khác nữa
Mountain Goat Software, LLC
Bắt đầu / Kết thúc/ Tiếp tục•Nhóm thảo luận những điều mà mình
muốn:Bắt đầu thực
hiênKhông thực
hiện nữaTiếp tục thực
hiệnMột trong những cách họp sprint – một chặng đường.
Mountain Goat Software, LLC
•Product owner•ScrumMaster•Team
RolesScrum framework
•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting
Ceremonies
•Product backlog•Sprint backlog•Burndown charts
Công cụ
Mountain Goat Software, LLC
Product 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à
product backlog
Mountain Goat Software, LLC
Một ví dụ product backlogBacklog item Estimate
Allow a guest to make a reservation 3As a guest, I want to cancel a reservation. 5As a guest, I want to change the dates of a reservation. 3As a hotel employee, I can run RevPAR reports (revenue-per-available-room)
8
Improve exception handling 8... 30... 50
Mountain Goat Software, LLC
Mụ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 SciencesSupport features necessary for population genetics studies.
Support more technical indicators than company ABC with real-time, streaming data.
Make the application run on SQL Server in addition to Oracle.
Mountain Goat Software, LLC
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
Mountain Goat Software, LLC
Quả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
Mountain Goat Software, LLC
Một ví dụ sprint backlog
TasksCode the user interfaceCode the middle tierTest the middle tierWrite online helpWrite the foo class
Mon8
168
128
Tues4
1216
8
Wed Thur
411
84
Fri
8
8Add error logging
81016
88
Mountain Goat Software, LLC
Một ví dụ sprint burndown chart
Hour
s
Mountain Goat Software, LLC
Hour
s
40302010
0 Mon Tue Wed Thu Fri
TasksCode the user interfaceCode the middle tierTest the middle tierWrite online help
Mon8
168
12
Tues Wed Thur Fri4
1216
711
81016 8
50
Mountain Goat Software, LLC
Khả năng mở rộng•Thông thường, mỗi nhóm có 7 ± 2 người• Khả năng mở rộng tùy từng nhóm
•Các yếu tố trong mở rộng• Loại ứng dụng• Độ lớn của nhóm• Độ phân tán của nhóm• Độ dài củ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 của các scrums
Mountain Goat Software, LLC
Scrum of scrums of scrums
Mountain Goat Software, LLC
Xem thêm•www.mountaingoatsoftware.com/
scrum•www.scrumalliance.org•www.controlchaos.com•[email protected]
m
Mountain Goat Software, LLC
Đọc thêm• Agile and Iterative Development: A Manager’s
Guide by Craig Larman• Agile Estimating and Planning by Mike Cohn• Agile Project Management with Scrum by Ken
Schwaber• Agile Retrospectives by Esther Derby and Diana
Larsen
Mountain Goat Software, LLC
Đọc thêm• Agile Software Development Ecosystems by Jim
Highsmith• Agile Software Development with Scrum by Ken
Schwaber and Mike Beedle
• Scrum and The Enterprise by Ken Schwaber• Succeeding with Agile by Mike Cohn• User Stories Applied for Agile Software
Development by Mike Cohn
Mountain Goat Software, LLC
Quyề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/
Mountain Goat Software, LLC
Thông tin liên lạcMike Cohn
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.