Tải bản đầy đủ (.docx) (52 trang)

Xây dựng hệ thống quản lý dự án phần mềm theo mô hình agilescrum đồ án i

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.39 MB, 52 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN TOÁN ỨNG DỤNG VÀ TIN HỌC

XÂY DỰNG HỆ THỐNG QUẢN LÝ DỰ
ÁN PHẦN MỀM THEO MƠ HÌNH
AGILE/SCRUM
ĐỒÁNI
Giảng viên hướng dẫn: TS. Tạ Thị Thanh Mai
Sinh viên thực hiện:

Nguyễn Đức Thiện

MSSV:

20173589

Lớp:

Hệ thống thông tin quản lý - K62

HÀ NỘI – 2023


i

NHẬN XÉT CỦA GIẢNG VIÊN
1.

Mục đích và nội dung của đồ án
Mục đích của đồ án là phát triển một phần mềm quản lý dự án dựa trên quy trình
Agile/Scrum, sử dụng Node.js và React.js, và áp dụng phương pháp Critical Path.



2.


Kết quả đạt được
Xây dựng thành cơng một phần mềm quản lý dự án dựa trên quy trình

Agile/Scrum, sử dụng Node.js và React.js, và áp dụng phương pháp Critical Path.


Thiết kế giao diện người dùng thân thiện và dễ sử dụng cho phần mềm quản

lý dự án, giúp cho người dùng có thể sử dụng phần mềm một cách hiệu quả.



Tích hợp các tính năng quản lý dự án như quản lý yêu cầu, lập kế hoạch,

theo dõi tiến độ, và phân bổ nguồn lực nhân sự.


Áp dụng phương pháp Critical Path để tối ưu hóa thời gian và nguồn lực

trong quản lý dự án.
3.

Ý thức làm việc của sinh viên
Chủ động nghiên cứu, tìm hiểu tài liệu và hoàn thành nội dung của Đồ án.

Hà Nội, tháng 3 năm 2023

Giảng viên

TS. Tạ Thị Thanh Mai


i

Mục lục
Lời mở đầu

1

Chương 1 Cơ sở lý thuyết

3

1.1

Tổng quan về Javascript . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2

NodeJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.3


React . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.4

Hệ quản trị CSDL PostgreSQL . . . . . . . . . . . . . . . . . . . . . .

5

1.5

Kiến trúc Client-Server . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.6

Mơ hình AGILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.7

Quy trình SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.8


Phương pháp đường Găng . . . . . . . . . . . . . . . . . . . . . . . . . 10

Chương 2 Khảo sát hệ thống
2.1 Vấn đề thực tế . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14
14

2.1.1 Khảo sát hiện trạng . . . . . . . . . . . . . . . . . . . . . . . .

14

2.1.2 Quy trình quản lý dự án dựa trên mơ hình AGILE/SCRUM . .

15

2.1.3 Giải pháp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2 Yêu cầu chức năng hệ thống . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.1 Chức năng của thành viên . . . . . . . . . . . . . . . . . . . . .

18

2.2.2 Chức năng của người quản lý dự án . . . . . . . . . . . . . . . .


21

Chương 3 Phân tích hệ thống
3.1 Sơ đồ phân cấp chức năng . . . . . . . . . . . . . . . . . . . . . . . . .

24
25

3.1.1 Sơ đồ phân cấp chức năng phía thành viên . . . . . . . . . . . .

25

3.1.2 Sơ đồ phân cấp chức năng phía người quản lý . . . . . . . . . .

26

3.2 Sơ đồ luồng dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.2.1 Biểu đồ luồng dữ liệu mức ngữ cảnh . . . . . . . . . . . . . . .

27

3.2.2 Biểu đồ luồng dữ liệu mức đỉnh . . . . . . . . . . . . . . . . . .

27


0


3.3

3.2.3 Biểu đồ luồng dữ liệu mức dưới đỉnh . . . . . . . . . . . . . . .

29

