Professional Documents
Culture Documents
Agile - Scrum - 1 - Introduction
Agile - Scrum - 1 - Introduction
AGILE - SCRUM
Phiên bản: 1.0
Tháng 8 – 2013
TS. NGUYỄN Trọng Phúc
KHÁI NIỆM
KHÁI NIỆM
Công nghệ phần mềm
“Software Engineering is the application of a
systematic, disciplined, quantifiable approach to
development, operation and maintenance of
software: that is, the application of engineering to
software.” - IEEE Standard Computer Dictionary,
ISBN 1-55937-079-3, 1990.
Công nghệ phần mềm bắt đầu được đưa ra và áp
dụng bởi NASA trong việc thực hiện dự án xây dựng
hệ thống điều khiển cho tàu con thoi.
Tăng chất lượng sản phẩm
Các yêu cầu cần được xác định độ ưu tiên thông qua
giá trị, độ khó. Tuy nhiên, chi tiết các yêu cầu sẽ
được tăng cường sau mỗi bước.
AGILE
AGILE - MANIFESTO
AGILE
AGILE
Đặc điểm
AGILE là một cách tiếp cận dựa trên sự kết hợp giữa
phương pháp lặp và phương pháp tăng trưởng nhằm
mục đích:
Tăng cường giá trị sau mỗi giai đoạn ngắn.
Đáp ứng các yêu cầu của khách hàng một cách
nhanh nhất.
Hạn chế các quy trình, thay bằng vai trò của các
thành viên.
Đưa khách hàng đến gần nhất với đội phát triển
AGILE?
AGILE - PRINCIPLES
AGILE - PRINCIPLES
AGILE - PRINCIPLES
AGILE - METHODS
AGILE - METHODS
GIỚI THIỆU CHUNG
AGILE vs Waterfall
AGILE vs Waterfall
AGILE vs Waterfall
AGILE vs Waterfall
AGILE vs Waterfall
AGILE vs Waterfall
AGILE vs Waterfall
GIỚI THIỆU CHUNG
AGILE - SCRUM
SCRUM
Khái niệm
Scrum là một cách tiếp cận AGILE cho việc phát triển
và xây dựng các sản phẩm, dịch vụ.
SCRUM
Lịch sử
1986: Harvard Business Review article - Takeuchi &
Nonaka: sự thành công của các công ty Honda,
Canon trong việc sản xuất các sản phẩm mang tính
toàn cầu => self-organizing team.
1993: Jeff Sutherland đưa ra quy trình cơ bản của
Scrum dựa trên: self-organizing, iteration, increment.
1995: bài báo đầu tiên về Scrum process.
2001 -> nay: được áp dụng trong thực tiễn, mang lại
thành công cho nhiều dự án.
SCRUM
Ưu điểm
Thỏa mãn khách hàng:
Đưa khách hàng những giá trị của sản phẩm sớm nhất.
Nhận được sự phản hồi từ phía khách hàng nhanh nhất.
Nhận được kết quả và sự tin tưởng của các bên liên quan.
Lợi nhuận trong việc đầu tư:
Thấy được kết quả đầu tư sau mỗi lần bàn giao.
Sản phẩm đến tay người dùng sớm nhất và sẽ được hoàn
thiện trong các phiên bản sau.
Đôi phát triển:
Giảm thiểu các rủi ro và các nhược điểm mà các phương
pháp khác đang tồn tại.
SCRUM FRAMEWORK
Khái niệm
Scrum framework là tập hợp các giá trị, các nguyên
tắc và các công việc làm cơ sở cho mỗi tổ chức có
thể lựa chọn để đưa ra quy trình cho riêng mình
nhằm đáp ứng được mục tiêu đề ra.
Kết quả của sản phẩm thu được phụ thuộc vào việc
lựa chọn về quy trình của mỗi tổ chức cũng như việc
đáp ứng các yêu cầu của quy trình đề xuất.
SCRUM - FRAMEWORK
SCRUM - PRACTICES
SCRUM - ROLES
Product owner:
Xác định các yêu cầu và chịu trách
nhiệm về chất lượng sản phẩm so với
các yêu cầu.
Đóng vai trò cầu nối giữa đội phát triển
và các bên liên quan.
Scrum master:
Hỗ trợ đội với vai trò người quản lý về
mặt quy trình.
Loại bỏ các trở ngai và bảo vệ đội từ
các bên liên quan.
Dev team:
Tổ chức theo dạng cross-functional và
self-organizing.
Thực hiện và chịu trách nhiệm về sản
phẩm đưa ra trước Product Owner.
SCRUM - ARTIFACTS
Product backlog:
Danh sách các yêu cầu được xác định bởi
P.O thông qua các bên liên quan.
Được đánh giá:giá trị, độ ưu tiên, thời gian
và các điều kiện để đảm bảo yêu cầu.
Danh sách có thể thay đổi theo mỗi bước
Sprint.
Sprint backlog:
Danh sách các yêu cầu trong mỗi giai đoạn
được thông qua bởi P.O và Dev Team.
Được lên kế hoạch và chi tiết các công
việc.
Product increment:
Giá trị mà mỗi Sprint mang lại đối với sản
phẩm cuối cùng.
Được xác định bởi P.O đối với các bên liên
quan.
SCRUM - ACTIVITIES
Grooming:
Chuẩn bị cho Sprint tiếp: phân tích, làm
rõ yêu cầu và lựa chọn yêu cầu.
Sprint planning:
Lên kế hoạch và phân rã các yêu cầu.
Sprint execution:
Thực hiện bởi Dev-team {self-
organizing}.
Daily scrum:
Thông báo các vấn đề và tiến độ cũng
như các trở ngại có thể xảy ra.
Sprint review:
Đánh giá lại chất lượng sản phẩm.
Sprint retrospective:
Đánh giá lại quy trình đã áp dụng của
Sprint.
SCRUM
SCRUM
Good smells
Việc đánh giá (daily scrum) phải được thực hiện hàng
ngày.
Tất cả các thành viên đều thoải mái khi hỗ trợ người
khác.
Luôn đề xuất khi cần sự trợ giúp.
Vấn đề của mỗi thành viên là vấn đề của cả đội.
Trao đổi và làm việc theo nhóm là chìa khóa của
thành công.
SCRUM
Bad smells
Thời gian cho mỗi Sprint quá dài.
Số thành viên trong một team quá nhiều.
DEV Team cố gắng áp dụng Waterfall trong mỗi
Sprint
Analysis => Design => Code => Test
P.O không sẵn sàng hỗ trợ mọi thời điểm.
Các thành viên làm việc độc lập theo task của mình.
Thiếu sự trao đổi và tương tác giữa các thành viên.
Phụ thuộc quá nhiều vào Scrum Master
Project manager?
GIỚI THIỆU CHUNG