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

Nghiên cứu tiến trình linh hoạt và ứng dụng scrum framework để xây dựng quy trình phát triển phần mềm cho công ty tnhh phần mềm hoàn cầu

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 (3.01 MB, 156 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƢỜNG ĐẠI HỌC BÁCH KHOA
--------------------

HUỲNH THỊ TÚ UYÊN

NGHIÊN CỨU TIẾN TRÌNH LINH HOẠT VÀ ỨNG DỤNG
SCRUM FRAMEWORK ĐỂ XÂY DỰNG QUY TRÌNH PHÁT
TRIỂN PHẦN MỀM CHO CƠNG TY TNHH PHẦN MỀM
HỒN CẦU

Chun ngành: HỆ THỐNG THÔNG TIN QUẢN LÝ
Mã số: 60 34 48

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 12 năm 2013


CƠNG TRÌNH ĐƢỢC HỒN THÀNH TẠI
TRƢỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM
Cán bộ hướng dẫn khoa học: PGS.TS Đặng Trần Khánh
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1:
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2:
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP. HCM
ngày 17 tháng 12 năm 2013
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)


1. TS.
2. TS.
3. TS.
4. TS.
5. PGS.TS. Đặng Trần Khánh
Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).

CHỦ TỊCH HỘI ĐỒNG

TRƢỞNG KHOA


ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên:

Huỳnh Thị Tú Uyên

MSHV:

Ngày, tháng, năm sinh: 05/07/1984
Chuyên ngành:

10320989


Nơi sinh: Quảng Ngãi

Hệ Thống Thông Tin Quản Lý Mã số:

60 34 48

I. TÊN ĐỀ TÀI:
Nghiên cứu tiến trình linh hoạt và ứng dụng Scrum Framework để xây dựng quy
trình phát triển phần mềm cho Cơng Ty TNHH Phần Mềm Hồn Cầu.
II. NHIỆM VỤ VÀ NỘI DUNG:
Nghiên cứu lý thuyết về các thành tố tạo thành và nguyên lý hoạt động của tiến
trình linh hoạt, mà trong đó là Scrum Framework. Tìm hiểu về thông tin Công Ty,
thông tin dự án cũng như quy trình phát triển của Cơng Ty TNHH Phần Mềm Hoàn
Cầu. Đưa ra những đặc thù dự án của Cơng Ty, sau đó phân tích những hạn chế
hiện tai của Công Ty, kết hợp với những ưu điểm của tiến trình linh hoạt, mà trong
đó là Scrum Framework để định hướng cho việc xây dựng quy trình phát triển phần
mềm cho Cơng Ty TNHH Phần Mềm Hồn Cầu. Xây dựng chi tiết quy trình phát
triển phần mềm phù hợp cho Cơng Ty TNHH Phần Mềm Hồn Cầu. Triển khai, áp
dụng quy trình vào các dự án tại Cơng Ty và đánh giá kết quả.
III. NGÀY GIAO NHIỆM VỤ:

14/01/2013

IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 22/11/2013
V.

CÁN BỘ HƢỚNG DẪN:

PGS. TS. Đặng Trần Khánh

TP. Hồ Chí Minh, ngày 22 tháng 11 năm 2013

CÁN BỘ HƢỚNG DẪN
(Họ tên và chữ ký)

CHỦ NHIỆM BỘ MÔN
ĐÀO TẠO
(Họ tên và chữ ký)

TRƢỞNG KHOA
(Họ tên và chữ ký)


LỜI CẢM ƠN
Trước tiên xin trân trọng cảm ơn quý Thầy Cô công tác và giảng dạy ở trường Đại
học Bách khoa TP. Hồ Chí Minh đã tận tình giúp đỡ, hướng dẫn và truyền đạt kiến
thức từ khi Em là học viên cao học ngành Hệ thống thông tin quản lý.
Trong quá trình thực hiện luận văn đã gặp khơng ít khó khăn. Để có được kết quả
này, ngồi nổ lực của bản thân cịn có sự đóng góp rất lớn từ người thân, thầy cô
và bạn bè. Em xin ghi vào đây những lời tri ân đầy trân trọng.
Xin được gởi lời cảm ơn chân thành nhất đến Thầy PGS. TS. Đặng Trần Khánh đã
tận tình giúp đỡ, định hướng và hướng dẫn trong suốt quá trình thực hiện luận văn
để Em có thể hồn thành nghiên cứu này.
Xin được cảm ơn Anh Phan Trung Hiếu, giám đốc Cơng Ty TNHH Phần Mềm
Hồn Cầu, đã cho phép và tạo điều kiện cho Em thực hiện luận văn tại Cơng Ty
TNHH Phần Mềm Hồn Cầu.
Sau cùng, Em xin cảm ơn những người bạn đã động viên và hỗ trợ trong suốt thời
gian qua.
TP. Hồ Chí Minh, tháng 11 năm 2013
Huỳnh Thị Tú Uyên