Mơ hình thực thể liên kết . . . . . . . . . . . . . . . . . . . . . . . . .

29

3.3.1 Danh sách thực thể liên kết . . . . . . . . . . . . . . . . . . . .

29

3.3.2 Mơ hình thực thể liên kết . . . . . . . . . . . . . . . . . . . . .

32

Chương 4 Thiết kế và xây dựng hệ thống

33

4.1

Thiết kế bảng dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

4.2


Mơ hình dữ liệu quan hệ . . . . . . . . . . . . . . . . . . . . . . . . . .

40

4.3

Xây dựng giao diện hệ thống . . . . . . . . . . . . . . . . . . . . . . . .

40

Kết luận
Tài liệu tham khảo

46
47


1

Lời mở đầu
Với sự phát triển của ngành công nghệ thông tin hiện nay, các dự án phần
mềm luôn được các cá nhân và doanh nghiệp quan tâm hơn bao giờ hết. Nhu cầu
xây dựng các dự án phần mềm đáp ứng với mơ hình kinh doanh của các doanh
nghiệp là rất cao. Đó là một cơ hội cũng như là thách thức đối với các công ty phát
triển phần mềm, đặc biệt trong vấn đề quản lý dự án một cách hiệu quả.
Nhận thức được vấn đề đó, em đã chọn đề tài "Xây dựng hệ thống quản lý
dự án phần mềm theo mơ hình AGILE/SCRUM " làm đề tài mơn học Đồ án 1,
nhằm góp phần cải thiện hiệu quả cho việc quản lý các dự án phần mềm.
Nội dung đề tài gồm 4 chương:



Chương 1: Cơ sở lý thuyết



Chương 2: Khảo sát hệ thống
Phần này giới thiệu sơ lược về thực trạng hệ thống, tìm hiểu quy trình nghiệp
vụ, xác định yêu cầu và chi tiết của người sử dụng để xây dựng hệ thống.



Chương 3: Phân tích hệ thống
Sau khi khảo sát hệ thống, em tiến hành phân tích, tìm hiểu quy trình nghiệp
vụ và biểu diễn qua các biểu đồ phân cấp chức năng, từ đó xây dựng mơ hình
thực thể liên kết.



Chương 4: Thiết kế và xây dựng hệ thống
Từ dữ liệu có được qua phần phân tích hệ thống, nội dung chương 3 thực hiện
việc thiết kế cơ sở dữ liệu, xử lý các chức năng, thiết kế chương trình.


2
Em cũng xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn - TS. Tạ Thị
Thanh Mai đã tận tình hướng dẫn, giúp em có thể hồn thiện q trình nghiên cứu
của mình. Từ đó giúp em có được định hướng và hoàn thành tốt đề tài của mình.



3

Chương 1
Cơ sở lý thuyết
1.1

Tổng quan về Javascript

JavaScript là một ngơn ngữ thơng dịch và có tính hướng đối tượng, được sử
dụng phổ biến trong phát triển website, giúp các trang web có thể tương tác trực
tiếp với người dùng.
Javascript lần đầu được giới thiệu dưới tên LiveScript, nhưng sau đó
Netscape đã đổi tên thành JavaScript, có thể do ảnh hưởng của sự phổ biến của
Java lúc bấy giờ. JavaScript lần đầu tiên xuất hiện trên trình duyệt Netscape phiên
bản 2.0, dưới tên LiveScript, với mục đích chung là có thể tích hợp trên Netscape,
Internet Explorer và các trình duyệt web khác.
ECMA-262 đã đưa ra tiêu chuẩn cốt lõi cho các phiên bản của JavaScript như sau:



JavaScript là ngơn ngữ thơng dịch và nhẹ.



JavaScript được thiết kế để tạo ra các ứng dụng mạng.



Tích hợp với HTML




Đa nền tảng
Client-Side JavaScript
Client-Side JavaScript là một trong những ứng dụng phổ biến nhất của JavaScript.
Các mã JavaScript sẽ được tham chiếu tới các thẻ HTML và được thực thi trên trình
duyệt. Điều đó giúp cho những trang web có thể tương tác trực tiếp với người dùng.


