35
Làm việc t ốt hơn với Scrum Dương Trọng Tấn [email protected] 9-2011

Phát triển tốt hơn với Scrum

Embed Size (px)

DESCRIPTION

Slide cho buổi nói chuyện của SV FPT University Tp. HCM về Scrum.

Citation preview

Page 1: Phát triển tốt hơn với Scrum

Làm việc tốt hơn với

ScrumDương Trọng Tấ[email protected]

9-2011

Page 2: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 2

Jim Coplien

“Scrum là một cách tiếp cận mới mẻ và sáng tạo để giải quyết những công việc khó khăn, phức tạp”

“Tất cả mọi người sẽ thích Scrum; nó thực sự là những gì mà chúng

ta sẽ làm khi bị dồn đến chân tường”

Page 3: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 3

Lịch trình

0 Trải nghiệm Agile

0 Khung làm việc Scrum

0 Một số vấn đề mở

Page 4: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 4

Trải nghiệm Agile 1Ảnh: Hoa hậu Thùy Lâm tại cuộc thi HHHV 2008.Nguồn: Dantri.vn

Page 5: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 5

Lean & TPS0Giảm thiểu tới 80% các lãng

phí không cần thiết0Kiểm soát tiến trình thực

nghiệm (Empirical Process Management)

0Lý thuyết Hàng đợi (Queuing Theory)

0Nhóm tự quảnT i Toyota, quá trình s n xu t xe h i b ạ ả ấ ơ ị

nh h ng b i tri t lý “ lean ả ưở ở ếmanufactoring” – làm ít h n, g t hái ơ ặnhi u h n.ề ơ

Page 6: Phát triển tốt hơn với Scrum

04/10/2023 6

Trải nghiệm Agile 2Cao-Thấp

Làm việc tốt hơn với Scrum

Page 7: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 7

Bóng bầu dục

nh: Greenandgoldrugby.comẢ

B n ạnghĩ gì v ềtrò ch i ơnày?

Page 8: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 8

Sao lại tốt hơn khi có Scrum?

0Giảm thiểu lãng phí và tối ưu hóa giá trị của dự án

0Đảm bảo chất lượng cao0Năng suất hơn rất nhiều0Scrum giúp thay đổi tổ chức theo

hướng bền vững hơn0Scrum rất dễ hiểu và thú vị

0 “Scrum rất đẹp về lý thuyết và hiệu quả trong thực tiễn”

Page 9: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 9

Scrum Framework Scrum

Nhóm Scrum

S ựki n ệ

Scrum

Đ ồnghề

Quy tcắ

Quy t cắ

Quy

tcắ

Page 10: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 10

Ba chân của Scrum

Scrum

Ba chân của Scrum >> Empirical process control

Page 11: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 11

Page 12: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 12

[Scrum ‘Process’]

Page 13: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 13

Nhóm Scrum

Scrum Master

Product Owner

Nhóm Phát triển

liên chức năng

Page 14: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 14

Scrum Master

0ScrumMaster đảm bảo toàn bộ Nhóm Scrum tuân thủ và hưởng lợi từ Scrum.

0Công việc đặc thù: loại bỏ trở lực

0Vừa lãnh đạo, vừa là đầy tớ0Không phải là Project

Manager!“D n đ ng”, ọ ườIMG:http://www.denverlawnaeration.com/snowremoval.html

Page 15: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 15

Product Owner

0Là người duy nhất 0 chịu trách nhiệm cho việc quản lý Product Backlog 0 và đảm bảo các giá trị cho Đội sản xuất làm việc

0Tối ưu hóa giá trị cho sản phẩm0Sử dụng lý thuyết hàng đợi để quản lý Product

Backlog0Không phải là Project Manager!

Page 16: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 16

Nhóm Phát triển

0Nhóm các nhà phát triển (developer) với nhiệm vụ

biến đổi Product Backlog thành gói sản phẩm sẵn sàng chuyển giao (Potentially Shippable Product Increment) ở cuối mỗi Sprint

0Tự quản0Liên chức năng

Page 17: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 17

Vận hành

Deemer el al.

Page 18: Phát triển tốt hơn với Scrum

04/10/2023 18

VideoDay of Agile Developers Life