TĨM TẮT
Luận văn này cung cấp quy trình phát triển phần mềm cho Cơng Ty TNHH Phần
Mềm Hồn nói riêng và cho những Cơng Ty phần mềm có quy mơ và đặc trưng về
Công Ty cũng như về các dự án phần mềm nói chung, dựa trên việc nghiên cứu và
áp dụng các ưu điểm nổi bật phù hợp của tiến trình linh hoạt mà cụ thể là Scrum
Framework.
Kết quả của việc áp dụng quy trình này tại Cơng Ty TNHH Phần Mềm Hoàn Cầu
cho kết quả tốt trong việc cải thiện thời gian thực hiện, chất lượng của dự án, đồng
thời giảm rủi ro sản xuất, chi phí thấp. Khả năng trao đổi giữa khách hàng và nhà
phát triển, giữa những thành viên trong đội được đặt lên mức cao. Bên cạnh đó việc
phát hiện lỗi, các vấn đế sớm và chào đón việc thay đổi yêu cầu, thậm chí rất muộn
trong q trình phát triển dự án và đặc biệt phát triển những chức năng khách hàng
thực sự cần để mang lại giá trị cho khách hàng, làm gia tăng độ hài lòng của khách
hàng.


ABSTRACT
This paper provides a software development process specifically for the GSOFT
Company (and other software companies of similar size and function) as well as
software projects in general based on research and application of strengths relative
to the Agile development process with focus on scrum framework.
The result of applying this process to the GSOFT Company brings out the best
results in improvement of execution time and project quality while also reducing
production risks and lowering costs. Communication between the Client and
development team are paramount. In regards to early bug and issue detection,
managing change requirements, and even accepting late development features
requested by the Client for vital software, customer satisfaction is our number one
priority.



LỜI CAM ĐOAN
Em xin cam đoan kết quả nghiên cứu của đề tài “Nghiên cứu tiến trình linh hoạt và
ứng dụng Scrum framework để xây dựng quy trình phát triển phần mềm cho Cơng
Ty TNHH Phần Mềm Hồn Cầu” là từ quá trình học tập và nghiên cứu khoa học
của bản thân. Các dữ liệu, thông tin trong nghiên cứu được tìm hiểu, khảo sát, lựa
chọn và thu thập có nguồn gốc khoa học rõ ràng, chính xác và đáng tin cậy.
TP. Hồ Chí Minh, tháng 11 năm 2013
Huỳnh Thị Tú Uyên


7

MỤC LỤC
MỤC LỤC ..................................................................................................................7
DANH MỤC TỪ VIẾT TẮT..................................................................................10
DANH MỤC HÌNH .................................................................................................14
DANH MỤC BẢNG ................................................................................................15
CHƢƠNG 1: MỞ ĐẦU...........................................................................................16
1.1 Xây dựng vấn đề nghiên cứu ............................................................................16
1.2 Lý do thực hiện đề tài: ......................................................................................19
1.3 Mục tiêu nghiên cứu..........................................................................................19
1.3.1 Mục tiêu đề tài...............................................................................................19
1.3.2 Câu hỏi nghiên cứu .......................................................................................19
1.4 Phạm vi nghiên cứu ...........................................................................................20
1.4.1 Đối tượng nghiên cứu ...................................................................................20
1.4.2 Không gian và thời gian................................................................................20
1.5 Ý nghĩa nghiên cứu ...........................................................................................20
1.6 Kết cấu của luận văn .........................................................................................20

1.7 Kết chƣơng .........................................................................................................21
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT ......................................................................22
2.1 Tổng quan về phát triển phần mềm linh hoạt Agile ......................................22
2.1.1 Định nghĩa về phát triển phần mềm linh hoạt Agile .....................................22
2.1.2 Mức độ phổ biến Agile theo thống kê của Forrester ....................................22
2.1.3 Tỷ lệ thành công của các dự án sử dụng Agile thường gấp 3 lần so với
CMMi .....................................................................................................................23
2.1.4 Các nguyên tắc và giá trị cốt lõi trong Agile ................................................24
2.2 Tuyên ngôn Phát triển Phần mềm Linh hoạt .................................................25
2.1.1 Cá nhân và Sự tương tác ...............................................................................25
2.1.2 Phần mềm Chạy tốt hơn Tài liệu Đầy đủ ......................................................27
2.1.3 Cộng tác với khách hàng hơn là Thương thảo Hợp đồng .............................28
2.1.4 Phản hồi với Thay đổi hơn là Bám sát Kế hoạch ..........................................29
2.3 Mô tả cụ thể về Scrum Framework .................................................................30
2.3.1 Định nghĩa về Scrum.....................................................................................30
2.3.2 Các thành tố cấu thành Scrum [6] ...................................................................31
2.3.2.1 Ba giá trị cốt lõi.......................................................................................31


8