4
Cơ chế Client-Side cung cấp nhiều lợi ích cho nhà phát triển, ví dụ như có thể
sử dụng để kiểm tra dữ liệu đầu vào trước khi gửi yêu cầu xuống server. Ngồi ra,
JavaScript cịn có thể lắng nghe các sự kiện từ người dùng như nhấp chuột, điều
hướng... từ đó thực thi các đoạn mã tương ứng.

1.2

NodeJS

Với sự phát triển mạnh mẽ của các website và sự tiện lợi của JavaScript trong
việc xây dựng các trang web, các nhà phát triển mong muốn có thể sử dụng
JavaScript ở phía server (Server-Side). Tuy nhiên mong muốn đó vấp phải một
chướng ngại lớn khi các mã JavaScript chỉ có thể thực thi trên trình duyệt, từ đó
đem lại nhiều bất cập như việc đọc và ghi file, kết nối với các hệ quản trị cơ sở dữ
liệu... NodeJS đã xuất hiện và mở ra một con đường mới cho JavaScript.
NodeJS là một nền tảng phía server, được xây dựng dựa trên JavaScript
Engine của Google Chrome hay còn được biết đến là V8 Engine. NodeJS giúp xây
dựng các trang web nhanh chóng và dễ dàng mở rộng với kiến trúc hướng sự kiện
(event-driven) và non-blocking I/O.
NodeJS là một mã nguồn mở, một môi trường đa nền tảng để phát triển các

ứng dụng mạng phía server. Các ứng dụng NodeJS được viết bằng JavaScript và
có thể chạy trên nhiều hệ điều hành khác nhau như OS X, Microsof Windows hay
Linux. NodeJS cũng cung cấp đa dạng các thư viện của JavaScript giúp đơn giản
hoá việc phát triển các ứng dụng hơn rất nhiều.
NodeJS = Runtime Enviroment + JavaScript Libary

1.3

React

React là một thư viện JavaScript sử dụng để xây dựng giao diện người dùng.
React được phát triển dựa trên ý tưởng xây dựng các thành phần có thể sử dụng lại
trên giao diện với dữ liệu của mỗi thành phần thay đổi theo thời gian. React trừu
tượng hoá DOM - Document Object Model của HTML để có thể dễ dàng cập nhật
dữ liệu một cách nhanh chóng. React sử dụng Virtual DOM để cập nhật dữ liệu, sau
đó so sánh Virtual DOM và DOM để thực hiện các cập nhật trên trang web.


5

Hình 1.1: Virtual DOM
Tính năng của React


JSX - JSX là cú pháp mở rộng của JavaScript. JSX được sử dụng để khai

báo các phần tử trong React, gần giống với HTML nhưng sẽ đi kèm với tất cả các
tính năng của JavaScript.



Component - Component là các thành phần có thể tái sử dụng trong React.

Mọi thứ của React đều là Component. Nó giúp cho các dự án có thể dễ dàng duy trì
và mở rộng.


Luồng dữ liệu một chiều - React sử dụng dữ liệu một chiều giúp nhà phát

triển có thể dễ dàng kiểm sốt ứng dụng của mình.

1.4

Hệ quản trị CSDL PostgreSQL

PostgreSQL là một hệ quản trị cơ sở dữ liệu với mã nguồn mở được phát triển
bởi một nhóm các lập trình viên trên tồn thế giới. PostgreSQL khơng bị kiểm sốt
bởi bất kì tập đồn nào và được phát hành miễn phí.
Tính năng của PostgreSQL
PostgreSQL có thể được triển khai trên hầu hết các hệ điều hành hiện nay,
bao gồm Linux, Unix và Windows. Nó hỗ trợ dữ liệu dạng văn bản, hình ảnh, âm
thanh và video, hỗ trợ interface cho đa ngơn ngữ lập trình.


