Nhóm quyết định chọn đề tài liên quan đến bán hàng vì nó không chỉ phản ánh sự đadạng và phức tạp của môi trường kinh doanh hiện nay mà còn tạo điều kiện để nhóm em ápdụng và kiểm nghiệm
Trang 1TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2TRƯỜNG ĐẠI HỌC CÔNG THƯƠNG TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Nguyễn Thanh Huy
Đoàn Việt Thiện
TP Hồ Chí Minh, 11 năm 2023
Trang 3LỜI CẢM ƠN
Thưa Thầy Hoàng Xuân Bách!
Nhóm em xin gửi lời cảm ơn chân thành đến thầy về sự hướng dẫn và giảng dạytrong suốt môn học "Công Nghệ Phần Mềm Tiên Tiến" Thầy không chỉ là một ngườihướng dẫn xuất sắc mà còn là người thầy tận tâm, luôn tạo điều kiện cho sinh viên có cơhội hiểu sâu và áp dụng kiến thức
Sự am hiểu của Thầy về lĩnh vực công nghệ phần mềm và cách Thầy truyền đạt kiến thức
đã làm cho môn học trở nên hấp dẫn và ý nghĩa Thầy đã giúp nhóm chúng em áp dụngnhững khái niệm lý thuyết vào thực tế thông qua các dự án và bài tập thực hành, từ đó giúpchúng em phát triển kỹ năng thực tế và giải quyết vấn đề
Qua môn học này, chúng em đã học được nhiều không chỉ về công nghệ phần mềm mà còn
về tư duy logic, làm việc nhóm và quá trình phát triển phần mềm chuyên nghiệp Điều nàykhông thể đạt được nếu không có sự hỗ trợ nhiệt tình và kiến thức sâu rộng của Thầy.Một lần nữa, nhóm xin bày tỏ lòng biết ơn sâu sắc đến Thầy Hoàng Xuân Bách, thầy đã tạonên một môi trường học tốt, giúp nhóm em phát triển và tự tin hơn trong lĩnh vực này.Chân thành cảm ơn thầy!
Trang 4PHỤ LỤC
LỜI MỞ ĐẦU 2
DANH MỤC CÁC HÌNH VẼ 3
I KIẾN THỨC NỀN TẢNG 4
1.1 Môn Công nghệ phần mềm tiên tiến 4
1.1.1 Giới thiệu về môn học 4
1.1.2 Ưu điểm của Công nghệ phần mền tiên tiến 5
1.1.3 Nhược điểm của Công nghệ phần mền tiên tiến 5
1.1.4 Ứng dụng thực tế 6
1.1.5 Công cụ và ngôn ngữ 7
1.2 Công cụ Jira Software 8
1.2.1 Khái niệm 8
1.2.2 Mục tiêu 8
1.2.3 Quy trình làm việc 9
1.2.4 Ứng dụng của Jira Software 10
1.2.5 Ưu điểm của Agile 11
1.2.6 Nhược điểm của Agile 12
1.3 Phương pháp quản lí Scrum 14
1.3.1 Khái niệm 14
1.3.2 Mục tiêu của Scrum 15
1.3.3 Quy trình làm việc 15
1.3.4 Ứng dụng của Scrum 17
1.3.5 Ưu điểm của Scrum 17
1.3.6 Nhược điểm của Scrum 18
1.4 Công cụ Scrum và Agile 19
1.5 Những công cụ được sử dụng trong bài báo cáo 19
II ÁP DỤNG SCRUM VÀO DỰ ÁN BÁN HÀNG TRÊN WEB 20
2.1 Giới thiệu chung về Dự án bán hàng trên Web 20
2.2 Môi trường Demo 20
2.2.1 Websocket 20
2.3 Quy trình thực hiện Demo Dự án 20
III KẾT LUẬN 24
Kết quả đạt được 24
Hạn chế 25
Hướng phát triển 25
IV TÀI LIỆU THAM KHẢO 25
Trang 5Nhóm quyết định chọn đề tài liên quan đến bán hàng vì nó không chỉ phản ánh sự đadạng và phức tạp của môi trường kinh doanh hiện nay mà còn tạo điều kiện để nhóm em ápdụng và kiểm nghiệm các khái niệm mà chúng em đã học trong môn học "Công Nghệ PhầnMềm Tiên Tiến".
Bản báo cáo này sẽ đi sâu vào quá trình lập kế hoạch, triển khai và quản lý dự án của nhómchúng em, đồng thời bật mí về những thách thức và giải pháp mà nhóm đã đối mặt Nhómcũng muốn chia sẻ những bài học quan trọng và kinh nghiệm tích lũy được từ việc áp dụngJira Software và phương pháp Scrum vào quy trình làm việc của nhóm
Dự án không chỉ là nơi thử nghiệm kiến thức mà chúng em đã học mà còn là cơ hội đểchúng emxây dựng kỹ năng làm việc nhóm, giải quyết vấn đề và quản lý thời gian hiệu quả.Chúng em tin rằng thông qua bài báo cáo này, thầy sẽ có cái nhìn tổng quan về quá trình học
và ứng dụng kiến thức của chúng em trong môi trường thực tế
Trân trọng!
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 2 1: Nguồn dữ liệu 22
Hình 2 2: Lấy dữ liệu từ Hive 23
Hình 2 3: Train model LinearSVC 23
Hình 2 4: Kết quả dự đoán đến WebSocket 24
Hình 2 5: Xây dựng WebSocket 24
Hình 2 6: Xây dựng WebUI 25
Hình 2 7: Giao diện người dùng 25
Trang 7I KIẾN THỨC NỀN TẢNG
I.1 Môn Công nghệ phần mềm tiên tiến
I.1.1 Giới thiệu về môn học
Công nghệ phần mềm tiên tiến là một môn học mang tính chất nâng cao, chuyên sâu,giúp sinh viên hiểu rõ và ứng dụng những công nghệ mới nhất trong lĩnh vực phần mềm.Môn học này không chỉ hướng dẫn về cách phát triển ứng dụng mà còn tập trung vào quátrình quản lý dự án và sử dụng các công cụ hiện đại hỗ trợ quản lý dự án
Mục tiêu của môn học:
Hiểu rõ các phương pháp phát triển và quản lý dự án phần mềm hiện đại
Thạo kỹ năng sử dụng các công cụ quản lý dự án phần mềm
Nắm vững kiến trúc microservices và containers
Có khả năng xử lý dữ liệu lớn và hiểu về các công nghệ liên quan
Áp dụng kiến thức vào thực tế thông qua các dự án nhóm
Các nội dung chính có thể bao gồm:
Kiến thức nền tảng: Bao gồm các nguyên lý của phát triển phần mềm, quản lý dự án,
Phương pháp giảng dạy:
Có thể bao gồm bài giảng lý thuyết, thảo luận về các case study, thực hành sử dụngcông cụ và thực hiện các dự án thực tế
Thường có sự kết hợp giữa lý thuyết và thực tế để học viên có thể áp dụng nhữngkiến thức học được vào thực tế công việc
Lợi ích khi học môn học này:
Tiếp cận các công nghệ và xu hướng mới nhất trong lĩnh vực phần mềm
Phát triển kỹ năng cần thiết để làm việc trong môi trường phát triển phần mềmchuyên nghiệp
Trang 8 Hiểu rõ và áp dụng các phương pháp, công cụ và quy trình hiện đại để tối ưu hóa quátrình phát triển phần mềm.
Môn học "Công nghệ Phần mềm Tiên tiến" thường là một bước quan trọng giúp sinh viênchuẩn bị tốt cho sự nghiệp trong ngành Công nghệ Thông tin, đặc biệt trong lĩnh vực phát triểnphần mềm
I.1.2 Ưu điểm của Công nghệ phần mền tiên tiến
Môn học Công nghệ Phần mềm Tiên tiến mang lại nhiều ưu điểm quan trọng:
Áp dụng thực tiễn: Môn học này tập trung vào việc áp dụng kiến thức vào thực tế Họcviên được trải nghiệm các dự án, công cụ và quy trình thực tế trong phát triển phầnmềm
Cập nhật xu hướng mới: Liên tục cập nhật với các xu hướng mới nhất trong ngành Côngnghệ Phần mềm, giúp học viên nắm bắt được công nghệ và kỹ thuật mới nhất
Học hỏi từ kinh nghiệm thực tế: Thông qua các dự án thực tế, học viên có cơ hội học hỏi
từ các nguồn lực có kinh nghiệm thực tế, giúp họ phát triển kỹ năng làm việc trong môitrường thực tế
Phát triển kỹ năng mềm: Không chỉ học về công nghệ, mà còn tập trung vào phát triển
kỹ năng mềm như làm việc nhóm, giao tiếp, quản lý dự án, và giải quyết vấn đề
Tạo cơ hội nghề nghiệp: Mang lại cơ hội tốt để học viên tìm kiếm việc làm hoặc thăngtiến trong lĩnh vực Công nghệ Phần mềm, vì họ có kiến thức và kỹ năng cần thiết
Hỗ trợ cộng đồng học thuật: Môi trường học tập cung cấp sự hỗ trợ cho học viên qua cácnhóm thảo luận, diễn đàn và dự án cộng đồng
Tích hợp Scrum và Agile: Sử dụng các phương pháp quản lý dự án như Scrum giúp cảithiện hiệu suất và sự linh hoạt trong phát triển sản phẩm
Hỗ trợ sự sáng tạo: Khuyến khích sự sáng tạo và động lực để tìm ra giải pháp mới vàtiến bộ trong việc phát triển phần mềm
Tóm lại, môn học Công nghệ Phần mềm Tiên tiến không chỉ cung cấp kiến thức về côngnghệ mà còn tập trung vào phát triển kỹ năng và sự hiểu biết vững chắc về quy trình phát triểnphần mềm hiện đại
Trang 9I.1.3 Nhược điểm của Công nghệ phần mền tiên tiến
Một số nhược điểm của môn học Công nghệ Phần mềm Tiên tiến có thể bao gồm:
Khó khăn với sinh viên không có nền tảng: Đối với sinh viên không có kiến thức nềntảng vững chắc về Công nghệ Phần mềm, môn học này có thể đòi hỏi khá nhiều nỗ lực
I.1.4 Ứng dụng thực tế
Công nghệ phần mềm tiên tiến (Advanced Software Engineering) có rất nhiều ứngdụng trong thực tế, đặc biệt trong lĩnh vực phát triển phần mềm và quản lý dự án Dướiđây là một số ứng dụng chính của nó:
Phát triển ứng dụng lớn và phức tạp: Công nghệ phần mềm tiên tiến được sử dụng đểxây dựng các ứng dụng lớn, phức tạp và có hiệu suất cao Điều này bao gồm từ các ứngdụng di động, ứng dụng web, cho đến hệ thống quản lý doanh nghiệp và các phần mềmdựa trên đám mây
Áp dụng các phương pháp phát triển phần mềm linh hoạt: Scrum, Agile và các phươngpháp phát triển linh hoạt khác thường được ứng dụng để tạo điều kiện cho việc phát triểnphần mềm linh hoạt, linh hoạt và có khả năng thích ứng tốt với sự thay đổi trong quátrình phát triển sản phẩm
Trang 10 Quản lý dự án hiệu quả: Công nghệ phần mềm tiên tiến cung cấp kiến thức về cácphương pháp quản lý dự án hiện đại, giúp cải thiện quá trình lập kế hoạch, giám sát tiến
độ, và tăng khả năng kiểm soát các dự án phần mềm
Kiểm thử và Đảm bảo chất lượng phần mềm: Nó cung cấp kiến thức về các kỹ thuậtkiểm thử phần mềm tiên tiến như TDD (Test Driven Development), BDD (BehaviorDriven Development), và kiểm thử tự động để đảm bảo chất lượng sản phẩm
Quản lý chuỗi cung ứng phần mềm: Công nghệ phần mềm tiên tiến giúp quản lý quytrình phát triển phần mềm từ đầu đến cuối, bao gồm việc tối ưu hóa, tự động hóa và theodõi các quy trình sản xuất phần mềm
Xây dựng và duy trì hệ thống lớn: Nó hỗ trợ việc xây dựng và duy trì các hệ thống phầnmềm lớn, có khả năng mở rộng và có tính sẵn sàng cao để đáp ứng nhu cầu người dùng
Quản lý rủi ro và an ninh phần mềm: Công nghệ phần mềm tiên tiến giúp hiểu về cácvấn đề an ninh phần mềm và quản lý rủi ro để ngăn chặn các vấn đề bảo mật
Phát triển theo hướng DevOps: Nó cung cấp kiến thức để tích hợp phát triển và vậnhành phần mềm (DevOps) để tạo ra một quy trình liền mạch và hiệu quả cho việc pháttriển và vận hành phần mềm
I.1.5 Công cụ và ngôn ngữ
Selenium và Appium: Các công cụ tự động hóa kiểm thử cho ứng dụng web và di động
Docker và Kubernetes: Đây là các công cụ cho việc triển khai ứng dụng, quản lýcontainer, và orchestration
Postman và Swagger: Công cụ để phát triển và kiểm thử các API
Trang 11 Ruby và PHP: Sử dụng cho việc phát triển web và các ứng dụng mạng.
Các công cụ và ngôn ngữ được chọn lựa phụ thuộc vào yêu cầu cụ thể của dự án, môitrường phát triển, và sở thích của nhóm phát triển
1.2 Công cụ Jira Software
1.2.1 Khái niệm Jira Software
Jira Software là một công cụ quản lý dự án và theo dõi công việc phổ biến, thường được
sử dụng trong phát triển phần mềm và quản lý dự án công nghệ thông tin Đây là một phầncủa hệ sinh thái công cụ Atlassian và thường được tích hợp với các công cụ khác nhưConfluence, Bitbucket, và các ứng dụng khác của Atlassian để tạo thành một quy trình làmviệc tích hợp
1.2.2 Mục tiêu Jira Software
Jira Software được phát triển với mục tiêu cung cấp một giải pháp quản lý dự án linhhoạt và hiệu quả, đặc biệt là trong lĩnh vực phát triển phần mềm
Những mục tiêu chính của Jira Software:
Quản lý dự án hiệu quả: Hỗ trợ quản lý dự án một cách hiệu quả thông qua việc tổchức công việc, quản lý sprints, và theo dõi tiến độ dự án
Tích hợp công việc và phát mã: Kết hợp việc quản lý công việc và mã nguồn mộtcách mạch lạc, tăng cường khả năng theo dõi thay đổi và kiểm soát mã nguồn
Trang 12 Hỗ trợ cả mô hình Scrum và Kanban: Cung cấp các tính năng chuyên sâu cho cảScrum và Kanban, giúp tự động hóa quy trình làm việc và tối ưu hóa dòng công việc.
Tính linh hoạt và tùy chỉnh cao: Cho phép người dùng tùy chỉnh quy trình làm việc,trạng thái công việc, và các yếu tố khác để phản ánh đúng quy trình phát triển của tổchức
Kiểm soát tiến độ và báo cáo: Cung cấp các bảng báo cáo và biểu đồ giúp người quản
lý và nhóm hiểu rõ hơn về tiến trình và hiệu suất dự án
Tương Tác và Giao Tiếp Dễ Dàng: Hỗ trợ tính năng thảo luận và tương tác giữa cácthành viên nhóm, giúp làm rõ yêu cầu và giải quyết vấn đề
Tích hợp với công cụ phát mã phổ biến: Kết nối với các công cụ phát mã nguồn mởnhư Bitbucket, giúp tích hợp quy trình làm việc và theo dõi mã nguồn
Quản lý vấn đề hiệu quả: Cho phép quản lý các vấn đề từ bug đến yêu cầu tính năngmột cách thuận lợi và minh bạch
Nâng cao hiểu quả công việc: Hỗ trợ việc tối ưu hóa và tự động hóa công việc, giúpnhóm làm việc hiệu quả hơn và giảm thời gian làm các công việc lặp lại
Hỗ trợ quản lý đa dự án: Cho phép quản lý nhiều dự án cùng một lúc và theo dõichúng một cách thuận lợi
Jira Software hỗ trợ các tổ chức và nhóm phần mềm xây dựng và quản lý sản phẩm mộtcách hiệu quả và linh hoạt
1.2.3 Quy trình làm việc Jira Software
Jira Software cung cấp một quy trình làm việc mạnh mẽ và linh hoạt, có thểtương thích với nhiều mô hình quản lý dự án khác nhau Một quy trình làm việc thôngthường với Jira Software, tập trung vào mô hình Scrum:
Tạo dự án: Bắt đầu bằng việc tạo một dự án mới trong Jira Software Chọn loại dự án(Scrum, Kanban, hoặc mô hình tùy chỉnh) và xác định các cài đặt cần thiết
Xác Định Sprints (Nếu Sử Dụng Scrum): Nếu bạn sử dụng mô hình Scrum, xác định đợtlàm việc (sprint) Điều này bao gồm quyết định thời gian và mục tiêu của từng sprint
Tạo backlog công việc: Tạo danh sách công việc (backlog) cần thực hiện trong dự án.Mỗi công việc có thể là một user story, bug, tính năng, hoặc công việc cụ thể khác
Trang 13 Phân công công việc: Phân công công việc cho các thành viên nhóm Xác định ngườithực hiện và thời gian dự kiến hoàn thành cho mỗi công việc.
Thực hiện công việc: Thực hiện công việc theo lịch trình đã đề ra Mỗi công việc được
di chuyển qua các trạng thái khác nhau (đã bắt đầu, đang tiến hành, đã hoàn thành)
Sprint Review và Retrospective (Scrum): Khi một sprint kết thúc, tổ chức một buổireview để xem xét những gì đã đạt được và một buổi retrospective để học hỏi từ trảinghiệm
Xác định tiến độ và hiệu suất: Sử dụng các bảng và biểu đồ của Jira Software để theodõi tiến độ và hiệu suất dự án Điều này giúp đảm bảo rằng dự án diễn ra theo kế hoạch
và có thể đưa ra các điều chỉnh cần thiết
Lặp lại quy trình: Lặp lại quy trình trên cho mỗi sprint hoặc chu kỳ công việc mới Họchỏi từ mỗi chu kỳ để cải thiện quy trình làm việc
Tương tác và giao tiếp: Sử dụng các tính năng tương tác như thảo luận, bình luận để giữliên lạc mạch lạc giữa các thành viên nhóm và các bên liên quan
Kiểm soát và đánh giá: Thực hiện kiểm soát chất lượng, đánh giá và xác định các cảitiến cần thiết cho dự án
Với Jira Software, quy trình làm việc có thể được tùy chỉnh để phản ánh đúng mô hình làmviệc và yêu cầu cụ thể của dự án Điều này giúp đảm bảo rằng mọi thành viên đều có thểtheo dõi và tham gia vào quy trình làm việc một cách thuận lợi
1.2.4 Ứng dụng của Jira Software
Ứng dụng của Jira Software rất đa dạng và linh hoạt, bao gồm nhưng không giới hạn trong cáclĩnh vực sau:
Trang 14o Tích hợp liên tục: Kết hợp với các công cụ tích hợp liên tục như Jenkins hoặcBamboo để tự động hóa quá trình triển khai và kiểm thử.
Quản lý dự án công nghệ thông tin:
o Quản lý yêu cầu: Theo dõi yêu cầu từ người dùng hoặc khách hàng và theo dõi quátrình giải quyết
o Quản lý tài nguyên: Theo dõi và quản lý tài nguyên, người dùng, và các thông tinliên quan
Quản lý dự án IT và hệ thống:
o Quản lý vận hành hệ thống: Điều chỉnh các task liên quan đến quản lý và vận hành
hệ thống IT
o Xử lý sự cố: Quản lý việc xử lý các sự cố hệ thống và theo dõi quá trình giải quyết
Quản lý dự án kinh doanh và tiến trình:
Quản lý dự án kinh doanh: Quản lý các dự án không phải phần mềm như quản lý dự ánmarketing, tài chính, v.v
1.2.5 Ưu điểm của Jira Software
Jira Software có nhiều ưu điểm mà các tổ chức và nhóm phát triển phần mềmthường tận dụng:
Quản lý dự án linh hoạt: Jira cung cấp các công cụ quản lý dự án linh hoạt, cho phép cácnhóm sử dụng nhiều phương pháp Agile như Scrum, Kanban, hoặc phương pháp tùychỉnh để điều chỉnh và tối ưu hóa quá trình làm việc
Theo dõi công việc và tiến độ: Cho phép theo dõi các công việc, user story, bugs, và cáctác vụ khác trong dự án một cách chi tiết Các bảng Scrum và Kanban rõ ràng và minhbạch, giúp mọi người hiểu rõ tiến độ của dự án
Trang 15 Tích hợp mạnh mẽ: Jira có khả năng tích hợp với nhiều công cụ khác nhau nhưBitbucket, Confluence, Jenkins, Slack, và nhiều công cụ khác, giúp tối ưu hóa quá trìnhlàm việc và tương tác giữa các công cụ khác nhau.
Tùy chỉnh cao: Khả năng tùy chỉnh cao đặc biệt quan trọng, cho phép người dùng điềuchỉnh cấu hình và quy trình làm việc theo nhu cầu cụ thể của dự án hoặc tổ chức
Báo cáo và phân tích: Jira cung cấp các công cụ báo cáo mạnh mẽ, cho phép người dùngtạo ra các báo cáo tuỳ chỉnh, theo dõi hiệu suất dự án và đánh giá năng suất của nhóm
Hỗ trợ đa nền tảng: Jira hỗ trợ đa nền tảng, có thể sử dụng trên các hệ điều hành khácnhau và có phiên bản trên web cũng như ứng dụng di động
Cộng đồng lớn và hỗ trợ tốt: Vì Jira là một sản phẩm rất phổ biến, nên có một cộng đồnglớn, tài liệu hướng dẫn và hỗ trợ rộng rãi từ cộng đồng người dùng
1.2.6 Nhược điểm của Jira Software
Mặc dù Jira Software là một công cụ mạnh mẽ, nhưng cũng có một số nhượcđiểm:
Phức tạp cho người mới sử dụng: Giao diện của Jira có thể phức tạp và khó tiếp cận đốivới người dùng mới Việc hiểu rõ cách thức làm việc và cấu hình ban đầu có thể đòi hỏithời gian và kiên nhẫn
Tài nguyên hệ thống và cấu hình: Yêu cầu cấu hình và tài nguyên hệ thống có thể tănglên theo thời gian hoặc khi quản lý các dự án lớn Điều này có thể dẫn đến các vấn đề vềhiệu suất hoặc tải
Chi phí: Phiên bản trả phí của Jira có thể tạo áp lực tài chính đối với các tổ chức nhỏhoặc nhóm với ngân sách hạn chế
Tùy chỉnh phức tạp: Mặc dù có khả năng tùy chỉnh cao, nhưng việc tùy chỉnh Jira có thểphức tạp và đòi hỏi kiến thức kỹ thuật cao
Hiệu suất và tải: Trong một số trường hợp, khi áp dụng cho các dự án lớn, Jira có thểgặp phải vấn đề về hiệu suất và tải, gây ảnh hưởng đến trải nghiệm người dùng
Hỗ trợ khách hàng có thể không đáp ứng kịp thời: Trong một số trường hợp, hỗ trợ từnhà cung cấp có thể không nhanh chóng hoặc không đáp ứng kịp thời
Trang 16 Đôi khi quá phức tạp cho các dự án nhỏ: Đối với các dự án nhỏ hoặc không phức tạp,Jira có thể cung cấp quá nhiều tính năng, làm tăng độ phức tạp mà không mang lại giá trịthực sự.
Nhược điểm này thường phụ thuộc vào hoàn cảnh cụ thể của từng tổ chức và dự án, và cóthể được giải quyết thông qua việc tùy chỉnh cấu hình và quản lý hiệu quả
1.3 Phương pháp quản lí Agile
1.3.1 Khái niệm quản lí Agile
Phương pháp quản lý Agile là một phương pháp linh hoạt và tương tác được sửdụng trong quản lý dự án và phát triển sản phẩm Nó tập trung vào việc phát triển sảnphẩm theo từng giai đoạn ngắn gọi là "sprints" hoặc "iterations", trong đó nhóm làmviệc tương tác liên tục với khách hàng hoặc người sử dụng để thêm, sửa đổi và cải thiệncác yêu cầu
1.3.2 Mục tiêu của Agile
Agile có một số mục tiêu chính nhằm đạt được hiệu suất và hiệu quả trong việcphát triển sản phẩm Dưới đây là một số mục tiêu cốt lõi của Agile:
Phản hồi nhanh: Agile hướng đến việc cung cấp phản hồi nhanh từ khách hàng hoặcngười dùng cuối để có thể thích nghi và điều chỉnh dự án nhanh chóng theo yêu cầumới
Tăng sự linh hoạt: Agile đặt sự linh hoạt cao, cho phép thay đổi yêu cầu, ưu tiên vàphương pháp làm việc giữa các giai đoạn phát triển
Tập trung vào người dùng: Mục tiêu chính của Agile là cung cấp giá trị thực cho ngườidùng cuối bằng cách liên tục tương tác và tích hợp ý kiến từ họ vào quá trình phát triển
Tạo giá trị sớm: Agile ưu tiên việc phát triển và cung cấp các phần hoặc tính năng củasản phẩm có giá trị cao nhất sớm nhất có thể
Tăng sự tự tổ chức: Phương pháp này khuyến khích sự tự quản lý, tự tổ chức của nhóm
và khả năng thích ứng với sự thay đổi
Kiểm soát chất lượng: Agile đặt sự chú trọng vào việc kiểm soát chất lượng thông quaviệc kiểm tra thường xuyên và tối ưu hóa quy trình làm việc
Trang 17 Giảm rủi ro: Bằng việc chia dự án thành các giai đoạn nhỏ và tập trung vào việc thửnghiệm thường xuyên, Agile giúp giảm rủi ro và tăng khả năng dự đoán trong quá trìnhphát triển.
Mục tiêu của Agile không chỉ dừng lại ở việc sản xuất ra sản phẩm phần mềm chất lượngcao mà còn là việc xây dựng một môi trường làm việc tích cực, tạo động lực cho nhóm và tăngkhả năng thích nghi với thị trường thay đổi
1.3.3 Quy trình làm việc
Quy trình làm việc của Scrum bao gồm các sự kiện, các vai trò và các sản phẩmquan trọng Quy trình cơ bản của Scrum:
Sự Kiện (Events) trong Scrum:
Sprint: Sprint là một khoảng thời gian cố định (thường từ 2 đến 4 tuần) trong đó mộtIncrement của sản phẩm được phát triển và đưa ra kiểm thử và kiểm tra
Sprint Planning: Cuộc họp này diễn ra ở đầu mỗi Sprint để xác định mục tiêu Sprint vàlên kế hoạch công việc cần thực hiện
Daily Scrum (Daily Standup): Là cuộc họp ngắn mỗi ngày, trong đó mỗi thành viênnhóm báo cáo về công việc đã thực hiện, công việc sẽ thực hiện và những khó khănđang gặp phải
Sprint Review: Diễn ra cuối mỗi Sprint, nhóm giới thiệu Increment mới và nhận phảnhồi từ các bên liên quan, đặc biệt là từ khách hàng
Sprint Retrospective: Cuộc họp này diễn ra sau cuộc họp Review, nhằm đánh giá quátrình Sprint vừa qua và đề xuất cải tiến cho các Sprint tiếp theo
Vai Trò (Roles) trong Scrum:
Product Owner: Người đại diện cho khách hàng và quyết định về nội dung và ưu tiêncủa Product Backlog
Scrum Master: Đảm bảo rằng nhóm Scrum tuân thủ quy tắc và quy trình của Scrum,giúp giải quyết vấn đề và tạo điều kiện cho sự phát triển
Development Team: Nhóm chịu trách nhiệm thực hiện công việc và tạo ra Increment sảnphẩm
Các Sản Phẩm (Artifacts) trong Scrum:
Trang 18 Product Backlog: Danh sách ưu tiên về các yêu cầu và tính năng cần phát triển trong sảnphẩm.
Sprint Backlog: Danh sách công việc cụ thể cần thực hiện trong mỗi Sprint, được lựachọn từ Product Backlog
Increment: Phiên bản của sản phẩm sau mỗi Sprint, phải có thể triển khai và đưa ra sửdụng
Quy trình làm việc của Scrum là một chu kỳ lặp lại, linh hoạt và giúp tối ưu hóa quátrình phát triển sản phẩm thông qua việc lắng nghe phản hồi và tự cải tiến liên tục
1.3.4 Ứng dụng của Scrum
Scrum là một phương pháp quản lý dự án linh hoạt (Agile) được sử dụng rộngrãi trong lĩnh vực phần mềm và nhiều lĩnh vực khác Một số ứng dụng phổ biến củaScrum:
Phát triển phần mềm: Scrum được sử dụng phổ biến trong phát triển phần mềm để tăngcường khả năng đáp ứng với sự biến động của yêu cầu và thị trường
Quản lý dự án: Các dự án không chỉ trong lĩnh vực phần mềm mà còn trong nhiều lĩnhvực khác như xây dựng, quảng cáo, tiếp thị đã áp dụng Scrum để tối ưu hóa quá trìnhlàm việc và đạt được kết quả hiệu quả
Quản lý sản phẩm: Scrum không chỉ quản lý quá trình phát triển mà còn quản lý sảnphẩm trong toàn bộ vòng đời sản phẩm, từ ý tưởng đến sản phẩm hoàn chỉnh
Dự án nghiên cứu và phát triển: Trong các lĩnh vực nghiên cứu và phát triển, Scrumgiúp tổ chức linh hoạt và thích ứng nhanh chóng với các thay đổi và khám phá
Tổ chức sự kiện và hội nghị: Scrum cũng có thể được áp dụng trong việc tổ chức các sựkiện, hội nghị để tối ưu hóa quá trình tổ chức và đảm bảo sự hài lòng của khách hàng
Quản lý dự án marketing: Trong lĩnh vực tiếp thị và quảng cáo, Scrum giúp các nhómlàm việc linh hoạt để thích ứng với chiến lược tiếp thị và biến động của thị trường
Dự án giáo dục và đào tạo: Trong lĩnh vực giáo dục, Scrum có thể được sử dụng để quản
lý các dự án giáo dục và đào tạo, giúp cải thiện quá trình học tập và phát triển các khóahọc