2.3.2.2 Ba vai trò .................................................................................................31
2.3.2.3 Bốn cuộc họp ..........................................................................................32
2.3.2.4 Ba công cụ...............................................................................................33
2.3.3 Nguyên lý hoạt động của Scrum ...................................................................33
2.3.4 So sánh Scrum với các quy trình phần mềm truyền thống ...........................34
2.3.4.1 Các quy trình truyền thống: ....................................................................34
2.3.4.2 Đối với quy trình Scrum .........................................................................35
2.4 Kết chƣơng .........................................................................................................36
CHƢƠNG 3: GIỚI THIỆU VÀ ĐẶC TRƢNG CÁC DỰ ÁN CỦA GSOFT ....38

3.1 Giới thiệu về GSOFT ........................................................................................38
3.1.1 Giới thiệu chung ............................................................................................38
3.1.2 Sơ đồ tổ chức.................................................................................................41
3.2 Quy trình phát triển phần mềm GSOFT đã sử dụng trƣớc đó là mơ hình
thác nƣớc ..................................................................................................................46
3.3 Đặc trƣng các dự án của GSOFT ....................................................................49
3.3.1 Nguyên nhân từ khách hàng: ........................................................................51
3.3.2 Nguyên nhân từ nội bộ dự án: .......................................................................51
3.3.3 Nguyên nhân khách quan: .............................................................................52
3.4 Kết chƣơng .........................................................................................................55
CHƢƠNG 4: XÂY DỰNG CHI TIẾT QUY TRÌNH CHO GSOFT .................56
4.1 Xây dựng chi tiết quy trình linh hoạt cho GSOFT ........................................56
4.1.1 Giai đoạn 1: Chuẩn bị, lập kế hoạch và thiết kế ở mức cao [11]: ...................57
4.1.2 Giai đoạn 2 : Thực thi để hoàn thiện sản phẩm [15]. ......................................61
4.1.3 Giai đoạn 3: Kết thúc ....................................................................................77
4.2 Chọn công cụ để hiện thực quy trình linh hoạt cho GSOFT ........................79
4.3 Đào tạo khung làm việc và công cụ triển khai Scrum cho nhân viên trong
GSOFT .....................................................................................................................82
4.4 Kết chƣơng .........................................................................................................83
CHƢƠNG 5: ÁP DỤNG THỬ NGHIỆM QUY TRÌNH SCRUM TẠI GSOFT
VÀ ĐÁNH GIÁ KẾT QUẢ. ...................................................................................84
5.1 Dự án số 1: FOLUP........................................................................................84
5.1.1 Tầm nhìn của sản phẩm .............................................................................85
5.1.2 Số Sprint trong dự án FOLUP ...................................................................85
5.1.3 Tốc độ đốt cháy của Sprint 01 ...................................................................86


9

5.1.4


Tốc độ đốt cháy của Sprint 02 ...................................................................87

5.1.5
5.1.6
5.1.7

Tốc độ đốt cháy của Sprint 03 ...................................................................88
Tốc độ đốt cháy của Sprint 04 ...................................................................89
Nguyên nhân dẫn đến thành công của dự án FOLUP ...............................90

5.2 Dự án số 2: LPCH (Lucile Packard Children’s Hospital) .........................90
5.2.1 Tầm nhìn của sản phẩm (Product Vision) .................................................90
5.2.2 Số Sprint trong dự án LPCH .........................................................................91
5.2.3
5.2.4

Tốc độ đốt cháy của Sprint 01 ...................................................................91
Tốc độ đốt cháy của Sprint 02 ...................................................................92

5.2.5
5.2.6

Tốc độ đốt cháy của Sprint 03 ...................................................................93
Nguyên nhân dẫn đến thành công của dự án LPCH ..................................93

5.3 Dự án số 3: FRED ..........................................................................................94
5.3.1 Tầm nhìn của sản phẩm .............................................................................94
5.3.2 Tổng cộng dự án có 3 Sprint như bên dưới ...............................................95
5.3.3 Tốc độ đốt cháy của Sprint 01 ...................................................................95

5.3.4

Tốc độ đốt cháy của Sprint 02 ...................................................................96

5.3.5
5.3.6

Tốc độ đốt cháy của Sprint 03 ...................................................................97
Nguyên nhân dẫn đến thất bại của dự án khi sử dụng mơ hình Scrum: ....98

5.4 Đánh giá kết quả ............................................................................................98
5.4.1 Đánh giá kết quả dự án FOLUP ..................................................................101
5.4.2 Đánh giá kết quả dự án LPCH ....................................................................102
5.4.3 Đánh giá kết quả dự án FRED ....................................................................103
5.5

Đặc trƣng dự án nào thì sử dụng mơ hình linh hoạt phù hợp. ................105

5.6 Những thuận lợi và khó khăn khi triển khai Scrum tại GSOFT ............109
5.6.1 Thuận lợi khi triển khai Scrum tại GSOFT .............................................109
5.6.2 Khó khăn khi triển khai Scrum tại GSOFT .............................................110
5.7 Kết chƣơng ...................................................................................................111
CHƢƠNG 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................112
6.1 Kết luận ............................................................................................................112
6.2 Hƣớng phát triển .............................................................................................113
TÀI LIỆU THAM KHẢO ....................................................................................115
PHỤ LỤC ...............................................................................................................117