6
PostgreSQL cung cấp hầu hết các tiêu chuẩn của SQL và thêm vào đó rất
nhiều tính năng mới như:


Các câu truy vấn SQL phức tạp




SQL Sub-selects



Foreign keys



Trigger



Views



Transactions



Multiversion concurrency control (MVCC)



Streaming Replication (phiên bản 9.0)




Hot Standby (phiên bản 9.0)

1.5

Kiến trúc Client-Server

Kiến trúc Client-Server là một hệ thống lưu trữ, cung cấp và quản lý hầu hết
các tài nguyên mà phía Client u cầu. Trong mơ hình này, tất cả các u cầu và
dịch vụ được phân phối qua một mạng và nó cịn được gọi là mơ hình mạng tính
tốn hay mạng máy chủ-máy khách.
Kiến trúc Client-Server, còn được gọi là mơ hình máy khách-máy chủ, là một ứng
dụng mạng chia nhỏ các tác vụ và khối lượng công việc giữa các máy khách và máy
chủ nằm trên cùng một hệ thống hoặc được liên kết bởi một mạng máy tính.

Kiến trúc Client-Server thường có các máy trạm, PC hoặc thiết bị khác của
nhiều người dùng, được kết nối với máy chủ trung tâm thông qua kết nối Internet
hoặc mạng khác. Máy khách gửi yêu cầu dữ liệu và máy chủ chấp nhận và đáp
ứng yêu cầu đó, gửi lại các gói dữ liệu cho người dùng cần chúng.


7

Hình 1.2: Kiến trúc Client-Server

1.6

Mơ hình AGILE

Phương pháp AGILE là các phương pháp để tiếp cận việc phát triển sản phẩm
phù hợp với các giá trị và nguyên tắc được mô tả trong Tuyên ngôn AGILE trong

việc phát triển phần mềm. Các phương pháp luận AGILE nhằm mục đích phát
triển sản phẩm phù hợp với yêu cầu của khách hàng, với việc chia sản phẩm
chính thành các chức năng nhỏ hơn, cho phép khách hàng thường xuyên phản
hồi và chỉnh sửa khóa học khi cần thiết.
Khi làm như vậy, AGILE hướng tới việc giải quyết những vấn đề mà phương
pháp tiếp cận “thác nước” truyền thống phải đối mặt trong việc phát triển các sản
phẩm lớn trong thời gian dài, trong đó các yêu cầu của khách hàng thường xuyên
thay đổi, dẫn đến khó khăn trong việc phát triển cũng như bàn giao sản phẩm.
Tuyên ngôn AGILE
Tuyên ngôn AGILE là một tuyên bố về các giá trị và nguyên tắc cốt lõi để phát
triển phần mềm. Tuyên ngôn AGILE trong phát triển phần mềm được đề xuất vào
năm 2001 và nó là tuyên bố của 4 quy tắc và 12 ngun tắc quan trọng.Tun
ngơn AGILE đóng vai trị như một hướng dẫn cho mọi người để phát triển phần
mềm một cách nhanh chóng. Nó được tạo ra bởi 17 chuyên gia hàng đầu trong
lĩnh vực phát triển phần mềm bang Utah của Hoa Kỳ, do Kent Beck triệu tập.
4 giá trị cốt lõi của tuyên ngôn AGILE
1.

Cá nhân và tương tác hơn là quy trình và cơng cụ

2.

Phần mềm hoạt động tốt hơn là tài liệu đầy đủ


8
3.

Hợp tác với khách hàng hơn là đàm phán hợp đồng


4.

Ứng phó, phần hồi với các thay đổi hơn là làm theo kế hoạch
12 quy tắc của tuyên ngôn AGILE

1.

Ưu tiên sự hài lịng của khách hàng thơng qua việc trao đổi và bàn giao liên tục.

2.

Chào đón việc thay đổi trong suốt quá trình phát triển. Tránh sự chậm trễ khi

có thay đổi về yêu cầu.
3.

