Professional Documents
Culture Documents
Nhóm em xin trình bày về Scrum một phương pháp làm việc
triển khai dựa trên tư tưởng Agile. Hiện Scrum đang được
ứng dụng rất nhiều tại các công ty phát triển phầm mềm. Vậy
nó có những đặc điểm gì để có thể trở nên phổ biến như
vậy ?
Scrum là gì?
Scrum là một Framework về quy trình và quản lý giúp giải
quyết các vấn đề phức tạp, nhưng vẫn đảm bảo tính hiệu
quả, sáng tạo và sản phẩm được tạo ra phải đạt được giá trị
cao nhất. Bản thân Scrum là một Framework đơn giản nhằm
giúp việc phối hợp hiệu quả nhất giữa các thành viên trong
đội phát triển khi thực hiện những sản phẩm phức tạp. Với
Scrum, sản phẩm được xây dựng trên 1 chuỗi các quy trình
lặp lại (gọi là Sprint). Các sprint diễn ra đều đặn, mỗi một
sprint là cơ hội để học hỏi điều chỉnh nhằm đạt được sự phù
hợp và kết quả tốt nhất.
Nguyên tắc cơ bản của Scrum
1. Tiến trình linh hoạt: Scrum chú trọng vào việc thích ứng nhanh chóng với sự thay
đổi. Thay vì lập kế hoạch chi tiết từ đầu, Scrum chia dự án thành các phần nhỏ gọi
là Sprint và xem xét lại kế hoạch sau mỗi Sprint để điều chỉnh và cải thiện.
2. Phân chia công việc nhỏ: Việc chia nhỏ công việc thành các nhiệm vụ nhỏ hơn
giúp tăng tính khả thi và linh hoạt trong quản lý. Các nhiệm vụ nhỏ có thể dễ dàng
quản lý hơn và cung cấp giá trị cho sản phẩm cuối cùng.
3. Đánh giá định kỳ: Scrum thúc đẩy việc đánh giá định kỳ thông qua các buổi họp
như Sprint Review và Sprint Retrospective. Những buổi này giúp nhóm Scrum làm
rõ những điều đã hoàn thành và những điều cần cải thiện, từ đó cải thiện quá trình
và sản phẩm.
Các vai trò trong Scrum
Scrum Master: Người chịu trách nhiệm đảm bảo quá trình Scrum diễn ra một cách
suôn sẻ. Họ giúp nhóm xử lý các vấn đề và tối ưu hoá hiệu suất.
Đảm bảo môi trường làm việc tích cực, tiếp tục cải tiến quá trình phát triển của nhóm.
Product Owner: Đại diện cho khách hàng hoặc bên mua, chịu trách nhiệm trong việc
xác định và quản lý product backlog.
Chịu trách nhiệm đảm bảo rằng sản phẩm đáp ứng các yêu cầu của khách hàng và bên
mua.
Xác định ưu tiên và chỉ đạo cho nhóm Scrum.
Development Team: Nhóm các nhà phát triển, người kiểm thử và các chuyên gia liên
quan không thuộc về vai trò của Scrum Master và Product Owner.
Tự quyết định cách thức thực hiện công việc để đáp ứng yêu cầu và mục tiêu được đề ra.
Quy trình Scrum
4. Grooming Product Backlog: Quá trình này đảm bảo rằng Product Backlog, danh
sách các yêu cầu và công việc cần thực hiện, được tối ưu hóa và sắp xếp đúng thứ
tự ưu tiên. Đội Scrum thường sẽ cùng nhau đánh giá, làm rõ và phân tích các yêu
cầu trong Product Backlog để chuẩn bị cho các Sprint tiếp theo.
5. Sprint Planning: Trong buổi này, người hướng dẫn sản phẩm làm rõ yêu cầu với
đội phát triển và cùng nhau lập kế hoạch cho Sprint sắp tới. Các yêu cầu được
chọn từ Product Backlog và ước lượng thời gian và công sức cần thiết để hoàn
thành chúng. Đội Scrum cũng cam kết hoàn thành các công việc được chọn trong
khoảng thời gian của Sprint.
6. Daily Stand-up: Hàng ngày, đội Scrum họp trong một cuộc họp ngắn gọn, thường
diễn ra đứng, để báo cáo tiến độ công việc, xác định các khó khăn và cập nhật kế
hoạch hàng ngày. Mục tiêu của cuộc họp này là giúp các thành viên của đội Scrum
cùng nhau hiểu rõ về tình hình công việc và đảm bảo rằng mọi người đều đồng
nhất về hướng đi của Sprint.
Sản phẩm Scrum
Sản phẩm trong Scrum là kết quả của mỗi Sprint, được phát triển trong
khoảng thời gian ngắn.
Nó có thể là phần mềm, ứng dụng di động, hoặc sản phẩm có giá trị
đối với khách hàng.
Lợi ích của Scrum
1. Tăng hiệu suất và chất lượng:
Tập trung và năng lượng: Scrum tạo ra môi trường làm việc tập trung, hướng đến mục tiêu chung, giúp tối ưu hóa năng lượng và hiệu quả
của từng thành viên.
Quy trình lặp đi lặp lại: Việc chia nhỏ dự án thành các Sprint ngắn giúp kiểm soát chất lượng tốt hơn, phát hiện và sửa lỗi sớm hơn.
Cải tiến liên tục: Nhóm Scrum liên tục đánh giá và cải tiến quy trình làm việc, thúc đẩy hiệu quả và chất lượng sản phẩm.
2. Tăng sự linh hoạt:
Thích ứng với thay đổi: Scrum cho phép điều chỉnh yêu cầu và ưu tiên dựa trên phản hồi của khách hàng và thị trường, đảm bảo sản phẩm
phù hợp với nhu cầu thực tế.
Quy trình minh bạch: Backlog sản phẩm được cập nhật thường xuyên, giúp mọi người trong nhóm nắm rõ tiến độ và dễ dàng điều chỉnh kế
hoạch.
Tăng khả năng dự đoán: Việc chia nhỏ dự án và theo dõi tiến độ Sprint giúp dự đoán thời gian hoàn thành chính xác hơn.
3. Tăng tương tác và hỗ trợ trong nhóm:
Giao tiếp cởi mở: Scrum khuyến khích giao tiếp thường xuyên giữa các thành viên, tạo môi trường chia sẻ thông tin và giải quyết vấn đề hiệu
quả.
Hợp tác và hỗ trợ: Các thành viên Scrum cùng nhau làm việc, hỗ trợ lẫn nhau để đạt mục tiêu chung.
Cảm giác đồng đội: Scrum tạo dựng tinh thần đồng đội, gắn kết và thúc đẩy sự hợp tác hiệu quả.
4. Tạo động lực và sự hài lòng trong công việc:
Tự chủ và trách nhiệm: Các thành viên Scrum tự chủ trong công việc và chịu trách nhiệm cho kết quả, tạo động lực và sự hài lòng cao.
Cải tiến liên tục: Việc liên tục học hỏi, cải tiến và nhận phản hồi giúp các thành viên cảm thấy công việc có ý nghĩa và phát triển bản thân.
Môi trường làm việc tích cực: Scrum tạo ra môi trường làm việc năng động, cởi mở, khuyến khích sự sáng tạo và giải quyết vấn đề hiệu quả.
Thách thức khi triển khai Scrum
1. Khó khăn về thay đổi văn hóa làm việc:
Sự kháng cự từ nhân viên có thể do sự quen thuộc với quy trình làm việc cũ.
Quản lý có thể lo ngại về việc mất kiểm soát dự án.
Khó khăn trong việc thay đổi cách giao tiếp và cộng tác trong nhóm.
Yêu cầu sự thay đổi lớn đối với nhân viên và quản lý, bao gồm việc học cách tự tổ chức và tự chịu trách nhiệm cho
công việc của mình, và quản lý cần học cách trao quyền cho nhân viên và tin tưởng họ sẽ hoàn thành công việc.
2. Quản lý thay đổi và chuyển đổi vận hành:
Cần sự hỗ trợ từ ban lãnh đạo, bao gồm cam kết thực hiện Scrum và hỗ trợ các nhóm trong quá trình chuyển đổi,
cũng như sự đồng thuận từ tất cả các bên liên quan.
Cần có kế hoạch triển khai rõ ràng, bao gồm các bước cụ thể, mốc thời gian và trách nhiệm, cũng như đào tạo cho
nhân viên và quản lý về Scrum.
Cần có hệ thống để theo dõi và đánh giá hiệu quả, bao gồm theo dõi tiến độ dự án và hiệu quả của Scrum, và hệ
thống khen thưởng và động viên nhân viên.
3. Thách thức từ việc tự tổ chức công việc:
Cần có sự tin tưởng và giao tiếp hiệu quả giữa các thành viên trong nhóm, bao gồm chia sẻ thông tin rõ ràng và minh
bạch.
Cần có kỹ năng giải quyết vấn đề và ra quyết định từ các thành viên trong nhóm, cũng như sự hỗ trợ từ Scrum Master
để giúp nhóm giải quyết các vấn đề.
Scrum trong phát triển phần mềm