10


DANH MỤC TỪ VIẾT TẮT
Chỉ

Từ viết tắt

Thuật ngữ

Ý nghĩa

Agile

Agile Software

Phát triển phần mềm linh hoạt

Development

linh hoạt

Adaptive Software

Phát triển phần mềm thích

Development

ứng

Burndown Chart


Biểu đồ hiển thị phần cơng

mục
A

ASD

B

C

Burndown
Chart

việc cịn lại

CNTT

Cơng nghệ thơng tin

CNTT-TT

Cơng nghệ thơng tin và
truyền thơng

CMMi

Capability Maturity Model

Mơ hình trưởng thành năng


Integration

lực tích hợp

CSC

Cơng ty CSC chun cung
cấp các giải pháp quản trị
kinh doanh và dịch vụ tiên
tiến trên nền tảng công nghệ
Phương pháp trọng lượng nhẹ

Crystal
CRM

Customer Relationship

Quản lý quan hệ khách hàng

Management
Customer
D

DSDM

DDD

Khách hàng
Dynamic Systems


Phương pháp phát triển hệ

Development Method

thống linh động

Detail Design Document

Tài liệu thiết kế chi tiết hệ


11

thống
DoD
E

Definition of Done

Định nghĩa hoàn thành

Elapsed

Là thời gian thực tế để hồn

time

thành một cơng việc nào đó
từ khi bắt đầu đến kết thúc


F

EVM

Earned Value Management

Quản lý giá trị thu được

EV

Earned Value

Giá trị thu được

FPT-IS

FPT Information Systems

Công ty hệ thống thông tin
FPT

FSoft

FPT Software

Cơng ty phần mềm FPT
Dự án chăm sóc sức khỏe

FOLUP


cộng đồng

G

H

FDD

Feature Driven Development Phát triển dựa vào tính năng

GSOFT

Global Software Limited

Cơng ty trách nhiệm hữu hạn

Company

phần mềm hồn cầu.

Havernash
HTML

I

ISO

Ideal Time


Công ty Havernash việt nam
Hyper Text Markup

Ngôn ngữ đánh dấu siêu văn

Language

bản

International Organization

Cơ quan thiết lập tiêu chuẩn

for Standardization

hóa quốc tế
Là thời gian thực để hồn
thành một cơng việc nào đó

K

Kanban

Một hệ thống kiểm sốt hậu
cần chuỗi từ một điểm sản
xuất


12


L

Learn

Learn Software

Quy trình sản xuất tinh gọn

Development
Lucile Packard Children‟s

Bệnh viện trẻ em Lucile

Hospital

Packard

PO

Product Owner

Chủ sản phẩm

PBL

Product Backlog

Danh mục sản phẩm toàn dự

LPCH


M
N
O
P

án
PV

Planned Value

Giá trị dự kiến

Scrum

Scrum Framework

Khung làm việc linh hoạt

Q
R
S

Sprint

Thời gian làm việc trong một
sprint

SM


Scrum Master

Đội trưởng

Sprint

Danh mục sản phẩm trong

backlog

một sprint

SRS

Software Requirement

Tài liệu đặc tả hệ thống theo

Specification

hướng lập trình


13

Người liên quan

Stakehoder

SAP


Aktiengesellschaft

Công ty phần mềm lớn nhất
Châu Âu

T

Stoty

Thông số ước lượng cho kịch

Points

bản

TMA

Công ty tin học Tường Minh

Solutions
Công ty tư vấn chiến lược về

Tholons

gia công phần mềm và đầu tư
hàng đầu của Mỹ.
TP.Hồ Chí

Thành phố Hổ Chí Minh


Minh

U

Takeuchi

Những người cha đỡ đầu của

và Nonaka

Scrum

URD

V

Website

X

XP

Y
Z

User Requirement

Tài liệu yêu cầu đặc tả hệ


Document

thống dành cho khách hàng
Trang web

Extreme Programming

Lập trình cực hạn


14

DANH MỤC HÌNH
Hình 2.1: Ngun lý hoạt động của Scrum [7] ...........................................................33
Hình 3.1: Sơ đồ tổ chức 1 .........................................................................................41
Hình 3.2: Sơ đồ tổ chức 2 .........................................................................................42
Hình 3.3: Sơ đồ tổ chức 3 .........................................................................................43
Hình 3.4: Sơ đồ tổ chức 4 .........................................................................................44
Hình 3.5: Sơ đồ tổ chức 5 .........................................................................................45
Hình 3.6: Vịng đời phát triển phần mềm tại GSOFT. ..............................................46
Hình 3.7: Bức tranh tổng thể vịng đời phát triển với quy trình của GSOFT...........47
Hình 4.1: Các giai đoạn của quy trình Scrum tại GSOFT. ......................................56
Hình 4.2: Chi tiết về quy trình Scrum tai GSOFT. ...................................................57
Hình 4.3: Product Backlog trong dự án thực tế .......................................................59
Hình 4.4: Xác định thành viên trong dự án ..............................................................60
Hình 4.5: Thiết kế kiến trúc của hệ thống .................................................................61
Hình 4.6: Kịch bản trong dự án thực tế ....................................................................63
Hình 4.7: Cách thức để tập hợp kịch bản dự án .......................................................64
Hình 4.8: Ví dụ về kich bản đăng ký vào hệ thống ...................................................65
Hình 4.9: Cách xác định độ phức tạp của kịch bản cho việc ước lượng dự án........68