Bàn giao sản phẩm thường xuyên, từ một vài tuần đến một vài tháng, với

một thời gian ngắn hơn sau mỗi lần bàn giao.
4.

Khách hàng và đội phát triển phải làm việc cùng nhau hàng ngày trong suốt

dự án.
5.

Xây dựng các dự án xoay quanh các cá nhân có động lực. Tạo cho họ một

môi trường, hỗ trợ họ những thứ cần thiết và tin tưởng họ để cơng việc được hồn
thành.

6.

Phương pháp hiệu quả nhất là truyền tải thông tin đến đội phát triển là đối

thoại trực tiếp.
7.

Phần mềm hoạt động tốt là thước đo của quá trình.

8.

Các quy trình AGILE thúc đẩy sự phát triển bền vững. Các nhà tài trợ cho dự án,

các nhà phát triển và người dùng cuối có thể duy trì một tốc độ vơ hạn định.

9.

Ln tập trung đến kỹ thuật xuất sắc và sự thiết kế tốt giúp nâng cao tính linh

hoạt.
10.

Tính đơn giản – nghệ thuật tối đa hố khối lượng cơng vệc chưa hồn thành

– là điều thiết yếu.
11.

Các kiến trúc, yêu cầu và thiết kế tốt nhất xuất hiện từ các nhóm tự tổ chức.

12.


Định kỳ, nhóm sẽ xem xét lại q trình và đưa ra cách làm việc hiệu quả hơn,

sau đó điều chỉnh hành vi của mình cho phù hợp.


9

1.7

Quy trình SCRUM

So với AGILE, SCRUM là một framework giúp thực hiện tốt các nguyên lý trong
AGILE. Bao gồm các cơng cụ, vai trị và quy trình tn theo ngun lý AGILE.

Các khái niệm trong SCRUM


User Story - Tóm tắt chức năng của sản phẩm từ phía người dùng.
Ví dụ:
– Là người mua hàng, tơi muốn xem tồn bộ danh sách sản phẩm.
– Là người quản lý, tôi muốn thêm sản phẩm vào cửa hàng.



Story Point - Đơn vị để đánh giá mức độ phức tạp của một User Story. Các

công ty thường sử dụng dãy số Fibonancy để cho thấy rõ ràng sự chênh lệch độ
phức tạp giữa các Story.



Product Backlog - Danh sách các cơng việc cần thực hiện để hồn thành

cơng việc. Có thể là User Story hay các việc kĩ thuật như thiết kế, khởi tạo
database, tích hợp API...


Sprint - Một chu kì làm việc trong dự án. Mỗi chu kì kéo dài từ 1 đến 4 tuần.

Trong mỗi chu kì, cả team sẽ thực hiện đầy đủ các công việc như thiết kế, code, test
để tạo ra sản phẩm vào cuối Sprint.


Sprint Backlog - Khi bắt đầu một Sprint, cả team sẽ chọn ra những cơng

việc cần hồn thành trong Sprint đó từ Product Backlog và đưa vào Sprint Backlog.
Những công việc này cần được hồn thành trong Sprint đó.


Defination of Done - Định nghĩa hồn thành. Một cơng việc được coi là hồn

thành khi đã code, test xong hoặc khi được khách hàng duyệt.
Vai trị, vị trí trong SCRUM


Scrum Master - Người nắm vững quy trình SCRUM và đảm bảo cả team

thực hiện đúng theo quy trình.



Product Owner - Người quản lý Product Backlog. Họ sẽ quyết định các chức

năng nào được thêm vào hay bỏ đi, giải thích ý nghĩa của chức năng cho các thành
viên trong team.


10


Development Team - Team tạo ra sản phẩm dựa theo các User Story. Cả

team sẽ tự ước lượng và phân chia công việc cho từng thành viên.

1.8

Phương pháp đường Găng

