1.42k likes | 2.66k Views
Giới thiệu về Scrum. <tên người trình bày> <ngày tháng>. Giới thiệu về Scrum. Trình bày bởi. <Tên> <Ngày tháng>.
E N D
Giớithiệuvề Scrum • <tên người trình bày> • <ngày tháng>
Giớithiệuvề Scrum Trình bày bởi <Tên> <Ngày tháng>
“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.” Hirotaka Takeuchi & Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review,Tháng 1 - 1986. Chúng ta đang thua trong cuộc chạy tiếp sức
Scrum trong 100 từ • 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.
Xuấtxứ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
Scrum đượcsửdụngbở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
Scrum đượcsửdụngtrong: • 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
Đặ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”
Các cá nhân với sự tương tác Dễ thay đổi Phần mềm hoạt động được Sự cộng tác của khách hàng Theo kế hoạch Tài liệu toàn diện Đàm phán hợp đồng Quy trình và công cụ thay cho Bản tuyên ngôn Agile – Lời tuyên bố về các giá trị thay cho thay cho thay cho Source: www.agilemanifesto.org
Cấp độ nhiễu của dự án Khác xa thỏa thuận Hỗn loạn Rất phức tạp Yêu cầu Phức tạp 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. Đơn giản Gần đúng với thỏa thuận Technology Chắc chắn Không chắc
Lưu ý: Thuậtngữ (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
Mục tiêu trong Sprint 24 giờ Gift wrap Gift wrap Coupons Coupons Return Cancel Cancel Sprint backlog Sprint 2-4 tuần Return Sản phẩm tiềm năng Scrum Product backlog
Tổng quát quy trình Daily Scrum Sảnphẩmtiềmnăngcholầnlặpkếtiếp giờ Product backlog Sprint backlog Tuần
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
Phát triển tuần tự hay chồng lặp Yêu cầu Thiết kế Viết mã Kiểm định 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 Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
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
Con người Cuộc họp Công cụ • Product owner • ScrumMaster • Team • Sprint planning • Sprint review • Sprint retrospective • Daily scrum meeting • Product backlog • Sprint backlog • Burndown charts Scrum framework
Ceremonies Con người • Sprint planning • Sprint review • Sprint retrospective • Daily scrum meeting • Product owner • ScrumMaster • Team Scrum framework Artifacts • Product backlog • Sprint backlog • Burndown charts
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
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
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)
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)
Roles Artifacts Cuộc họp • Product owner • ScrumMaster • Team • Product backlog • Sprint backlog • Burndown charts • Sprint planning • Sprint review • Sprint retrospective • Daily scrum meeting Scrum framework
Lập độ ưu tiên Sprint Lập kế hoạch Sprint Sprint backlog Mục tiêu Sprint • Phân tích & đánh giá product backlog • Mục tiêu của 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 Họp để thiết lập Sprint Khả năng của nhóm Product backlog Các điều kiện Sản phẩm hiện tại Công nghệ
Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4) Thiếtlậ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.
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
1 2 3 Tôi đã làm gì hôm trước? Tôi sắp làm gì hôm nay? Các trở ngại? Mọingườitrả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)
Họptổngkế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
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
Một trong những cách họp sprint – một chặng đường. 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ên Không thực hiện nữa Tiếp tục thực hiện
Roles Ceremonies Công cụ • Product owner • ScrumMaster • Team • Sprint planning • Sprint review • Sprint retrospective • Daily scrum meeting • Product backlog • Sprint backlog • Burndown charts Scrum framework
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
Mụctiêucủa sprint • Phát biểu ngắn về công việc sẽ tập trung trong sprint. Ví dụ: Life Sciences Support features necessary for population genetics studies. Database Application Make the application run on SQL Server in addition to Oracle. Financial services Support more technical indicators than company ABC with real-time, streaming data.
Quảnlý 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
Quảnlý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
4 8 8 16 12 4 10 8 11 8 16 16 12 8 8 8 8 8 4 Add error logging 8 Một ví dụ sprint backlog Tasks Mon Tues Wed Thur Fri Code the user interface Code the middle tier Test the middle tier Write online help Write the foo class
8 4 10 7 12 16 8 16 11 Tasks Mon Tues Wed Thur Fri Code the user interface 8 Code the middle tier 16 Test the middle tier 8 Write online help 12 50 40 30 Hours 20 10 0 Mon Tue Wed Thu Fri
Khảnăngmở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
Xemthêm • www.mountaingoatsoftware.com/scrum • www.scrumalliance.org • www.controlchaos.com • scrumdevelopment@yahoogroups.com
Đọcthêm • Agile and Iterative Development: A Manager’s Guide by Craig Larman • Agile Estimating and Planning by Mike Cohn • Agile Project Managementwith Scrum by Ken Schwaber • Agile Retrospectives by Esther Derby and Diana Larsen
Đọcthê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
Quyềnsở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 tinhttp://creativecommons.org/licenses/by/3.0/
Thông tin liênlạc Mike Cohn mike@mountaingoatsoftware.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.