Hình 4.10: Bảng ước lượng theo tam giác................................................................69
Hình 4.11: : Bảng so sánh của Ideal days và Story points [18] ..................................71
Hình 4.12: Danh sách kiểm tra để làm DoD ............................................................72
Hình 4.13: 7 giai đoạn mang lại giá trị trong tiến trình linh hoạt. ..........................78
Hình 4.14: Bảng so sánh để chọn công nghệ áp dụng tại GSOFT [22]......................80
Hình 5.1: FOLUP_Burn down chart của Sprint 01 ..................................................86
Hình 5.2: FOLUP_Burn down chart của Sprint 02 ..................................................87
Hình 5.3: FOLUP_Burn down chart của Sprint 03 ..................................................88
Hình 5.4FOLUP_Burn down chart của Sprint 04 ....................................................89
Hình 5.5: LPCH_burn down chart của Sprint 01 .....................................................91
Hình 5.6: LPCH_burn down chart của Sprint 02 .....................................................92
Hình 5.7: LPCH_burn down chart của Sprint 03 .....................................................93
Hình 5.8: FRED_burn down chart của Sprint 01 .....................................................95
Hình 5.9: FRED_burn down chart của Sprint 02 .....................................................96
Hình 5.10: FRED_burn down chart của Sprint 03 ...................................................97


15

DANH MỤC BẢNG
Bảng 1.1: Doanh thu Công nghệ thông tin. ..............................................................16
Bảng 1.2: Bảng xếp hạng thành phố phát triển trong việc gia công phần mềm ......17
Bảng 2.1: Mức độ phổ biến Agie theo thống kê của Forrester năm 2010 ................23
Bảng 2.2: Tỷ lệ dự án thành công nhờ sử dụng Agile...............................................24
Bảng 2.3:Bảng so sánh các quy trình phần mềm [8]..................................................36
Bảng 3.1: Biểu đồ về độ lớn (size) dự án ..................................................................49
Bảng 3.2: Biểu đồ về phân khúc thị trường ..............................................................50
Bảng 3.3:Biểu đồ về tính đúng hạn trong việc phát triền dự án ...............................50
Bảng 3.4: Mô tả đặc trưng dự án tại GSOFT ...........................................................54
Bảng 5.1: Bảng đo lường tại GSOFT .......................................................................99

Bảng 5.2: Bảng công thức đo lường tại GSOFT ....................................................100
Bảng 5.3: Bảng đánh giá kết quả của dự án FOLUP .............................................101
Bảng 5.4: Bảng đánh giá kết quả của dự án LPCH ...............................................102
Bảng 5.5: Bảng đánh giá kết quả của dự án FRED ...............................................103
Bảng 5.6: Bảng đặc trưng dự án nào thì sử dụng mơ hình linh hoạt phù hợp .......108
Bảng 5.7: Bảng danh sách kiểm tra Scrum .............................................................109


16

Chương 1: MỞ ĐẦU
Tóm tắt chƣơng:



Nội dung của chương này trình bày tổng quan về tình hình phát triển của nền

công nghiệp phần mềm ở Việt Nam, đồng thời đưa ra những khó khăn trong việc
phát triển phần mềm và xu hướng để giải quyết khó khăn đó là áp dụng tiến trình
linh hoạt. Chương này cũng trình bày lý do thực hiện đề tài, mục tiêu của đề tài và
nội dung, bố cục của đề tài.

1.1 Xây dựng vấn đề nghiên cứu
Trong những năm gần đây, do sự khủng hoảng kinh tế tồn cầu, doanh thu của
ngành cơng nghiệp công nghệ thông tin chủ yếu là do sự tăng trưởng cao của lĩnh
vực công nghiệp phần cứng, điện tử với doanh thu chiếm 82% [1]. Công nghiệp phần
mềm và công nghiệp nội dung số cũng tăng trưởng nhưng tốc độ chậm lại. Năm
2011, doanh thu công nghiệp phần mềm chỉ đạt 1,17 tỷ USD tăng trưởng khiêm tốn
10% [1].


Bảng 1.1: Doanh thu Công nghệ thông tin.
Nguồn : Sách trắng về CNTT-TT Việt Nam 2012.
2011 Việt Nam được xếp hạng thứ 8 trong tổng số 50 nước hấp dẫn nhất về gia
công phần mềm, tăng 2 bậc so với 2009 và 11 bậc so với 2007, vượt lên trên
Philipine và tiến sát Thái Lan [1]. Báo cáo căn cứ vào các chỉ số tài chính (giá) với