Phương pháp đường Găng (The Critical Path Method - CPM) là một kỹ thuật để xác
định các công việc cần thiết để hồn thành dự án và xác định tính linh hoạt trong sắp xếp
công việc. Một đường Găng trong quản trị dự án là một chuỗi những công việc cần phải
hồn thành đúng thời hạn trong dự án đó. Mọi sự chậm trễ xảy ra trong chuỗi những công
việc này đều có thể làm cho tiến độ dự án kéo dài hơn so với dự tính.

Phương pháp đường Găng xoay quanh việc tìm ra những cơng việc quan
trọng nhất trong q trình thực hiện dự án, xác định các cơng việc phụ thuộc và
tính tốn thời gian thực hiện cơng việc.
Lợi ích của phương pháp đường Găng


Cải thiện việc lên kế hoạch dự án trong tương lai: Phương pháp đường


Găng có thể sử dụng để so sánh giữa kỳ vọng và quá trình thực tế. Các dữ liệu từ
dự án hiện tại có thể được sử dụng để áp dụng hoặc thay đổi cho các dự án trong
tương lai.


Giúp quản lý tài nguyên một cách hiệu quả: Phương pháp đường Găng

giúp nhà quản lý sắp xếp công việc theo thứ tự ưu tiên, cho nhà quản lý một cái nhìn
trực quan về việc phân phối các tài ngun sẵn có.


Tránh tắc nghẽn cơng việc: Tình trạng tắc nghẽn trong dự án có thể gây ra

việc hao phí thời gian, chi phí cho dự án. Đường Găng giúp nhà quản lý có thể đưa
ra quyết định về những cơng việc có thể hoặc khơng thể thực hiện song song, từ đó
xây dựng lịch trình phù hợp cho dự án.
Cách tìm đường Găng
1.

Lên danh sách các công việc
Sử dụng bảng phân rã công việc để liệt kê tất cả các công việc cần thiết
trong dự án. Bảng phân rã cơng việc đóng vai trò nền tảng trong phần còn lại
của phương pháp đường Găng.


11

Sau khi đã xác định được các công việc cần thực hiện, người quản lý có thể
xác định các cơng việc phụ thuộc.

2.

Xác định công việc phụ thuộc
Dựa vào bảng phân rã công việc, xác định công việc nào chỉ có thể hồn
thành nếu cơng việc khác đã hồn thành. Điều này có thể giúp nhà quản lý
xác định các cơng việc có thể làm song song với nhau. Ví dụ:


12


Cơng việc B phụ thuộc vào cơng việc A



Cơng việc C phụ thuộc vào cơng việc B



Cơng việc C và D có thể làm song song



Cơng việc E phụ thuộc vào cơng việc D



Cơng việc F phụ thuộc vào cơng việc C, D và E

3.


Tính tốn đường Găng
Để tìm ra đường Găng, đầu tiên nhà quản lý cần ước lượng thời gian thực
hiện cho từng cơng việc. Để có thể ước lượng được thời gian này, nhà quản
lý có thể dựa trên:



Kinh nghiệm của bản thân



Dữ liệu từ những dự án trước đó



Tiêu chuẩn của ngành
Ngồi ra, nhà quản lý có thể sử dụng các kỹ thuật forward pass và
backward pass để ước lượng:



Forward pass: Kỹ thuật này dùng để tính thời gian bắt đầu sớm nhất (early

start - ES) và ngày kết thúc sớm nhất (early finish - EF) của mỗi công việc. ES là giá trị
cao nhất của EF của các công việc mà công việc này phụ thuộc, khi đó EF = ES + thời
gian thực hiện cơng việc.


Backward pass: Kỹ thuật này dùng để tính thời gian bắt đầu muộn nhất (late


start - LS) và thời gian kết thúc muộn nhất (late finish - LF) của mỗi công việc. LS = LF thời gian thực hiện cơng việc, trong đó LF là giá trị thấp nhất mà các công việc phụ thuộc
vào công việc này.
( />of_Critical_Path_Method_scheduling_to_research_plan_and_management_
of_graduate_students’_research_project_in_engineering_education)


13


14

Chương 2
Khảo sát hệ thống
2.1