Làm việc tốt hơn với Scrum

Page 19: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 19

Định nghĩa Hoàn thành

0Được đồng thuận giữa tất cả các bên và phù hợp với tiêu chuẩn, quy ước của tổ chức cũng như các chỉ dẫn khác.

0Khi một công việc được ghi nhận là “hoàn thành" tại cuộc họp Sơ kết Sprint, nó phải thỏa mãn “Định nghĩa Hoàn thành”.

0Là công cụ kiểm để nhóm tự kiểm tra công việc của mình

0Thường phản ánh trình độ kĩ thuật của nhóm

Page 20: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 20

Đồ nghề Burndown Chart

Page 21: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 21

Product Backlog

T i sao l i không ạ ạg i là Requirement ọdocument hay Product Plan?

Page 22: Phát triển tốt hơn với Scrum

04/10/2023 22

Sprint Backlog

Làm việc tốt hơn với Scrum

T i sao l i không ạ ạg i là Plan?ọ

Page 23: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 23

Biểu đồ Burndown

Bi u đ này dùng cho c Product (g i là Release Burndown) và Sprint (g i là Sprint Burndown)ể ồ ả ọ ọ

Page 24: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 24

Các đồ nghề khác

0 Scrum Poker Card

0 User Story0 Agile Project Management Systems

0 VersionOne, Redmine, Assembla, ScrumSprintMonitor, v.v.

Page 25: Phát triển tốt hơn với Scrum

04/10/2023 25

Các đồ nghề khác

Làm việc tốt hơn với Scrum

Page 26: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 26

Khó khăn khi tiếp cận Scrum

0 Ngại thay đổi

0 Thiếu hiểu biết thấu đáo Scrum

0 Yếu thực thi

0 Thiếu cam kết

0 Không kiên trì

Page 27: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 27

Mở: Engineering Practices

0 Scrum thiên về tổ chức công việc, để sản xuất, Nhóm Phát triển còn phải sử dụng các kĩ thuật khác:0 Thiết kế tiến hóa (Evolutional Design)0 Tái cấu trúc (Refactoring),0 Ước lượng (agile estimation),0 Lập trình theo cặp (Pair Programming),0 Tích hợp liên tục (Continuous Integration),0 TDD (test-driven development),0 v.v.

Page 28: Phát triển tốt hơn với Scrum

Test Driven Development

0 Nguyên tắc: Test trước khi Code0 Để việc test điều hướng quá trình phát triển0 Chiến thuật

0 Make it Fail0Chỉ gồm toàn test fail

0 Make it Work0Đơn giản nhất có thể

0 Make it Better0Tái cấu trúc (code, design, test, documentation)

0 Believe in testing

Page 29: Phát triển tốt hơn với Scrum

TDD Rationale

Page 30: Phát triển tốt hơn với Scrum

30

TDD StepsDemo với JUnit

Image by Excirial (http://upload.wikimedia.org/wikipedia/en/9/9c/Test-driven_development.PNG)

Page 31: Phát triển tốt hơn với Scrum

31

Pair Programming

0 Hai người chia sẻ 1 máy tính, cùng code

0 2 vai: Driver &

Navigator:0 Driver thường không thấy “big

picture”0 => Driver nên“tránh xa

keyboard”0 Navigator dùng “pattern-

matching problem solving “ => mang lại hiệu quả

Page 32: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 32

Mở: “Bà con” của Scrum

eXtreme Programming

KanbanAgileUP

Crystal Clear

TDD

BDD

Page 33: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 33

Hỏi-Đáp

Page 34: Phát triển tốt hơn với Scrum

04/10/2023 Làm việc tốt hơn với Scrum 34

Tham khảo

0 Ken Schwaber & Jeff Sutherland, Scrum Guide, Scrum.org

0 Pete Deemer, Gabrielle Benefield, Craig Larman & Bas Vodde, Scrum Primer, GoodAgile.com

0 HanoiScrum.net0 AgileVietnam.org0 ScrumAlliance.org0 AgileAlliance.org

Page 35: Phát triển tốt hơn với Scrum

04/10/2023 35Làm việc tốt hơn với Scrum

Chân thành c m n!ả ơ

Hãy k t b n v i Scrum ế ạ ớ