17

40%, kỹ năng và sự sẵn sàng của nguồn nhân lực (30%) và môi trường kinh doanh
(30%). Việt Nam được đánh giá đứng đầu về chỉ số tài chính [1].
Việt Nam vẫn nằm trong danh sách top 30 nước dẫn đầu thế giới về gia công dịch
vụ và top 10 châu Á - Thái Bình Dương [1].
Theo Báo cáo về 100 thành phố hấp dẫn nhất thế giới về gia công phần mềm được
Công ty tư vấn Tholons công bố tháng 6/2012, TP.Hồ Chí Minh đang đứng ở vị trí
16 ( lên 1 bậc) cịn Hà Nội ở vị trí 21 (giữ nguyên) [1].

Bảng 1.2: Bảng xếp hạng thành phố phát triển trong việc gia công phần mềm
Nguồn: Sách trắng về CNTT-TT Việt Nam 2012
Số lượng doanh nghiệp phần mềm, dịch vụ CNTT tăng nhanh, tính đến năm 2012,
cả nước có khoảng trên 1.000 doanh nghiệp, tăng gấp 2,5 lần so với năm 2005,
trong đó chủ yếu tập trung tại tỉnh, thành phố lớn, với nhân lực trên 70.000 người [1]
. Năng suất lao động bình qn tồn ngành phần mềm và dịch vụ đạt trên 14.800
USD/lao động, nhưng với các doanh nghiệp có thâm niên cung cấp dịch vụ cho
nước ngồi thì mức doanh thu đạt trên 20.000USD/người/năm, đặc biệt đối với lĩnh
vực tích hợp hệ thống doanh thu đạt trên 30.000USD/người/năm [1].
Việt Nam hiện đã có nhiều doanh nghiệp phần mềm có quy mơ trên 1.000 người
như FPT-IS, TMA Solutions..., đặc biệt FSoft đã có trên 3500 lao động [1]. Cả nước



18

đã có 03 doanh nghiệp đạt chứng chỉ quản lý chất lượng quốc tế CMMi cấp độ 5, và
hàng chục cơng ty có chứng chỉ CMMi cấp độ 4, CMMi cấp độ 3 hoặc ISO-9001 [1].
Hiện tại có 7 khu phần mềm tập trung đang hoạt động, trong đó có một số khu khá
thành công, được nhiều người biết đến như Công viên phần mềm Quang Trung,
Công viên phần mềm Đà Nẵng, Khu công nghệ phần mềm Đại học quốc gia TP. Hồ
Chí Minh v.v....
Với tiềm năng phát triển vơ cùng to lớn của ngành công nghiệp phần mềm ở Việt
Nam, để đảm bảo chất lượng và hạn chế rủi ro trong việc phát triển các dự án phần
mềm, các cơng ty có vốn nước ngồi có quy mơ lớn như CSC, Havernash, Pyramid
và một số Công ty phần mềm có vốn trong nước như FSoft, FPT-IS, TMA
Solutions, áp dụng theo các quy trình chuẩn quốc tế, quy trình linh hoạt như CMMi,
Agile, Scrum Framework, Learn, Kanban…cịn các cơng ty có quy mơ nhỏ vừa và
nhỏ ở Việt Nam thì việc nghiên cứu và áp dụng các quy trình phần mềm tiên tiến
này còn gặp nhiều hạn chế như thiếu thơng tin, khơng có đội ngũ chun gia…dẫn
đến tính cạnh tranh của các Công ty phần mềm vừa và nhỏ ở Việt Nam không cao,
chất lượng dự án không cao, làm tác động không tốt đến sự phát triển của cơng
nghiệp phần mềm ở Việt Nam [2].
Bên cạnh đó dữ liệu ngành công nghiệp cho thấy hơn 60% các yêu cầu về sản phẩm
hay dự án bị thay đổi suốt quá trình phát triển phần mềm [3]. Ngay cả khi các dự án
truyền thống kết thúc đúng thời gian, đúng kinh phí, với tất cả các tính năng theo kế
hoạch, nhưng khách hàng thường khơng hài lịng vì những gì họ thấy khơng thật sự
đúng như những gì họ muốn vì khi đội dự án chuyển giao cho khách hàng thì có
đến 64% các tính năng của sản phẩm mà khách hàng hiếm khi sử dụng hoặc không
bao giờ sử dụng [4].
Do đó tiến trình phát triển phần mềm linh hoạt ra đời nhằm khắc phục các vấn đề ở
trên nhằm khuyến khích đội dự án chủ động lấy cơng việc từ danh sách đã được sắp
xếp, tự quản công việc, tập trung vào việc cải thiện cách thức làm việc bằng sự cam



19

kết của chính các thành viên trong đội dự án làm tăng tốc độ hoàn thành dự án và
giảm thiếu 40% sai sót [3].

1.2 Lý do thực hiện đề tài:
Nghiên cứu tiến trình linh hoạt và đặc biệt Scrum Famework để xây dựng một quy
trình phát triển phần mềm cho các Công Ty phần mềm vừa và nhỏ ở Việt Nam và
áp dụng triển khai thực tế vào GSOFT.