Vấn đề thực tế

2.1.1

Khảo sát hiện trạng

Ngành công nghệ thông tin ở Việt Nam hiện nay đang phát triển vô cùng mạnh mẽ.
Tuy nhiên các công ty phần mềm vẫn ưa thích sử dụng quy trình "thác nước" truyền
thống trong phát triển sản phẩm. Quy trình này sẽ diễn ra với các bước như sau:

1.

Lấy yêu cầu từ khách hàng.


2.

Thiết kế hệ thống.

3.

Phát triển hệ thống.

4.

Kiểm thử hệ thống.

5.

Bảo trì, sửa chữa hoặc cập nhật chức năng cho hệ thống.
Các bước này sẽ diễn ra từ đầu đến cuối trong quy trình "thác nước". Vấn đề

ở đây là rất khó để lấy được chính xác u cầu từ khách hàng trong giai đoạn
đầu, vì khách hàng thường khơng biết họ cần gì cho đến khi nhìn thấy sản phẩm.
Khi có yêu cầu thay đổi từ khách hàng, chúng ta sẽ phải thực hiện lại quy trình
từ đầu. Kết quả cho ra sản phẩm không đúng với yêu cầu của khách hàng hoặc
chậm trễ thời gian bàn giao sản phẩm.
Với AGILE/SCRUM, các cơng ty có thể giảm thiểu các bất cập của quy trình truyền
thống, giúp sản phẩm đến với khách hàng một cách nhanh chóng và nhận được phản


15
hồi sớm từ khách hàng. Tuy nhiên để thực hiện tốt AGILE/SCRUM, các team phát
triển cần quan tâm đến các vấn đề sau:



Quản lý Product Backlog



Quản lý Sprint Backlog



Quản lý User Story



Quản lý các task và bug



Quản lý trạng thái của các task

2.1.2

Quy trình quản lý dự án dựa trên mơ hình AGILE/SCRUM

Trong AGILE/SCRUM, team phát triển sẽ phải tham gia các cuộc họp sau:


Sprint Planning Meeting: Đây là cuộc họp đầu tiên của một Sprint. Cuộc

họp này sẽ xác định các công việc cần làm trong Sprint cũng như ước lượng Story
Point cho mỗi đầu cơng việc.



Daily Meeting: Mỗi ngày, cả team sẽ họp khoảng 15 phút để cập nhật tình

hình dự án. Trong cuộc họp, mỗi thành viên sẽ trả lời 3 câu hỏi:
– Hôm qua tôi đã làm gì?
– Hơm nay tơi sẽ làm gì?
– Tơi có gặp khó khăn gì trong q trình làm việc khơng?


Sprint Review Meeting: Cuộc họp này sẽ diễn ra vào cuối mỗi Sprint. Trong

cuộc họp sẽ xem xét các công việc đã hoàn thành, chưa hoàn thành, demo những
việc đã hoàn thành cho Product Owner. Product Backlog sẽ được cập nhật sau cuộc
họp.


Retrospective Meeting: Cuộc họp này sẽ nhìn nhận lại những điểm được và

chưa được trong Sprint vừa qua. Từ đó đưa ra những thay đổi để cải thiện năng
suất làm việc trong Sprint tiếp theo.


16

Hình 2.1: Mơ hình AGILE/SCRUM

2.1.3

Giải pháp


Hệ thống quản lý dự án cung cấp cơng cụ hỗ trợ, kiểm sốt dự án giúp dựa án
được triển khai theo đúng kế hoạch, giúp người quản lý nắm được tình hình dự
án một cách trực quan cụ thể:


Kiểm sốt cơng việc trong Product Backlog và Sprint Backlog



Kiểm sốt tiến độ của từng cơng việc



Quản lý nhiều dự án cùng lúc



Lập kế hoạch cơng việc dựa trên đường găng
Thuật tốn tìm đường găng
Sử dụng Forward Pass để tìm thời gian bắt đầu và kết thúc công việc sớm nhất.



×