Tải bản đầy đủ (.pdf) (45 trang)

Báo cáo thực tập pulsely get insight app

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 (7.12 MB, 45 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP
ĐỀ TÀI: Pulsely – Get Insight App

Công ty thực tập: GEEK UP TECHNOLOGY JSC
Người phụ trách hướng dẫn: Nguyễn Minh Trung
Thực tập sinh: Bùi Trọng Khánh Duy
MSSV: 18520654

TP. Hồ Chí Minh, ngày 18 tháng 12 năm 2021


Bùi Trong Khánh Duy

Báo cáo thực tập

NHẬN XÉT
(Của giảng viên)

............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................


............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

1


Bùi Trong Khánh Duy

Báo cáo thực tập

MỤC LỤC
LỜI NÓI ĐẦU .......................................................................................................................... 3
LỜI CẢM ƠN ........................................................................................................................... 4
DANH MỤC CÁC CỤM TỪ VIẾT TẮT ......................................................................................... 5
CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP .......................................................................... 6
I.

Giới thiệu chung về công ty

6


II.

Cơ cấu tổ chức

7

III.

Tổng quan việc kinh doanh

8

IV.
V.

Văn hóa cơng ty
Một số hình ảnh công ty

12
13

CHƯƠNG 2: NỘI DUNG THỰC TẬP ........................................................................................ 16
I.

II.

1.
2.
3.

4.
5.
6.
7.
8.
1.
2.
3.
4.

Công nghệ, giải pháp và quy trình áp dụng

16

Dự án Website - Mobile Pulsely

32

Giới thiệu về Git
Tìm hiểu về Android
Giới thiệu về mơ hình làm việc Agile – Scrum
Tìm hiểu về RESTful API
Tìm hiểu về NodeJS
Tìm hiểu về NestJS
Tìm hiểu về ReactJS
Vòng đời ReactJS
Bối cảnh ra đời của Pulsely
Nhiệm vụ của sinh viên được giao
Mục tiêu xây dựng Pulsely
Các chức năng chính của Pulsely version 1.0


16
19
21
25
26
27
28
29
32
33
33
33

CHƯƠNG 3: NHẬT KÝ THỰC TẬP........................................................................................... 39
CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC QUA ĐỢT THỰC TẬP ........................................................ 42
I.

Kết quả thu được

42

II.

Các điểm yếu của bản thân

42

III.


Gợi ý cho chương trình học

42

IV.

Cảm nhận về cơng ty

43

DANH MỤC TÀI LIỆU THAM KHẢO ........................................................................................ 44

2


Bùi Trong Khánh Duy

Báo cáo thực tập

LỜI NÓI ĐẦU
Ngày nay, ngành công nghiệp phát triển ứng dụng điện thoại và wb là một bộ phận
không thể thiếu của ngành công nghiệp phần mềm. Với tốc độ phát triển vô cùng mạnh
mẽ, ngành phát triển ứng dụng điện thoại đã và đang là nhân tố kích thích sự phát triển của
cơng nghệ thông tin thế giới, cả về phần cứng và phần mềm.
Cùng với xu thế phát triển của thế giới, Việt Nam cũng không phải ngoại lệ. Ngành
công nghiệp phát triển ứng dụng điện thoại non trẻ Việt Nam đã và đang phát triển mạnh
mẽ, để hòa nhập với những công ty hàng đầu về xây dựng ứng dụng điện thoại trên thế
giới. Bên cạnh sự phát triển của ứng dụng di động thì những ngành nghề được tiếp cận
người dùng một cách nhanh chóng như những gì ta có thể thấy là mạng xã hội hay những
app bán hàng trực tuyến cũng đang rất thịnh hành trên cả thế giới lẫn Việt Nam.

Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng
như muốn được tìm hiểu, bổ sung kiến thức trong một mơi trường chun nghiệp, em có
dự định là sẽ thực tập trong học kì. Vì vậy, em quyết định chọn Công Ty Cổ phần Công
nghệ Geek Up - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em thực
hiện được dự định này.

3


Bùi Trong Khánh Duy

Báo cáo thực tập

LỜI CẢM ƠN
Em xin chân thành cảm ơn ban giám hiệu và quý thầy cô trường Đại học Công nghệ
thông tin đã cung cấp và bồi dưỡng cho em những kiến thức cơ bản trong suốt 4 năm ngồi
trên giảng đường đại học, để từ đó em có nền tảng áp dụng vào đợt thực tập một cách hiệu
quả nhất có thể.
Em xin gửi lời cảm ơn quý Công Ty Cổ phần Công nghệ Geek Up đã tạo điều kiện
cho em thực tập tại công ty cũng như cung cấp, bổ sung cho em những kiến thức mà em
cịn thiếu sót. Q cơng ty đã hỗ trợ em rất nhiều trong suốt thời gian thực tập vừa qua, dạy
em những kỹ năng cần thiết, truyền đạt cho em những kinh nghiệm mà các anh chị đã trải
qua trong quá trình làm việc, trao đổi với khách hàng, tác phong và tinh thần trách nhiệm
trước cơng việc được giao, những suy nghĩ tích cực. Các anh chị cũng đã tạo cho em nhiều
điều kiện để ứng dụng những kiến thức đã học vào thực tế để xây dựng những dự án thực
tiễn đi từ lúc ban đầu, nâng cao trình độ, cũng như tốc độ lập trình và trí thức thêm một
bậc. Em xin chân thành cảm ơn.
Vì kiến thức bản thân cịn hạn chế cũng như là lần đầu tiên được va chạm và tiếp
xúc với thực tế, áp dụng lý thuyết vào công việc nên bản thân cịn bỡ ngỡ và lúng túng,
khơng tránh khỏi những thiếu sót, mong q Thầy (Cơ) có thể đóng góp ý kiến để em có

thể hồn thiện hơn.
Em xin chân thành cảm ơn!

Bùi Trọng Khánh Duy
TP. Hồ Chí Minh, ngày 18 tháng 12 năm 2021

4


Bùi Trong Khánh Duy

Báo cáo thực tập

DANH MỤC CÁC CỤM TỪ VIẾT TẮT
CD : Client Development
API : Application Programming Interface

5


Bùi Trong Khánh Duy

Báo cáo thực tập

CHƯƠNG 1: GIỚI THIỆU CƠNG TY THỰC TẬP

I.
-

-


Giới thiệu chung về cơng ty
Tên đơn vị: Công ty cổ phần công nghệ Geek Up (GEEK UP TECHNOLOGY
JSC)
Lĩnh vực hoạt động: Xuất bản phần mềm
Địa chỉ:
● Trụ sở chính: 244/31 Huỳnh Văn Bánh, Phường 11, Quận Phú Nhuận,
Thành phố Hồ Chí Minh
● Chi nhánh: 27B / 9 Nguyễn Đình Chiểu, Phường Đa Kao, Quận 1, Thành
phố Hồ Chí Minh
Trang web: www.geekup.vn
Email:
Điện thoại: +84 28 6262 4400
Thời gian làm việc: Thứ 2 đến thứ 6: 08h30 - 17h30
Slogan: “Insightful development”
Sứ mệnh: Xây dựng các sản phẩm phần mềm mang lại nhiều giá trị cho người
dùng
Giá trị cốt lõi
● Honesty: sống hết mình với đam mê, là chính mình và phấn đấu hướng tới
những giá trị chung.
● Geeks Get it done: ln cố gắng hồn thành cơng việc đạt kết quả mong
đợi.
● High standard: luôn thử thách bản thân để nâng cao trình độ chun mơn.
● Stay Hunry Stay Foolish: không dừng lại với khả năng hiện tại, ln tiếp
tục trau dồi học hỏi.

Hình 1.1: Logo Cơng ty cổ phần công nghệ Geek Up

-


GeeK Up là công ty tư vấn, cung cấp xây dựng các sản phẩm công nghệ phần mềm
tối ưu nhất cho cộng đồng, doanh nghiệp và cá nhân: đối tác của công ty bao quát
6


Bùi Trong Khánh Duy

-

II.

Báo cáo thực tập

từ các công ty khởi nghiệp cho đến các doanh nghiệp lớn. Mục tiêu của cơng ty là
tạo ra những giá trị tích cực cũng như những sản phẩm đẳng cấp phù hợp với các
tiêu chuẩn quốc tế. Geek Up không ngừng gia tăng giá trị cộng đồng bằng khả năng
cung cấp cho khách hàng những sản phẩm và dịch vụ chất lượng cao nhất trong các
lĩnh vực phát triển phần mềm. Công ty sẽ phát triển và cung cấp phần mềm đúng
thời gian, trong phạm vi ngân sách và chất lượng cao nhất đem đến cho khách hàng
sự hài lòng tuyệt đối, lợi nhuận tối đa, sự phát triển mạnh mẽ của thương hiệu sản
phẩm.
Nắm bắt nhu cầu và thường xuyên cập nhật xu hướng trong ngành, mỗi một thành
viên của công ty luôn không ngừng nâng cao khả năng của bản thân để mang đến
giá trị tích cực cho khách hàng.
Cơ cấu tổ chức

GEEK Up được tổ chức theo mơ hình phẳng. Một thành viên sẽ đóng các vai trị
linh hoạt trong các nhóm tổ chức khác nhau:
● Squad là các thành viên trong cùng một nhóm cùng nhau thực hiện các công
việc cần thiết để đạt được mục tiêu (goal) chung của dự án.

● Chapter: các thành viên trong cùng một nhóm có chung chun mơn
(expertise), mục đích là hỗ trợ nhau về mặt chuyên môn, cùng nhau trưởng
thành về mặt chun mơn.
● Guild: các thành viên trong cùng một nhóm có chung một sở thích (interest),
mối quan tâm nào đó, mục đích là cùng tham gia các hoạt động thuộc về sở
thích, các mơi quan tâm ngồi cơng việc.

7


Bùi Trong Khánh Duy

Báo cáo thực tập

Hình 1.2: GEEK Up Organization Chart
III. Tổng quan việc kinh doanh
GEEK Up là công ty phần mềm được thành lập từ năm 2014, với đội ngũ hơn 60
thành viên của GEEK Up đã phát triển hơn 300 dự án phần mềm, tạo ra hơn 100 sản
phẩm phần mềm mang lại giá trị cao về kinh doanh cho những khách hàng lớn trên thế
giới như SMRT (Singapore), Nikkei (Nhật), D2O (Mỹ). Riêng ở Việt Nam, GEEK Up
là đối tác tin cậy số 1 trong các dự án chuyển đổi số (digital transformation) cho các
doanh nghiệp hàng đầu như: ACB, TPBank, Heineken, FPT, Viettel, ELSA….
Có thể kể tên cho một số sản phẩm GEEK Up đã xây dựng và được ứng dụng trên
thị trường Việt Nam hiện tại:

8


Bùi Trong Khánh Duy


Báo cáo thực tập

1. The Coffee House - Chuỗi cà phê tăng trưởng nhanh số 1 tại Việt Nam

Hình 1.3. UI design - The Coffee House - Loyalty application

9


Bùi Trong Khánh Duy

Báo cáo thực tập

2. Wall Street English application - Simple & fun booking app for English class
Visit site: />
Hình 1.4. UI design - Wall-street English - Class booking application

10


Bùi Trong Khánh Duy

Báo cáo thực tập

3. Wumbo – A high-level project management solution.
Visit site: />
Hình 1.5. UI design – Wumbo – A project management solution
Bên cạnh việc phát triển sản phẩm phần mềm, GEEK Up đã đầu tư và kinh doanh
GEEK Hub - Cafeteria & Workspace, một nơi dành cho bạn muốn học, làm việc và trao
đổi kiến thức.


11


Bùi Trong Khánh Duy

Báo cáo thực tập

IV. Văn hóa cơng ty
Văn hóa ở GEEK Up được xây dựng theo các giá trị cốt lõi:
● “Awesome Comrade”: Luôn luôn ủng hộ và sẵn sàng nỗ lực hơn nữa để giúp
nhóm và đồng đội của mình tiến về phía trước.
● “Commitment”: Giữ lời hứa, sẵn sàng thực hiện lời hứa bằng mọi giá.
● “Contribution”: Đóng góp phát triển nhóm ngay cả khi không thuộc trách nhiệm
của bạn.
● “Ownership”: Suy nghĩ, quan tâm và hành động, vì quyền lợi nhóm cũng là
quyền lợi của cá nhân.
Thời gian làm việc từ thứ 2 đến thứ 6: 8h30 – 17h30.
Thời gian nghỉ trưa từ 11:30 PM đến 1:30 PM, mọi nhân viên có thể ăn trưa và ngủ
trước khi bắt đầu công việc vào buổi chiều.
Nhân viên được khuyến khích sử dụng tiếng Anh khi giao tiếp. Nhân viên công ty sau
mỗi giờ làm việc đều phải ghi rõ thời gian thực hiện các "task" của dự án, để đảm bảo rằng
dự án đang được thực hiện.
Đồ ăn nhẹ, trà, cà phê, trái cây miễn phí cho tất cả nhân viên vào thời gian nghỉ ngơi.
Sau mỗi ngày làm từ thứ 2 đến thứ 5 ln có Workshop về những kinh nghiệm trong
cơng việc cũng như trong cuộc sống, giúp trau dồi những kiến thức chuyên môn cũng như
những kỹ năng mềm cho nhân viên công ty.
Thứ 6 sẽ diễn ra "Friday Meetup" là nơi để nhân viên cơng ty bày tỏ lịng cảm ơn với
những cộng sự của mình trong tuần vừa qua, và một bữa tiệc nhẹ cho cuối tuần.


12


Bùi Trong Khánh Duy

V.

Báo cáo thực tập

Một số hình ảnh cơng ty

Hình 1.6: Tầng trệt của cơng ty Geek Up.

Hình 1.7: Buổi Thursday - Workshop về kỹ năng quản lý dự án.

13


Bùi Trong Khánh Duy

Báo cáo thực tập

Hình 1.8: Buổi Friday Meetup - Nơi bày tỏ lòng biết ơn với những cộng sự trong suốt tuần
vừa qua.

Hình 1.9: Phịng làm việc của thực tập sinh.
14


Bùi Trong Khánh Duy


Báo cáo thực tập

Hình 1.10: Cuộc họp của bộ phận Design.

15


Bùi Trong Khánh Duy

Báo cáo thực tập

CHƯƠNG 2: NỘI DUNG THỰC TẬP

I.

Cơng nghệ, giải pháp và quy trình áp dụng

1. Giới thiệu về Git

Hình 2.1: Mơ hình cơng cụ Git.
Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version
Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ
biến nhất hiện nay. DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên
bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn
(repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa
lên máy chủ nơi đặt kho chứa chính. Và một máy tính khác (nếu họ có quyền truy cập)
cũng có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới
nhất trên máy tính kia. Trong Git, thư mục làm việc trên máy tính gọi là Working Tree.


16


Bùi Trong Khánh Duy

Báo cáo thực tập

Hình 2.2: Sơ đồ liên hệ giữa các máy tính.
Ngồi ra, có một cách hiểu khác về Git đơn giản hơn đó là nó sẽ giúp bạn lưu lại
các phiên bản của những lần thay đổi vào mã nguồn và có thể dễ dàng khôi phục lại dễ
dàng mà không cần copy lại mã nguồn rồi cất vào đâu đó. Và một người khác có thể xem
các thay đổi của bạn ở từng phiên bản, họ cũng có thể đối chiếu các thay đổi của bạn rồi
17


Bùi Trong Khánh Duy

Báo cáo thực tập

gộp phiên bản của bạn vào phiên bản của họ. Cuối cùng là tất cả có thể đưa các thay đổi
vào mã nguồn của mình lên một kho chứa mã nguồn.
Cơ chế lưu trữ phiên bản của Git là nó sẽ tạo ra một “ảnh chụp” (snapshot) trên mỗi
tập tin và thư mục sau khi commit, từ đó nó có thể cho phép bạn tái sử dụng lại một ảnh
chụp nào đó mà bạn có thể hiểu đó là một phiên bản. Đây cũng chính là lợi thế của Git so
với các DVCS khác khi nó khơng “lưu cứng” dữ liệu mà sẽ lưu với dạng snapshot.

Hình 2.3: Sơ đồ cơ cấu của Git.

-


Master: là nhánh chính, run trên production.

-

Dev: là nhánh replica cho nhánh master cộng với các nhánh feature đang được phát
triển.

-

Feature: được tách từ nhánh dev, chức năng sau khi được phát triển sẽ được merge
vào dev trước khi merge vào master.

18


Bùi Trong Khánh Duy

Báo cáo thực tập

Hình 2.4: Git branching.
2. Tìm hiểu về Android
Android là hệ điều hành mã nguồn mở, dựa trên Linux Kernel, dành cho các thiết bị di
động nói chung (điện thoại, máy tính bảng, đồng hồ thơng minh, máy nghe nhạc,…).
Có nghĩa là Android khơng chỉ giới hạn trong phạm vi một hệ điều hành cho điện thoại!
Nó có thể được nhà sản xuất cài đặt lên đồng hồ, máy nghe nhạc, thiết bị định vị GPS, thậm
chí là ơ tơ (các thiết bị Android Auto).
Android cũng không phải là một thiết bị hay sản phẩm cụ thể, nó là một hệ điều hành dựa
trên Linux, nguồn mở, linh hoạt.
Hiện Android là một thương hiệu của Google. Có khả năng tùy biến rất cao và có thể chạy
trên nhiều thiết bị, nhiều kiến trúc vi xử lý (ARM / x86). Tính đến nay, Android đã có các

phiên bản (kèm tên mã) lần lượt là:


Android 1.5 Cupcake



Android 1.6 Donut



Android 2.1 Eclair



Android 2.2 Froyo
19


Bùi Trong Khánh Duy

Báo cáo thực tập



Android 2.3 Gingerbread



Android 3.2 Honeycomb – Phiên bản Android đầu tiên được thiết kế cho máy tính

bảng.



Android 4.0 Ice Cream Sandwich



Android 4.1 Jelly Bean



Android 4.2 Jelly Bean



Android 4.3 Jelly Bean



Android 4.4 KitKat



Android 5.0 Lollipop



Android 6.0 Marshmallow




Android 7.0 Nougat

Về kiến trúc của hệ điều hành Android, chúng ta có thể xem qua sơ đồ sau:

Thoạt nhìn có vẻ rối rắm, nhưng các bạn chỉ cần để ý đến các tầng màu sắc. Mình tóm tắt
về các tầng của kiến trúc này như sau (từ trên xuống nhé):
20


Bùi Trong Khánh Duy

Báo cáo thực tập



Tầng Applications: Là tầng chứa các ứng dụng Danh bạ, Gọi điện, Trình duyệt,
Nghe nhạc,… các ứng dụng này thường mua máy về chúng ta đã có sẵn rồi.



Tầng Framework: Là tầng chứa các API để làm việc với hệ điều hành như lấy thơng
tin danh bạ, quản lý các Activity (Activity là gì thì giờ chúng ta chưa cần quan tâm,
các bài sau sẽ giải thích kĩ), quản lý địa điểm, quản lý các View (cũng chưa cần
quan tâm).



Tầng Libraries: Chứa các thư viện, API gần như là cốt lõi của Android, bao gồm bộ

quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ
họa phức tạp),…



Tầng Android Runtime: Chứa các thư viện lõi của Android và máy ảo Dalvik Virtual
Machine (từ Android 4 trở lên chúng ta có thêm máy ảo ART).



Tầng Kernel: Là nhân lõi của hệ điều hành, chứa các tập lệnh, driver giao tiếp giữa
phần cứng và phần mềm của Android.

Trong quá trình làm việc, chúng ta sẽ gần như chỉ làm việc với tầng xanh lam
(Applications và Application Framework) và xanh lá (Libraries). Chương trình Android
được viết bằng ngơn ngữ Java và được máy ảo DVM / ART trong mỗi thiết bị Android
biên dịch ra mã máy.
3. Giới thiệu về mơ hình làm việc Agile – Scrum
Tại sao cần Agile?



Sự khác nhau giữa phương pháp làm việc truyền thống-Waterfall và Agile có thể tổng
kết trong 2 từ: cứng nhắc và linh hoạt. Trong khi Waterfall là 1 process khá cứng nhắc và
nguyên tắc, thì Agile lại rất linh hoạt và không ngừng thay đổi sao cho phù hợp với thời
đại và ý kiến của khách hàng . Chi tiết hơn về sự khác nhau như sau:
-

-


Waterfall là quy trình có cấu trúc, bạn khơng thể bắt đầu công đoạn mới cho đến
khi công đoạn trước đấy được hồn thành. Agile là quy trình linh hoạt, cho phép
bạn chạy dự án theo cách mà bạn muốn. Waterfall là tuần tự, và Agile thì khơng
ép buộc vào 1 quy trình tuần tự nào.
Các dự án theo quy trình Waterfall thường cần define cụ thể yêu cầu của dự án,
trong khi các yêu cầu trong các dự án Agile có thể thay đổi và phát triển.
Trong các dự án Waterfall, bạn không thể thay đổi những thứ bạn đã làm trong
những công đoạn trước, tuy nhiên Agile rất phù hợp và có thể đáp ứng được các
thay đổi.

21


Bùi Trong Khánh Duy

Báo cáo thực tập

Hình 2.7: Mơ hình Agile và Waterfall.
Một cách tổng quát, khi một sản phẩm được xây dựng theo mơ hình Waterfall, thì các
cơng việc trong dự án được xác định theo nguyên tắc lúc ban đầu, và không tiếp thu được
ý kiến của người sử dụng trong quá trình hình thành sản phẩm. Việc giành quá nhiều thời
gian cho một sản phẩm mà không biết được rằng mức độ khả thi cũng như những điều mà
người sử dụng quan tâm sẽ gây ảnh hưởng rất nhiều đến chất lượng sản phẩm.
Trong khi đó, Agile giúp các nhà phát triển có thể nhận dạng, điều chỉnh các vấn đề và
khiếm khuyết một cách nhanh chóng. Các điểm mạnh của Agile là:
-

-

-


-

Thực hiện thay đổi dễ dàng: Bởi vì dự án được chia thành các phần nhỏ, riêng
biệt, không phụ thuộc lẫn nhau, nên những thay đổi được thực hiện rất dễ dàng,
ở bất kỳ giai đoạn nào của dự án.
Không cần phải nắm mọi thông tin ngay từ đầu: Phù hợp với những dự án
chưa xác định được mục tiêu cuối cùng rõ ràng, vì việc này không quá cần thiết
trong giai đoạn đầu.
Bàn giao nhanh hơn: Việc chia nhỏ dự án cho phép đội ngũ có thể tiến hành
kiểm tra theo từng phần, xác định và sửa chữa vấn đề nhanh hơn, nhờ đó việc
bàn giao công việc sẽ nhất quán và thành công hơn.
Chú ý đến phản hồi của khách hàng và người dùng: Cả khách hàng và người
dùng cuối đều có cơ hội để đóng góp các ý kiến và phản hồi, từ đó họ sẽ có ảnh
hưởng một cách mạnh mẽ và tích cực tới sản phẩm cuối cùng.
22


Bùi Trong Khánh Duy
-

Báo cáo thực tập

Cải tiến liên tục: Agile khuyến khích thành viên trong đội ngũ làm việc và khách
hàng cung cấp phản hồi của mình, khi đó các giai đoạn khác nhau của sản phẩm
cuối có thể được kiểm tra và cải thiện lại nhiều lần nếu cần.

Trong ngành công nghiệp phần mềm, phương thức sản xuất phần mềm có một vai trị
vơ cùng quan trọng, nó quyết định cấu trúc tổ chức, qui trình phát triển, khả năng thành
công của các dự án. Trong những năm gần đây Agile- Scrum nổi lên và thay thế mô hình

thác nước (Waterfall) truyền thống như một phương thức tổ chức sản xuất ưu việt được
nhiều công ty phần mềm áp dụng và thành công. Quản lý dự án theo nguyên tắc Agile nổi
lên như một sự thay thế tối ưu cho bất kì dự án nào.

Hình 2.8: Quy trình Agile.



Định nghĩa mơ hình Agile.

Khái niệm Agile (viết tắt của Agile Software Development) có nghĩa là phương thức
phát triển phần mềm linh hoạt, được ứng dụng trong quy trình phát triển phần mềm với
23


Bùi Trong Khánh Duy

Báo cáo thực tập

mục tiêu là đưa sản phẩm đến tay người dùng càng nhanh càng tốt. Ngun tắc phát triển
mơ hình là phân đoạn lặp (iterative) và tăng trưởng (incremental), theo đó nhu cầu và
giải pháp tiến hóa thơng qua sự hợp tác giữa các nhóm tự quản và liên chức năng.
Rất nhiều nơi định nghĩa Agile như một phương pháp. Thực chất, Agile giống như một
phương pháp luận, một triết lý dựa trên hơn nguyên tắc phân đoạn vòng lặp (iterative) và
tăng trưởng (incremental).
Ngày nay, triết lí Agile đã vượt xa khỏi khu vực truyền thống của mình là phát triển
phần mềm để đóng góp sự thay đổi trong cách thức làm việc, quản lí, sản xuất ở các ngành
khác như sản xuất, dịch vụ, sales, marketing, giáo dục... và trở thành một phương thức quản
lý dự án phổ biến nhất hiện nay với nhiều đại diện được gọi là các phương pháp “họ Agile”.



4 tôn chỉ trong Agile
- Cá nhân và sự tương hỗ quan trọng hơn quy trình và cơng cụ: Trọng tâm đặt lên
con người, xây dựng tương tác và hỗ trợ giữa các thành viên trong nhóm. Những
thành viên có năng lực, chịu tương trợ nhau trong công việc sẽ mang đến thành
công cho dự án.
- Sản phẩm dùng được tốt hơn tài liệu đầy đủ: Tập trung thời gian để làm ra phần
mềm hoàn chỉnh đáp ứng hoàn hảo yêu cầu khách hàng.
-

-

Cộng tác với khách hàng quan trọng hơn đàm phán hợp đồng: Hiểu được khách
hàng cần gì để tư vấn và điều chỉnh sản phẩm thay vì chỉ dựa vào các điều khoản
trong hợp đồng.
Phản hồi thay đổi hơn là bám sát kế hoạch: Agile khuyến khích thích nghi với sự
thay đổi, đó có thể là thay đổi về cơng nghệ, nhân sự, deadline,...
12 Ngun tắc



-

Đáp ứng tồn diện nhu cầu khách hàng thông qua việc giao hàng sớm và sản
phẩm có giá trị.
Thay đổi yêu cầu được chào đón, thậm chí là rất muộn trong q trình phát triển.
Giao phần mềm chạy được cho khách hàng một cách thường xuyên.
Nhà kinh doanh và các kỹ sư phần mềm cần làm việc cùng nhau trong suốt dự
án.
Xây dựng dự án xung quanh các cá nhân có động lực. Cung cấp sự hỗ trợ cần

thiết, môi trường làm việc và niềm tin để hồn thành cơng việc.
Trao đổi trực tiếp là cách truyền đạt thông tin hiệu quả nhất.
Thước đo chính của tiến độ là phần mềm chạy tốt.
Phát triển liên tục và bền vững.
24


×