1.3 Mục tiêu nghiên cứu
1.3.1 Mục tiêu đề tài
Xây dựng hoàn chỉnh quy trình phát triển phần mềm cho GSOFT dựa trên những
đặc trưng về quy mô và dự án của GSOFT. Áp dụng triển khai thử nghiệm ít nhất
trên ba dự án tiêu biểu của GSOFT để đánh giá kết quả để áp dụng rộng rãi cho
GSOFT nói riêng và các Cơng Ty phần mềm có đặc trưng về Cơng Ty, dự án tương
tự nói chung.

1.3.2 Câu hỏi nghiên cứu
Hiện tại GSOFT đang áp dụng quy trình quản lý phần mềm nào?
Quy trình đó có đảm bảo các dự án bàn giao đúng tiến độ hay khơng? Có phát sinh
thêm thời gian hay không?
Hiện tại trong một dự án phần mềm có những vai trị nào?
Tỷ lệ lỗi trước và sau khi bàn giao cho khách hàng?
Hiện tại trên thế giới có những quy trình quản lý dự án phần mềm nào tiên tiến?
Quy trình đó có áp dụng phù hợp vào trong GSOFT hay không?


20


1.4 Phạm vi nghiên cứu
1.4.1 Đối tượng nghiên cứu
Đối tượng của nghiên cứu này là tiến trình linh hoạt, đặc biệt là Scrum Framework,
đặc thù của GSOFT, các dự án cũng như quy trình phát triển phần mềm hiện tại của
GSOFT.

1.4.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 các dự án phần mềm triển
khai ở Việt Nam và gia công cho các khách hàng ngoài phạm vi lãnh thổ Việt Nam
tại GSOFT.
Thời gian: từ ngày 14/01/2013 đến ngày 22/11/2013.

1.5 Ý nghĩa nghiên cứu
Xây dựng hồn chỉnh quy trình phát triển phần mềm cho GSOFT. Kết quả của việc
áp dụng quy trình này tại GSOFT cho kết quả tốt trong việc cải thiện thời gian thực
hiện, chất lượng của dự án, đồng thời giảm rủi ro sản xuất, chi phí thấp. Khả năng
trao đổi giữa khách hàng và nhà phát triển, giữa những thành viên trong đội được
đặt lên mức cao. Bên cạnh đó việc phát hiện lỗi, các vấn đế sớm và chào đón việc
thay đổi u cầu , thậm chí rất muộn trong quá trình phát triển dự án và đặc biệt
phát triển những chức năng khách hàng thực sự cần để mang lại giá trị cho khách
hàng, làm gia tăng độ hài lòng của khách hàng.

1.6 Kết cấu của luận văn
Luận văn bao gồm 5 chương:
 Chương 1: Mở đầu
 Chương 2: Cơ sở lý thuyết
 Chương 3: Giới thiệu về GSOFT và đặc trưng dự án của Công Ty.
 Chương 4: Xây dựng quy trình phát triển phần mềm cho GSOFT.



21

 Chương 5: Áp dụng thử nghiệm quy trình phát triển phần mềm Scrum
Framework tại GSOFT và đánh giá kết quả.
 Chương 6: Kết luận và hướng phát triển.

1.7 Kết chƣơng
Trong chương này xác định rõ lý do chọn đề tài, mục tiêu nghiên cứu và những câu
hỏi nghiên cứu. Đối tượng nghiên cứu và phạm vi nghiên cứu cũng được xác định.


22

Chương 2: CƠ SỞ LÝ THUYẾT
Tóm tắt chƣơng:



Nội dung của chương này trình bày tổng quát cơ sở lý thuyết về tiến trình linh

hoạt, mức độ phổ biến sử dụng Agile trong phát triển dự án phần mềm, tỷ lệ thành
công của dự án sử dụng Agile so với sử dụng mơ hình CMMi, các ngun tắc và giá
trị cốt lõi trong Agile. Sau đó sẽ trình bày cụ thể về tiến trình linh hoạt được dùng
để áp dụng cho GSOFT, đó là Scrum Framework: các thành tố cấu thành Scrum,
nguyên tắc hoạt động của Scrum, so sánh Scrum Framework với các mơ hình
truyền thống khác.

2.1 Tổng quan về phát triển phần mềm linh hoạt Agile
2.1.1 Định nghĩa về phát triển phần mềm linh hoạt Agile

Phát triển phần mềm linh hoạt (Agile Software Development – gọi tắt là Agile) là
một triết lý cùng với nhóm các phương pháp và phương pháp luận phát triển phần
mềm dựa trên các nguyên tắc phát triển phân đoạn lặp và tăng trưởng, 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. Agile thường sử dụng cách lập kế hoạch thích ứng, việc phát triển và chuyển
giao theo hướng tiến hóa, sử dụng các khung thời gian ngắn và linh hoạt để dễ dàng
phản hồi lại với các thay đổi trong quá trìh phát triển. 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ụ, kinh doanh, tiếp thị, giáo dục v.v.

