giới thiệu về scrum

47
Mountain Goat Software, LLC <tên người trình bày> <ngày tháng>

Upload: svea

Post on 16-Mar-2016

121 views

Category:

Documents


1 download

DESCRIPTION

Giới thiệu về Scrum. . Giới thiệu về Scrum. Trình bày bởi. . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Giới thiệu về  Scrum

Mountain Goat Software, LLC

<tên người trình bày><ngày tháng>

Page 2: Giới thiệu về  Scrum

Mountain Goat Software, LLC

<Tên><Ngày tháng>

Trình bày bởi

Page 3: Giới thiệu về  Scrum

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.”

Page 4: Giới thiệu về  Scrum

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ừ

Page 5: Giới thiệu về  Scrum

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

Page 6: Giới thiệu về  Scrum

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

Page 7: Giới thiệu về  Scrum

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

Page 8: Giới thiệu về  Scrum

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”

Page 9: Giới thiệu về  Scrum

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

Page 10: Giới thiệu về  Scrum

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.

Page 11: Giới thiệu về  Scrum

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

Page 12: Giới thiệu về  Scrum

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ờ

Page 13: Giới thiệu về  Scrum

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

Page 14: Giới thiệu về  Scrum

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

Page 15: Giới thiệu về  Scrum

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

Page 16: Giới thiệu về  Scrum

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

Page 17: Giới thiệu về  Scrum

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ụ

Page 18: Giới thiệu về  Scrum

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

Page 19: Giới thiệu về  Scrum

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

Page 20: Giới thiệu về  Scrum

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

Page 21: Giới thiệu về  Scrum

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)

Page 22: Giới thiệu về  Scrum

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)

Page 23: Giới thiệu về  Scrum

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

Page 24: Giới thiệu về  Scrum

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

Page 25: Giới thiệu về  Scrum

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)

Page 26: Giới thiệu về  Scrum

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

Page 27: Giới thiệu về  Scrum

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

Page 28: Giới thiệu về  Scrum

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

Page 29: Giới thiệu về  Scrum

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

Page 30: Giới thiệu về  Scrum

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.

Page 31: Giới thiệu về  Scrum

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ụ

Page 32: Giới thiệu về  Scrum

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

Page 33: Giới thiệu về  Scrum

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

Page 34: Giới thiệu về  Scrum

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.

Page 35: Giới thiệu về  Scrum

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

Page 36: Giới thiệu về  Scrum

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

Page 37: Giới thiệu về  Scrum

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

Page 38: Giới thiệu về  Scrum

Mountain Goat Software, LLC

Một ví dụ sprint burndown chart

Hour

s

Page 39: Giới thiệu về  Scrum

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

Page 40: Giới thiệu về  Scrum

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

Page 41: Giới thiệu về  Scrum

Mountain Goat Software, LLC

Mở rộng bằng cách tổ chức theo Scrum của các scrums

Page 42: Giới thiệu về  Scrum

Mountain Goat Software, LLC

Scrum of scrums of scrums

Page 43: Giới thiệu về  Scrum

Mountain Goat Software, LLC

Xem thêm•www.mountaingoatsoftware.com/

scrum•www.scrumalliance.org•www.controlchaos.com•[email protected]

m

Page 44: Giới thiệu về  Scrum

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

Page 45: Giới thiệu về  Scrum

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

Page 46: Giới thiệu về  Scrum

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/

Page 47: Giới thiệu về  Scrum

Mountain Goat Software, LLC

Thông tin liên lạcMike Cohn

[email protected]

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.