Các Nhóm Scrum được trao quyền để quản lý công việc của họ nhằm hướng tới một mục tiêu chung là giúp tổ chức giải quyết các vấn đề phức tạp nhanh nhẹn hơn và tạo ra kết quả chất lượng hơ
Trang 1TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
HỆ HỖ TRỢ RA QUYẾT ĐỊNH
NGHIÊN CỨU SCRUM
Giảng viên hướng dẫn: Thái Thị Ngọc LýSinh viên thực hiện 1: 2021010354 – Đỗ Tường VySinh viên thực hiện 2: 1921006688 – Trần Thị Thiên Hảo
Mã lớp học phần: 2221112003901
Trang 2Tp.HCM, tháng 6 năm 2022
Trang 3TRƯỜNG ĐẠI HỌC TÀI CHÍNH – MARKETING
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
HỆ HỖ TRỢ RA QUYẾT ĐỊNH
NGHIÊN CỨU SCRUM
Giảng viên hướng dẫn: Thái Thị Ngọc LýSinh viên thực hiện 1: 2021010354 – Đỗ Tường VySinh viên thực hiện 2: 1921006688 – Trần Thị Thiên Hảo
Mã lớp học phần: 2221112003901
Trang 4Tp.HCM, tháng 6 năm 2022
Trang 5LỜI CẢM ƠN
Báo cáo được thực hiện tại Khoa Công nghệ thông tin – Trường Đại học Tài chính – Marketing dưới sự hướng dẫn của cô Thái Thị Ngọc Lý
Trước tiên, chúng em xin bày tỏ lòng biết ơn sâu sắc đến cô Thái Thị Ngọc Lý
đã giúp chúng em đến với đề tài nghiên cứu này, cô đã tận tình giảng bài và giải quyết những thắc mắc của chúng em, nhờ đó mà chúng em yêu môn học này hơn.Trong thời gian thực hiện nghiên cứu, mặc dù đã cố gắng nhưng vẫn không thể tránh khỏi thiếu sót Vì vậy chúng em mong nhận được sự thông cảm, chỉ bảo và góp
Sinh viên thực hiện
Đỗ Tường Vy & Trần Thị Thiên Hảo
i
Trang 6ĐÁNH GIÁ VÀ NHẬN XÉT CỦA GIẢNG VIÊN
-
Điểm số:
Điểm chữ:
TP HCM, ngày 24 tháng 4 năm 2022 Giảng viên phụ trách học phần (Ký và ghi rõ họ và tên)
ii
Trang 7iii
Trang 8MỤC LỤC
LỜI CẢM ƠN i
ĐÁNH GIÁ VÀ NHẬN XÉT CỦA GIẢNG VIÊN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
CHƯƠNG 1: ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 1
1.1 Lý do hình thành nghiên cứu 1
1.2 Mục tiêu của nghiên cứu 1
1.3 Phạm vi nghiên cứu 1
1.3.1 Đối tượng nghiên cứu 1
1.3.2 Không gian và thời gian 1
CHƯƠNG 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU SCRUM 2
2.1 Giới thiệu Scrum 2
2.2 Đặc điểm của Scrum 3
2.3 Tính chất của Scrum 3
2.4 Lợi ích của Scrum 4
2.5 Vai trò 4
2.5.1 Product Owner: 5
2.5.2 Nhóm phát triển 5
2.5.3 Scrum Master 6
2.6 Các sự kiện trong Scrum 8
2.6.1 Sprint 8
2.6.2 Lập kế hoạch Sprint (Sprint Planning): 10
2.6.3 Scrum Hằng ngày (Daily Scrum) 11
2.6.4 Sơ kết Sprint (Sprint review) 12
2.6.5 Cải tiến Sprint (Sprint Retrospective) 13
2.7 Các tạo tác trong Scrum – Scrum Artifact 14
2.7.1 Product BackLog 14
2.7.2 Sprint Backlog 16
2.7.3 Phần tăng trưởng 18
CHƯƠNG 3: ỨNG DỤNG SRUM VÀO TỔ CHỨC 19
iv
Trang 93.1 Các tình huống và mức độ sử dụng Scrum 19
3.2 Lộ trình để đưa Scrum vào tổ chức 20
3.3 Quản trị dự án linh hoạt vơi Scrum 20
3.4 Nhận diện và vượt qua các trở lực từ yếu tố văn hóa 22
3.5 Quản lý sự thay đổi 23
CHƯƠNG 4: KẾT LUẬN 24
4.1 Ưu điểm và nhược điểm của quản lý dự án Scrum 24
4.1.1 Ưu điểm 24
4.1.2 Nhược điểm 24
4.2 Hướng nghiên cứu tiếp 25
TÀI LIỆU THAM KHẢO 26
v
Trang 10DANH MỤC HÌNH ẢNH
Hình 2.1 Tổng quan về Scrum 2
Hình 2.2 Các vai trò trong Scrum 5
Hình 2.3 Đặc điểm Sprint 9
Hình 2.4 Sprint Planning 11
Hình 2.5 Daily Scrum 12
Hình 2.6 Sprint Review 13
Hình 2.7 Sprint Retrospective 13
Hình 2.8 Product Backlog 15
Hình 2.9 Quản lý trực quan: Các hạng mục Product backlog trên tường 15
Hình 2.10 Bảng mẫu Sprint Backlog theo dạng Spreadsheet 17
Hình 3.1 Quy mô Scrum vào tổ chức 19
Hình 3.2 Lộ trình đưa Scrum vào tổ chức 20
Hình 3.3 Mô hình Hofstede 22
Hình 3.4 Bảng thống kê ứng dụng Scrum vào các nước 22
Hình 3.5 Quy trình quản lý sự thay đổi 23
vi
Trang 11CHƯƠNG 1: ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP
NGHIÊN CỨU1.1 Lý do hình thành nghiên cứu
Nếu trước đây việc quản lý dự án theo mô hình truyền thống (waterfall) giới hạn về khả năng thích ứng trước sự thay đổi liên tục từ khách hàng và thời gian hoàn thiện sản phẩm chậm thì quản lý mô hình Agile Scrum đã “cởi trói” được những hạn chế trên Mô hình Scrum là một phương pháp hiệu quả được nhiều doanh nghiệp áp dụng trong việc quản lý dự án và phát triển phần mềm
Ngày nay, Scrum đã trở nên quá phổ biến bởi yếu tố đơn giản, dễ hiểu và được
sử dụng ở nhiều công ty trên thế giới và Việt Nam Chính vì sự phổ biến và những lợi ích của nó, nhóm chúng em muốn tìm hiểu về Scrum để mở rộng thêm kiến thức trong ngành cũng như học hỏi bổ trợ cho quá trình học môn Hệ hỗ trợ ra quyết định
1.2 Mục tiêu của nghiên cứu
Báo cáo nghiên cứu Scrum hướng đến các mục tiêu sau:
- Tìm hiểu Lợi ích của Scrum mang lại cho doanh nghiệp
1.3 Phạm vi nghiên cứu
1.3.1 Đối tượng nghiên cứu
Đối tượng nghiên cứu các kiến thức xung quanh Scrum:
1.3.2 Không gian và thời gian
Không gian: Nghiên cứu được thực hiện trên phạm vi sách báo và các tài liệu liên quan đến phương pháp phát triển phần mềm Agile, đặc biệt là Scrum
Thời gian: từ 2/6/2022 đến 16/6/2022
vii
Trang 12CHƯƠNG 2: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU
SCRUM2.1 Giới thiệu Scrum
Scrum là một phương pháp Agile dùng cho phát triển sản phẩm, đặc biệt là phát triển phần mềm Scrum là một khung quản lý dự án được áp dụng rất rộng rãi, từ những dự án đơn giản với một nhóm phát triển nhỏ cho đến những dự án có yêu cầu rất phức tạp với hàng trăm người tham gia, và kể cả những dự án đòi hỏi khung thời gian cố định.
Hình 2.1 Tổng quan về Scrum
Trong Scrum, công việc được thực hiện bởi Nhóm Scrum thông qua từng phân đoạn lặp liên tiếp nhau được gọi là Sprint
viii
Trang 13Để hiểu được Scrum thì cần hiểu nguyên lý của Scrum, các Vai trò, Tạo tác,
Sự kiện và sự vận hành của một vòng đời Scrum.
2.2 Đặc điểm của Scrum
Nhóm Scrum có 2 đặc điểm đó là tự quản (self-managing) và liên chức năng (cross-functional)
Tự quản (self-managing): Đây là một thuật ngữ mới thay thế cho thuật ngữ cũ
(self-organizing) được cập nhật trong tài liệu Hướng dẫn Scrum mới nhất năm 2020 Điều này có nghĩa là nhóm sẽ cùng ra quyết định sẽ làm gì, ai sẽ làm và làm như thế nào
mà không bị sự chỉ đạo bởi ai đó bên ngoài nhóm Các Nhóm Scrum được trao quyền để quản lý công việc của họ nhằm hướng tới một mục tiêu chung là giúp tổ chức giải quyết các vấn đề phức tạp nhanh nhẹn hơn và tạo ra kết quả chất lượng hơn
Liên chức năng (cross-functional): Một nhóm liên chức năng bao gồm nhiều cá
nhân với các chuyên môn khác nhau đủ năng lực được kết hợp lại cùng làm việc hướng tới một mục tiêu chung Trong dự án, các cá nhân có thể đến từ nhiều phòng ban chức năng khác nhau, cũng có thể xuất phát từ bên ngoài Nhưng khi đã thành một nhóm (team), thì các cá nhân làm việc tập trung cho đội như là một đơn vị (unit) để hoàn tất mục tiêu chung Bên trong nhóm liên chức năng không có các nhóm nhỏ khác
2.3 Tính chất của Scrum
Bằng việc sử dụng phương pháp lặp đi lặp lại và tăng dần, Scrum giúp tối ưu hóa khả năng dự đoán và kiểm soát rủi ro Đó chính là ba trụ cột (hay ba chân) của Scrum là Tính minh bạch, Sự thanh tra và Sự thích nghi Đây chính là phần lõi của khung làm việc Scrum, thiếu bất cứ trụ cột nào trong số này đều khiến khung Scrum không còn hoạtđộng đúng nữa
ix
Trang 14Minh bạch (transparency): Đầu tiên, thông tin liên quan tới quá trình phát triển
phải minh bạch và thông suốt Các thông tin đó có thể là: tầm nhìn (vision) về sản phẩm,yêu cầu khách hàng, tiến độ công việc, các khúc mắc rào cản,… Từ đó mọi người ở các vai trò khác nhau có đủ thông tin cần thiết để tiến hành các quyết định có giá trị nhằm nâng cao hiệu quả công việc Các công cụ và cuộc họp trong Scrum luôn đảm bảo thôngtin được minh bạch cho các bên
Thanh tra (inspection): Công tác thanh tra liên tục các hoạt động trong Scrum
đảm bảo cho việc phát lộ các vấn đề cũng như giải pháp để thông tin đa dạng và hữu íchđến được với các bên tham gia quá trình phát triển Truy xét kỹ càng và liên tục là cơ chế khởi đầu cho việc thích nghi và các cải tiến liên tục trong Scrum
Thích nghi (adaptation): Dựa trên các thông tin minh bạch hóa từ các quá trình
thanh gia và làm việc, Scrum có thể phản hồi các thay đổi một cách tích cực, nhờ đó mang lại thành công cho sản phẩm Các nỗ lực minh bạch và thanh tra đều hướng tới hành động thích ứng nhanh chóng và hiệu quả
2.4 Lợi ích của Scrum
Sự có mặt của Scrum giúp cho những dự án phát triển phần mềm lượt bỏ những công đoạn phức tạp, hướng đến những công việc quan trọng nhằm đáp ứng tốt nhất mọi nhu cầu của khách hàng đưa ra Những lợi ích nổi bật của Scrum có thể kể đến là:
Cải thiện chất lượng phần mềm một cách hiệu quả
Rút ngắn thời gian phát hành phần mềm, mang đến những trải nghiệm sử dụng sản phẩm nhanh chóng và chất lượng cho khách hàng
Thúc đẩy tinh thần đồng đội, tối ưu hóa hiệu quả và nỗ lực của nhóm phát triển
Gia tăng tỷ suất hoàn vốn đầu tư (ROI)
Tạo độ tin cậy, hài lòng của khách hàng
Kiểm soát tiến độ của dự án tốt, liên tục cải tiến và hạn chế rủi ro không mong muốn khi xây dựng sản phẩm
2.5 Vai trò
Trong Scrum, có ba vai trò: Product Owner, Development Team vàScrumMaster Tất cả hợp thành Nhóm Scrum
x
Trang 15Hình 2.2 Các vai trò trong Scrum
2.5.1 Product Owner:
Product Owner chịu trách nhiệm tối ưu hóa lợi nhuận trên đầu tư (ROI - Return
On Investment) thông qua việc xác định các tính năng của sản phẩm, chuyển thành một danh sách ưu tiên, quyết định hạng mục nào sẽ nằm phía trên của danh sách để đưa vào Sprint tiếp theo, và liên tục tái-sắp xếp và làm mịn danh sách này Nếu là sản phẩm thương mại, Product Owner chịu trách nhiệm về lợi nhuận cũng như tổn thất của sản phẩm Trong trường hợp của một ứng dụng nội bộ, Product Owner không chịu trách nhiệm về ROI theo nghĩa của sản phẩm thương mại (sẽ tạo ra thu nhập), mà chịu trách nhiệm tối ưu hóa ROI theo nghĩa lựa chọn các hạng mục có giá trị cao nhất cho mỗi Sprint Trong thực tế, “giá trị” là một khái niệm mập mờ và việcđánh giá độ ưu tiên có thể bị ảnh hưởng bởi mong muốn làm hài lòng các khách hàng chủ chốt, gắn với các mục tiêu chiến lược, hạn chế rủi ro, cải tiến hay các yếu
tố khác
Trong một số trường hợp, Product Owner cũng chính là khách hàng; điều này thường xảy ra đối với các sản phẩm nội bộ Trong một số trường hợp khác, khách
xi
Trang 16hàng có thể là hàng triệu người với sự đa dạng về nhu cầu, khi đó vai trò Product Owner là tương tự như vị trí Product Manager (Giám đốc Sản phẩm) hoặc Product Marketing Manager (Giám đốc Tiếp thị Sản phẩm) trong nhiều tổ chức phát triển sản phẩm Tuy nhiên, Product Owner thường khác với một Giám đốc Sản phẩm truyền thống ở chỗ họ chủ động và thường xuyên trao đổi với Nhóm, ưu tiên làm việc với tất cả các bên liên quan và rà soát kết quả của mỗi Sprint thay vì ủy quyền các quyết định phát triển cho một quản lý dự án Một lưu ý quan trọng là trong Scrum có một và chỉ một người phục vụ với tư cách Product Owner và có thẩm quyền tối cao của vai trò này, người này chịu trách nhiệm về giá trị của công việc, mặc dù không nhất thiết phải làm việc một mình.
Product owner chịu trách nhiệm quản lý product backlog:
- Sắp xếp mức độ ưu tiên của backlog item hợp lý
- Tối ưu hóa giá trị mà Development team thực hiện
- Đảm bảo product backlog rõ ràng, minh bạch
- Đảm bảo Development team hiểu product backlog
2.5.2 Nhóm phát triển
Nhóm Phát triển xây dựng sản phẩm mà Product Owner yêu cầu, chẳng hạnmột ứng dụng hoặc một trang web Nhóm Phát triển quyết định số lượng các hạngmục (từ tập hợp do Product Owner đưa ra) để xây dựng trong một Sprint cũng nhưcách tốt nhất để đạt được mục tiêu đó
Chú ý rằng không có các chức danh chuyên môn cố định trong một nhóm triển khai Scrum; không có chuyên gia phân tích nghiệp vụ, không có chuyên gia DBA, không có chuyên gia kiến trúc, không có trưởng nhóm, không có chuyên gia thiết kế tương tác/UX, không có lập trình viên Họ làm việc cùng nhau trong từng Sprint bằng bất cứ cách nào phù hợp để đạt được mục tiêu mà chính họ đã đưa ra
Do chỉ có các thành viên nhóm, Nhóm Phát triển không chỉ là liên-chức năng
mà còn thể hiện việc học tập lẫn nhau: mỗi người sở hữu một thế mạnh riêng,
nhưng vẫn tiếp tục học các chuyên môn khác Mỗi người sẽ có các kỹ năng chính,
kỹ năng phụ thứ hai và thậm chí là thứ ba Ví dụ, một người với kỹ năng chính là thiết kế tương tác có thể có kỹ năng phụ là kiểm thử tự động; một người với kỹ năng chính là viết tài liệu kỹ thuật cũng có thể trợ giúp với phân tích và lập trình và đối với sản phẩm phần mềm
Nhóm phát triển sản phẩm đồng thời cung cấp ý tưởng cho Product Owner vềcách để tạo ra sản phẩm tốt Trong Scrum, Nhóm Phát triển sẽ trở nên năng suất vàhiệu quả nhất khi các thành viên đều dành toàn bộ 100% để làm việc cho một sản
xii
Trang 17phẩm trong suốt Sprint; Nhóm Phát triển tránh làm việc đa nhiệm giữa nhiều sảnphẩm hoặc dự án để loại bỏ sự thất thoát tốn kém do phân tâm và chuyển đổi bốicảnh.
Nhóm phát triển có những đặc điểm sau:
- Tự tổ chức (self-organizing): Nhóm phát triển tự lên kế hoạch, ước lượng và quản lý công việc của mình
- Hoạt động chéo (cross-functional): Nhóm phát triển có đầy đủ các kỹ năng cần thiết của một team cho sự gia tăng của sản phẩm
- Trong Scrum, chúng ta không nhận ra được các sub team trong Development team, bất kể những việc cần được giải quyết như kiểm thử, thiết kế cấu trúc, vận hành hoặc phân tích kinh doanh
- Mỗi thành viên trong Nhóm phát triển có thể có các kỹ năng chuyên môn riêng
và chỉ tập trung vào một số việc nhất định như chỉ code hoặc chỉ test, nhưng trách nhiệm thuộc về Nhóm phát triển nói chung
- Một nhóm phát triển tối ưu nên có từ 3 đến 9 người Nhóm Phát triển có thể baogồm các cá nhân với kỹ năng phân tích, phát triển, kiểm thử, thiết kế giao diện, thiết kế cơ sở dữliệu, thiết kế kiến trúc, viết tài liệu, và những kỹ năng khác
2.5.3 Scrum Master
ScrumMaster giúp nhóm học và áp dụng Scrum để đạt được giá trị thươngmại ScrumMaster làm tất cả những gì trong thẩm quyền của mình để giúp NhómPhát triển, Product Owner và tổ chức trở nên thành công
ScrumMaster không phải là người quản lý của các thành viên Nhóm Phát triển,cũng không phải là quản lý dự án, trưởng nhóm, hay đại diện của nhóm Thay vào
đó, ScrumMaster phục vụ Nhóm Phát triển; là người giúp loại bỏ các trở ngại, bảo
vệ Nhóm Phát triển khỏi các tác động từ bên ngoài, và trợ giúp Nhóm Phát triển ứng dụng các kỹ thuật phát triển hiện đại ScrumMaster cũng dạy, huấn luyện và hướng dẫn Product Owner, Nhóm Phát triển và phần còn lại của tổ chức trong việc áp dụng thành thạo Scrum ScrumMaster là một huấn luận viên và cũng là một giáo viên
ScrumMaster đảm bảo rằng tất cả mọi người (bao gồm cả Product Owner và những người trong ban quản trị) hiểu các nguyên lý và kỹ thuật của Scrum, và họ sẽ
hỗ trợ dẫn dắt tổ chức vượt qua những thay đổi thường là rất khó khăn nhưng cần thiết để đạt được thành công với phát triển linh hoạt Do Scrum giúp phát hiện nhiều trở ngại và nguy cơ ảnh hưởng đến hiệu quả của Nhóm Phát triển và Product Owner, một điều quan trọng đó là phải có ScrumMaster làm việc hăng hái để giúp
xiii
Trang 18giải quyết những vấn đè đó, nếu không Nhóm Phát triển và Product Owner sẽ khó
Scrum master hỗ trợ product owner
- Đảm bảo rằng mục tiêu, phạm vi và lĩnh vực sản phẩm được các thành viên trong Scrum team hiểu rõ nhất có thể
- Tìm kiếm các kỹ thuật để giúp Product owner quản lý Product Backlog hiệu
quả
- Giúp Scrum team hiểu được các mục Product Backlog rõ ràng và ngắn gọn
- Hiểu quy hoạch sản phẩm trong môi trường thực nghiệm
- Đảm bảo Product owner biết cách sắp xếp Product Backlog để tối đa hóa giá
trị
- Tạo điều kiện cho các Scrum event diễn ra thuận lợi theo yêu cầu
Scrum Master hỗ trợ Development Team
Huấn luyện đội ngũ phát triển tự tổ chức (Self-organizing) và hoạt động chéo (Cross-functional)
- Giúp Development team tạo ra các sản phẩm có giá trị cao
- Loại bỏ các trở ngại ảnh hưởng tới tiến độ của Development team
- Tạo điều kiện cho các Scrum event cần thiết diễn ra suôn sẻ theo yêu cầu
- Huấn luyện đội ngũ phát triển trong môi trường của tổ chức, nơi mà Scrum chưađược chấp nhận và hiểu đầy đủ
- Dẫn dắt và huấn luyện tổ chức trong việc áp dụng Scrum
- Lập kế hoạch triển khai Scrum trong một tổ chức
- Giúp nhân viên và các bên liên quan hiểu, ban hành Scrum và phát triển sản phẩm thực tế theo Scum
- Tạo ra sự thay đổi trong tổ chức để làm tăng năng suất của Scrum team
xiv