2.1.2 Mức độ phổ biến Agile theo thống kê của Forrester
Thuật ngữ Agile chính thức được sử dụng rộng rãi theo cách thống nhất kể từ khi
“Tuyên ngôn Agile” được giới thiệu ra cơng chúng năm 2001. Nhờ tính linh hoạt,
đa dạng và hiệu quả cao, các phương pháp Agile ngày càng trở thành sự lựa chọn
hàng đầu của các khách hàng, nhà phát triển, các công ty phát triển phần mềm.
Theo khảo sát của hãng nghiên cứu thị trường Forrester (Bảng 2.1), mức độ phổ


23

biến của Agile hiện đang ở mức cao nhất, và gấp nhiều lần so với các phương pháp
truyền thống như thác nước hay CMMi

ISO 9000 (Cơ Quan Thiết Lập Tiêu Chuẩn Hóa Quốc Tế)
Capability Maturity Model Integration (Mơ hình trưởng …

1.4%
2.2%


Waterfall (Quy trình thác nước)
Spiral (Quy trình xoắn ốc)
Rational Unified Process (Quy trình phát triển phần …

1.5%
1.9%

Iterative development (Phát triển phân đoạn lặp)

2.5%
2.5%
8.4%
9.4%
1.6%

2009

2.7%
16.1%

2010

16.3%

Khơng sử dụng một quy trình chính thức
Agile (Phát triển phần mềm linh hoạt)

28.8%

30.6%

35.4%
38.6%

0.0% 5.0% 10.0%15.0%20.0%25.0%30.0%35.0%40.0%

Bảng 2.1: Mức độ phổ biến Agie theo thống kê của Forrester năm 2010
Nguồn từ Forrester Research.

2.1.3 Tỷ lệ thành công của các dự án sử dụng Agile thƣờng gấp 3 lần
so với CMMi
Các dự án Agile có tỷ lệ thành cơng gấp 3 lần so với những dự án không dùng
Agile. Báo cáo đó cho thấy rằng, “Quy trình linh hoạt là phương thuốc phổ dụng
dành cho các dự án phát triển phần mềm thất bại. Các ứng dụng phần mềm được
phát triển bởi các quy trình linh hoạt có tỷ lệ thành công gấp 3 lần so với phương
pháp thác nước truyền thống và có tỷ lệ phần trăm thấp hơn nhiều về thời gian và
chi phí phát sinh.” Standish Group đánh giá dự án thành công dựa trên thời gian,
ngân sách, và tất cả các tính năng được lên kế hoạch.Họ khơng báo cáo về việc có
bao nhiêu dự án trong cơ sở dữ liệu của mình nhưng họ cho biết kết quả này được
thực hiện trên các dự án từ năm 2002 đến 2010. Biểu đồ sau sẽ cho thấy các số liệu
cụ thể trong báo cáo của họ (Bảng 2.2).


24

Phát triển phần mềm linh
hoạt

Mơ hình thác nƣớc
29%


14%
57%

9%

Thành cơng
Thách thức

42%

49%

Thất bại

Bảng 2.2: Tỷ lệ dự án thành công nhờ sử dụng Agile
Nguồn từ “CHAO Manifesto” năm 2011 của Standish Group.

2.1.4 Các nguyên tắc và giá trị cốt lõi trong Agile
Phát triển phần mềm linh hoạt Agile làm một thuật ngữ có nguồn gốc từ Tun
Ngơn Phát triển Phần mềm Linh hoạt, tuyên ngôn này được soạn thảo năm 2001 bởi
một nhóm gồm 17 nhà khoa học (các nhà sáng tạo Scrum, XP, DSDM và Crystal,
đại diện của phát triển hướng tính năng và một vài nhà lãnh đạo khác trong lĩnh vực
công nghiệp phần mềm) [5]. Tuyên ngôn Agile đã tổng kết ra một số giá trị và
nguyên tắc chung, phổ quát cho tất cả các phương pháp luận về linh hoạt đang tồn
tại độc lập tại thời điểm đó. Văn bản này đưa ra bốn giá trị cốt lõi cho phép các
nhóm đạt được hiệu suất cao.
Các giá trị cốt lõi này còn được hỗ trợ bởi 12 nguyên tắc [5]
 Ưu tiên cao nhất của chúng tôi là thỏa mãn khách hàng thông qua việc chuyển
giao sớm và liên tục các phần mềm có giá trị.
 Chào đón việc thay đổi yêu cầu, thậm chí rất muộn trong quá trình phát triển.

Các quy trình linh hoạt tận dụng sự thay đổi cho các lợi thế cạnh tranh của
khách hàng.
 Thường xuyên chuyển giao phần mềm chạy tốt tới khách hàng, từ vài tuần đến
vài tháng, ưu tiên cho các khoảng thời gian ngắn hơn.
 Nhà kinh doanh và nhà phát triển phải làm việc cùng nhau hàng ngày trong suốt
dự án.


×