1. Trang chủ
  2. » Luận Văn - Báo Cáo

luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ

71 1,3K 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 1,31 MB

Nội dung

luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ luận văn: nghiên cứu hướng áp dụng mô hình CMMI ở các doanh nghiệp phần mềm vừa và nhỏ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ _



HÀ MẠNH TUYẾN

NGHIÊN CỨU HƯỚNG ÁP DỤNG MÔ HÌNH CMMI

Ở CÁC DOANH NGHIỆP PHẦN MỀM VỪA VÀ NHỎ

Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm

LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN NGỌC BÌNH

Hà Nội – 2014

Trang 2

LỜI CẢM ƠN

Để hoàn thành được luận văn này tôi đã nhận được sự giúp đỡ tận tình của các thầy cô giáo trong trường Đại học Công nghệ - Đại họcQuốc gia Hà Nội, các chuyên gia, các bạn bè đồng nghiệp và gia đình

Tôi xin gửi lờicảm ơn tới thầy giáo PGS.TS Nguyễn Ngọc Bình, ngườiđã tận tình hướng dẫn, truyền đạt cho tôi kiến thức và kinh nghiệm thực tiễn quý báu để tôi hoàn thành luận văn này

Xin chân thành cảm ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của ôngPhan Thế Đại (Trung tâm CNTT, chi nhánh Tập đoàn Điện lực Việt Nam), ông Ngô Văn Toàn (Phó Tổng Giám đốc công ty Global Cybersoft Việt Nam), bà Hoàng A

Na (Công ty Cổ phần Giải pháp Phần mềm Tài chính - FSS), ông Nguyễn Thành Châu (Chuyên gia tư vấn và đào tạo cấp tập đoàn ECCI Group)và sự cổ vũ động viên của bạn bè, đồng nghiệp và người thân trong gia đình trong suốt thời gian thực hiện luận văn

Dù đã cố gắng trong việc nghiên cứu và hoàn thiện luận văn, song luận văn không tránh khỏi những thiếu sót Tôi rất mong nhận được ý kiến góp ý từ quý thầy cô

và các bạn

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan việc nghiên cứuhướng áp dụng mô hình CMMI ở các doanh nghiệp vừa và nhỏ được trình bày trong luận văn là do chính tôi thực hiện dưới sự hướng dẫn của PGS.TS Nguyễn Ngọc Bình

Các kết quả nêu trong luận văn là trung thực, các đề xuất trong luận văn là do chính tôi thực hiện qua nghiên cứu thực nghiệm đưa ra và không sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ tài liệu tham khảo

Hà Nội, ngày … tháng 12 năm 2014

Tác giả

Hà Mạnh Tuyến

Trang 4

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC CÁC BẢNG v

DANH MỤC HÌNH VẼ, ĐỒ THỊ vi

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii

MỞ ĐẦU 1

CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN 3

1.1 Tổng quan về cải tiến quy trình phần mềm 3

1.1.1 Quy trình phát triển phần mềm 3

1.1.2 Cải tiến quy trình phần mềm 3

1.2 Doanh nghiệp có quy mô vừa và nhỏ 3

1.3 Vấn đề cải tiến quy trình phần mềm tại các doanh nghiệp vừa và nhỏ 4

1.4 Một số chu trình phát triển phần mềm cơ bản 4

1.5 Giới thiệu tổng quan về CMM/CMMI 7

1.5.1 Mô hình trưởng thành năng lực 7

1.5.2 Mô hình trưởng thành năng lực tích hợp 8

1.5.3 Hướng tiếp cận liên tục và mức năng lực quy trình 14

1.5.4 Hướng tiếp cận theo tầng và mức trưởng thành 16

1.5.5 Mối quan hệ giữa mức năng lực và mức trưởng thành 19

1.6 So sánh mô hình CMMI với ISO 9001 20

1.7 Phương pháp đánh giá SCAMPI 20

1.8 Tình hình áp dụng CMMI tại Việt Nam và nước ngoài 21

1.9 Một số mô hình cải tiến quy trình được đề xuất áp dụng đối với doanh nghiệp vừa và nhỏ trên thế giới 23

CHƯƠNG 2 KINH NGHIỆM ÁP DỤNG CMM/CMMI TẠI VIỆT NAM VÀ NƯỚC NGOÀI 26

2.1 Kinh nghiệm áp dụng tại một số công ty tại Việt Nam 26

2.1.1 Kinh nghiệm áp dụng tại FPT SOFTWARE (FSOFT) 26

2.1.2 Kinh nghiệm áp dụng tại công ty PSV 27

2.1.3 Kinh nghiệm cải tiến quy trình tại CMC SOFT 29

2.2 Kinh nghiệm áp dụng tại một số công ty nước ngoài 31

2.2.1 Kinh nghiệm áp dụng CMMI tại công ty công nghệ KoreaStore 31

2.2.2 Kinh nghiệm áp dụng CMMI tại RTI 33

CHƯƠNG 3 ĐỀ XUẤT HƯỚNG ÁP DỤNG MÔ HÌNH CMMI CHO DOANH NGHIỆP TẠI VIỆT NAM 34

3.1 Xác định vùng quy trình "Cốt lõi" 34

3.2 Xây dựng mô hình áp dụng 38

3.2.1 Khởi động 40

Trang 5

3.2.2 Lập kế hoạch 41

3.2.3 Định nghĩa quy trình 41

3.2.4 Triển khai 42

CHƯƠNG 4 TRIỂN KHAI ÁP DỤNG VÀ ĐÁNH GIÁ 44

4.1 Khởi động 44

4.2 Lập kế hoạch 45

4.3 Định nghĩa quy trình 45

4.4 Triển khai 51

4.5 Đánh giá kết quả triển khai CMMI tại EVNIT 51

KẾT LUẬN 53

TÀI LIỆU THAM KHẢO 54

PHỤ LỤC 1 MỘT SỐ LỢI ÍCH ĐẠT ĐƯỢC KHI ÁP DỤNG CMMI 57

TẠI EVNIT 57

PHỤ LỤC 2 MỘT SỐ CÔNG CỤ HỖ TRỢ CHO PHÁT TRIỂN PHẦN MỀM 59

PHỤ LỤC 3 ĐÁNH GIÁ NĂNG LỰC QUY TRÌNH CỦA EVNIT THEO CMMI CẤP ĐỘ 2 60

PHỤ LỤC 4 MỘT SỐ CÂU HỎI THẢO LUẬN 62

Trang 6

DANH MỤC CÁC BẢNG

Bảng 1.1: Các cấp độ của mô hình CMM 8

Bảng 1.2: Mối liên quan giữa các vùng quy trình trong CMMI 11

Bảng 1.3: Các mục tiêu chung trong mô hình CMMI [27] 12

Bảng 1.4: Các mục tiêu cụ thể và quy tắc thực tiễn cụ thể của vùng quy trình lập kế hoạch dự án [27] 13

Bảng 1.5: Bảng phân loại vùng quy trình theo hướng tiếp cận liên tục 15

Bảng 1.6: Danh sách các vùng quy trình theo cấp độ trưởng thành [27] 18

Bảng 1.7: So sánh giữa các cấp độ đánh giá của SCAMPI [6] 21

Bảng 2.1: Các công cụ được sử dụng CMMI tại KoreStone 31

Bảng 3.1: So sánh các mô hình cải tiến quy trình phát triển phần mềm được đề xuất cho doanh nghiệp vừa và nhỏ trên thế giới 34

Bảng 3.2: Tần suất xuất hiện của các vùng quy trình của CMMI trong các mô hình cải tiến quy trình được đề xuất áp dụng trên thế giới 35

Bảng 3.3: Số lần xuất hiện của các vùng quy trình của CMMI trong các mô hình cải tiến quy trình được đề xuất áp dụng trên thế giới, phân theo nhóm 36

Bảng 3.4: Các vùng quy trình được sử dụng trong mô hình CMM-VSME 38

Bảng 3.5: Phân bổ các vùng quy trình theo nhóm 39

Trang 7

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 1.1: Mô hình thác nước 5

Hình 1.2: Mô hình V 5

Hình 1.3: Mô hình bản mẫu [19] 6

Hình 1.4: Mô hình xoắn ốc 7

Hình 1.5: Các thành phần trong mô hình CMMI [25] 11

Hình 1.6: Hướng tiếp cận CMMI theo liên tục [25] 14

Hình 1.7: Hướng tiếp cận CMMI theo phân tầng [25] 16

Hình 1.8: Các cấp độ trưởng thành trong CMMI 17

Hình 1.9: Biểu đồ so sánh số lượng chứng chỉ CMMI của các quốc gia trong khu vực Đông Nam Á còn hiệu lực đến 10/2014 22

Hình 1.10: Biểu đồ thống kê số lượng chứng chỉ CMMI tại Việt Nam từ năm 2007 – 2013 22

Hình 1.11: Biểu đồ thống kê số lượng chứng chỉ CMMI trên thế giới từ năm 2007 – 2013 23

Hình 1.12: Biểu đồ thống kê 10 quốc gia có số chứng chỉ CMMI cao nhất 23

Hình 2.1: Khung quy trình phát triển phần mềm của CMC 30

Hình 2.2: Mô hình triển khai CMMI tại KoreStone 32

Hình 3.1: Mối liên quan giữa bốn vùng quy trình "cốt lõi" với các vùng quy trình khác của mô hình CMMI 37

Hình 3.2: Kiến trúc tổng quan của mô hình CMMI-VSME 39

Hình 3.3: Các bước thực hiện triển khai áp dụng mô hình CMMI-VSME 40

Hình 3.4: Mô hình tổ chức các bộ phận 40

Hình 3.5: Ví dụ về kế hoạch tổng thể 41

Hình 4.1: Mô hình tổ chức đề xuất cho EVNIT 44

Hình 4.2: Sơ đồ quy trình lập kế hoạch và quản lý dự án 46

Hình 4.3: Sơ đồ trạng thái yêu cầu 46

Hình 4.4: Quy trình đào tạo 47

Hình 4.5: Sơ đồ quy trình phân tích và thiết kế 48

Hình 4.6: Sơ đồ quy trình kiểm thử 49

Hình 4.7: Sơ đồ quy trình quản lý cấu hình 50

Trang 8

DANH MỤC CÁC KÝ HIỆU VÀ CHỮVIẾT TẮT

CMM (Capability Maturity

CMMI (Capability Maturity

Model Integration) Mô hình trưởng thành năng lực tích hợp

CMMI-VSME (CMMI for

Vietnamese Small Medium

Enterprise)

Mô hình áp dụng CMMI cho doanh nghiệp vừa

và nhỏ do tác giả đề xuất

GG (Generic Goal) Mục tiêu chung (Mục tiêu tổng quát)

GP (Generic Practice) Quy tắc thực tiễn chung

ISO (International Organization

for Standardization) Tổ chức tiêu chuẩn quốc tế, ISO

PA (Process Area) Vùng quy trình (Vùng tiến trình)

QA (Quality Assurance) Đảm bảo chất lượng

QC (Quality Control) Kiểm soát chất lượng

SCAMPI (Standard CMMI

Appraisal Method for Process

Improvement)

Phương pháp đánh giá năng lực quy trình của tổ chức theo mô hình CMMI

SEI (Software Engineering

SEPG (Software Engineering

Process Group) Nhóm xây dựng, cải tiến quy trình phần mềm

SG (Specific Goal) Mục tiêu cụ thể (Mục tiêu chuyên biệt)

SP (Specific Practice) Quy tắc thực tiễn cụ thể (Quy tắc thực tiễn

chuyên biệt)

Trang 9

MỞ ĐẦU Trong những năm gần đây, ngành công nghiệp phần mềm Việt Nam đã có sự tăng trưởng mạnh về số lượng và quy mô của nhiều doanh nghiệp phần mềm.Theo số liệu thống kê năm 2011, cả nước có 1.500 doanh nghiệp phần mềm với số lượng nhân lực khoảng gần 79.000 người lao động Tuy nhiên đa số các doanh nghiệp phần mềm tại Việt Nam là các công ty vừa và nhỏ[20],theo Hiệp hội Doanh nghiệp Vừa và Nhỏ Việt Nam (VINASME), có đến 96% doanh nghiệp đăng ký ở Việt Nam là doanh nghiệp vừa và nhỏ Các doanh nghiệp vừa và nhỏ với năng lực cạnh tranh còn hạn chế,

hệ thống quy trình sản xuất và quản lý chất lượng chưa được quan tâm đúng mức, thiếu năng lực cạnh tranh[3].Ngành công nghiệp phần mềm Việt Nam vẫn còn nhiều thách thức nội tại như quy mô còn nhỏ, khan hiếm nguồn nhân lực, chất lượng sản phẩm không cao và năng lực tiếp thị còn kém

Nhận thấy điểm yếu của mình, một số doanh nghiệp đã bắt đầu quan tâm tới chất lượng và cải tiến hệ thống quy trình phát triển phần mềm, các doanh nghiệp đã tự trang bị cho mình các chứng chỉ quốc tế như ISO 9001[15]hay CMMI[25] Một trong những mô hình được sử dụng phổ biến hiện nay phải kể đến là mô hình CMMI

Trên thế giới, mô hình CMMI được áp dụng khá phổ biến ở các doanh nghiệp sản xuất phần mềm, áp dụng CMMI thành cônggiúp tạo ra môi trường làm việc chuyên nghiệp, cải tiến quy trình sản xuất, nâng cao hiệu quả công việc, hạn chế lỗi xảy ra, giảm thời gian xử lý lỗi [18],[21], tăng chất lượng sản phẩm vàtối ưu hoá chi phí Theo số liệu thống kê trên trang Web của viện SEI, một số quốc gia dẫn đầu về số lượng chứng chỉ CMMI như Trung Quốc, Mỹ, Ấn độ, Tây Ban Nha, Nhật Bản,

Ở Việt Nam,trong mấy năm qua, nhiều doanh nghiệp phần mềm đang nỗ lực nâng cao quy trình đảm bảo chất lượng và trình độ công nghệ sản xuất Tuy nhiên, việc áp dụng các tiêu chuẩn quản lý chất lượng vẫn còn rất hạn chế Chủ yếu là các doanh nghiệp lớncó tiềm lực tài chính, hoặc doanh nghiệp có vốn đầu tư nước ngoài mới quan tâm đúng mức đến việc đầu tư, xây dựng và triển khai các tiêu chuẩn quản lý chất lượng quốc tế[3] Một số doanh nghiệp đi đầu trong việc triển khai áp dụng CMM/CMMI phải kể đến là: PSV, FPT, GCS Vietnam, Viettel, TMA, CMC Software, Cácdoanh nghiệp phần mềmcó quy mô vừa và nhỏ, nguồnnhân lực và tài chính hạn chếthường gặp khó khăn khi tự triển khai áp dụng mô hình CMM/CMMI mà không được sự hỗ trợ từ tổ chức tư vấn [3],[13]

Một câu hỏi đặt ra: "Hướng áp dụng nào phù hợp cho các doanh nghiệp vừa và nhỏ ở Việt nam trong quá trình triển khai áp dụng mô hình CMMI" Đề tài này nghiên cứu tìm hiểu về mô hình CMMI đểđưa rahướng áp dụng triển khai mô hình CMMI-DEV v1.3 cho doanh nghiệp phần mềm có quy mô vừa và nhỏ, và áp dụng thí điểm đối với đơn vị hoạt động trong lĩnh vực phát triển phần mềmlàTrung tâm Công nghệ thông tin – Chi nhánh Tập đoàn điện lực Việt nam

Để giải quyết bài toán này, tác giả tiến hànhnghiên cứu một số mô hình được đề

Trang 10

xuất áp dụng cho doanh nghiệp vừa và nhỏ trên thế giới, bên cạnh đó kết hợp thông qua các bài học kinh nghiệm triển khai của các doanh nghiệp ở Việt Nam đã áp dụng thành công CMMI, tìm hiểu các khó khăn vướng mắc của các doanh nghiệp vừa và nhỏ ở Việt Nam khi muốn cải tiến quy trình sản xuất Từ đóđề xuất ra một hướng tiếp cận cho việc cải tiến quy trình phát triển theo mô hình CMMI cho các doanh nghiệp vừa và nhỏ tại Việt Nam

Bố cục luận văn gồm các phần chính sau đây:

Chương 1: Giới thiệu một số khái niệm tổng quan về quy trình và cải tiến quy trình phát triển phần mềm, các vấn đề gặp phải đối với doanh nghiệp vừa và nhỏ trong cải tiến quy trình phát triển Giới thiệu tổng quan về mô hình CMM/CMMI và tình hình áp dụngtại một số đơn vị trong và ngoài nước

Chương 2:Giới thiệu bài học kinh nghiệm triển khai áp dụng mô hình CMMI của một số doanh nghiệp phần mềm tại Việt Nam và nước ngoài

Chương 3: Đề xuất hướng áp dụng mô hình CMMI cho doanh nghiệp phần mềm có quy mô vừa và nhỏ tại Việt Nam

Chương 4: Triển khai áp dụng thử nghiệm theo hướng đề xuất cho Trung tâm Công nghệ thông tin và đánh giá kết quả

Kết luận: Tóm tắt các kết quả đã đạt được, chưa đạt được và định hướng nghiên cứu tiếp theo

Trang 11

Khi một tổ chức sản xuất phần mềm đạt mức độ trưởng thành cao, quy trình phát triển phần mềm của họ được định nghĩa tốt hơn, được triển khai xuyên suốt trong môi trường làm việc của họ Chất lượng phần mềm phụ thuộc rất lớn vào chất lượng của quy trình được sử dụng để phát triển và bảo trì phần mềm Một quy trình phát triển phần mềm hiệu quả sẽ tích hợp chặt chẽ con người, các công cụ hỗ trợ, và các phương pháp được vận dụng[4]

1.1.2 Cải tiến quy trình phần mềm

Có một liên kết chặt chẽ giữa chất lượng của một quy trình phát triển và chất lượng của các sản phẩm phát triển sử dụng quy trình đó.Nhiều tổ chức sản xuất phần mềm đã chuyển sang cải tiến tiến trình làm phần mềm như một cách để nâng cao chất lượng phần mềm của họ Quy trình cải tiến có nghĩa là sự hiểu biết các quy trình hiện

có và thay đổi các quy trình này tăng để chất lượng sản phẩm làm giảm chi phí và thời gian phát triển Cải tiến qui trình không chỉ đơn giản là việc áp dụng các phương pháp

cụ thể, các công cụ hoặc sử dụng một số mô hình của một quá trình đã được sử dụng ở nơi khác.Cải tiến qui trình là một hoạt động mang tính chu kỳ, nó liên quan đến ba giai đoạn chính: (1) Quy trình đo lường; (2) Quy trình phân tích; (3) Quá trình thay đổi Các quá trình này là riêng biệt Mỗi giai đoạn của quá trình này có thể kéo dài nhiều tháng,cả quá trình cải tiến là một hoạt động lâu dài và liên tục[4]

1.2 Doanh nghiệp có quy mô vừa và nhỏ

Thuật ngữ "vừa" và "nhỏ" thường đượcđề cập đến số lượng lao động trong tổ chức doanh nghiệp, tại các quốc gia khác nhau có quy định về số lượng khác nhau Các công ty có quy mô vừa và nhỏ tại các quốc gia thuộc khối liên minh Châu âu giới hạn 250 lao động, ở Mỹ quy định tối đa là 500 lao động, còn một vài quốc gia khác thì giới hạn con số 200 lao động [14] Ở Việt Nam, theo Nghị định số 56/2009/NĐ-CP thì doanh nghiệp nhỏ và vừa là những doanh nghiệp có số lượng lao động tối đa 300

Trang 12

người hoặc quy mô vốn tối đa 100 tỷ đồng Cụ thể: số lượng lao động trung bình hàng năm từ 10 người trở xuống được coi là doanh nghiệp siêu nhỏ, từ 10 đến dưới 200 người lao động hoặc quy mô vốn dưới 20 tỷ đồng được coi là doanh nghiệp nhỏ; từ

200 đến 300 lao động hoặc quy mô vốn từ trên 20 - 100 tỷ đồng là doanh nghiệp vừa 1.3 Vấn đề cải tiến quy trình phần mềm tại các doanh nghiệp vừa và nhỏ

Theo một số nghiên cứu cho thấy việc cải tiến quy trình phát triển theo mô hình CMMI trong doanh nghiệp thường gặp phải một số vấn đề như thiếu kinh phí, thiếu nguồn lực, thiếu sự quyết tâm của lãnh đạo [5],[12],[13],[17] Bên cạnh đó, các doanh nghiệp cũng thiếu kinh nghiệm và các kỹ năng cần thiết để bắt đầu cuộc hành trình

"Cải tiến chất lượng"[5] Mặc dù việc cải tiến là cần thiết và người quản lý cấp cao của doanh nghiệp cũng nhận thức được điều này và họ sẵn sàng cải tiến quy trình sản xuất hiện tại, tuy nhiên họ lại thiếuhướng dẫn và phương pháp tiếp cận cho các dự án cải tiến quy trình sản xuất, dẫn đến hiệu quả áp dụng chưa cao.Một số doanh nghiệp chưa muốn cải tiến quy trình theo mô hình CMMI, họ thường nghĩ rằng chi phí để cải tiến quy trình theo CMMI là tốn kém và không thấy được hiệu quả rõ ràng mà CMMI mang lại cho doanh nghiệp mình [12] Những vấn đề thường gặp phải ở các doanh nghiệp vừa và nhỏ khi cải tiến quy trình phát triển phần mềm[5]:

Nguồn lực bị giới hạn: Việc thực hiện đúng theo các yêu cầu kỹ thuật về công

nghệ nghệ phần mềm là nhiệm vụ khó khăn đối với các tổ chức, doanh nghiệp có nguồn lực và thời gian hạn chế

Các vấn đề văn hóa, nhận thức: Việc thay đổi văn hoá, nhận thức của lãnh đạo

và nhân viên thường rất khó khăn, tâm lý ngại đổi mới khiến cho việc cải tiến quy trình gặp khó khăn

Các ràng buộc về thời gian và chi phí: Với nguồn ngân sách hạn chế khiến cho

việc thực hiện cải tiến gặp khó khăn, đây là một hạn chế quan trọng ảnh hưởng tới việc cải tiến quy trình

1.4 Một số chu trình phát triển phần mềm cơ bản

Mô hình thác nước (Waterfall)[6]:Đây là mô hình phát triển phần mềm phổ

biến được dùng nhiều tại các tổ chức phát triển phần mềm Tư tưởng của mô hình là quá trình phát triển được thực hiện theo dòng chảy tuần tự và tuyến tính, giai đoạn sau chỉ được thực hiện khi giai đoạn trước đó được hoàn thành Mô hình thác nước trong Hình 1.1, có 7 giai đoạn bao gồm: Xác định yêu cầu hệ thống, Xác định yêu cầu phần mềm, Thiết kế căn bản, Thiết kế chi tiết, Lập trình, Kiểm thử, Vận hành bảo trì

Trang 13

Xác định yêu

cầu hệ thống

Xác định yêu cầu phần mềm

Mô hình V (V – Model): Mô hình V là phiên bản mở rộng của mô hình thác

nước, tư tưởng chủ đạo của mô hình này là hoạt động phát triển và kiểm thử phải được tiến hành song song với nhau ngay từ những bước đầu cho đến khi kết thúc

Đặc tả yêu cầu

Thiết kế kiến trúc

Thiết kế chi tiết

Mã hóa Kiểm thử đơn vị

Kiểm thử tích hợp

Kiểm thử hệ thống

Hình 1.2: Mô hình V Hình 1.2 minh họa các các bước thực hiện trong mô hình V, toàn bộ quy trình được chia thành hai nhóm giai đoạn tương ứng nhau: giai đoạn phát triển và kiểm thử, mỗi giai đoạn phát triển sẽ được kết hợp với một giai đoạn kiểm thử tương ứng

Trang 14

Mô hình bản mẫu (Prototyping Model)[19]: Mô hình bản mẫu (prototype) được

minh hoạ trongHình 1.3,trong đó, quy trình được bắt đầu bằng việc thu thập yêu cầu với sự có mặt của đại diện của cả phía phát triển lẫn khách hàng nhằm định ra mục tiêu tổng thể của hệ thống phần mềm sau này, đồng thời ghi nhận tất cả những yêu cầu có thể biết được.Sau đó, thực hiện thiết kế nhanh bản mẫu, xây dựng bản mẫu và trình bày với khách hàng và lấy ý kiến về bản mẫu, tiếp theo đến bước chỉnh sửa bản mẫu theo ý kiến của khách hàng Tiếp theo sau giai đoạn làm bản mẫu có thể là một chu trình theo mô hình thác nước hay cũng có thể là mô hình khác

Lấy yêu cầu của khách hàng

Khách kiểm tra bản mẫu

Thiết kế nhanh bản mẫu

Xây dựng bản mẫu

Chỉnh sửa bản mẫu

Mô hình xoắn ốc (Spiral Model) [6]:Mô hình xoắc ốc bao gồm các tính chất

của mô hình thác nước và mô hình nguyên mẫu Mô hình xoắn ốc hữu ích đối với các phần mềm được phát hành thành nhiều phiên bản.Trong mỗi lần lặp lại của mô hình xoắn ốc tương đương một mô hình thác nước Vào cuối phiên bản đầu tiên khách hàng đánh giá phần mềm và cung cấp các thông tin phản hồi Dựa trên thông tin phản hồi, quá trình phát triển phiên bản tiếp theo sẽ dần hoàn thiện hơn,quá trình này lặp đi lặp lại trong suốt vòng đời của phần mềm

Trang 15

Lập kế hoạch

Phân tích rủi ro

Kỹ nghệ

Xây dựng và xuất xưởng

Khách hàng đánh giá

Giao tiếp khách hàng

Khái niệm Làm mới Nâng cấp Bảo trì

Hình 1.4: Mô hình xoắn ốc Các pha của mô hình xoắn ốc được biểu diễn trongHình 1.4, bao gồm các pha sau:

Giao tiếp khách hàng: Giữa người phát triển và khách hàng để tìm hiểu yêu cầu Lập kế hoạch: Xác lập tài nguyên, thời hạn và những thông tin khác

Phân tích rủi ro: Xem xét mạo hiểm kỹ thuật và mạo hiểm quản lý

Kỹ nghệ: Xây dựng một hay một số biểu diễn của ứng dụng

Xây dựng và xuất xưởng: Xây dựng, kiểm thử, cài đặt và cung cấp hỗ trợ người dùng

Khách hàng đánh giá: Nhận các phản hồi của người sử dụng về biểu diễn phần mềm trong giai đoạn kỹ nghệ và cài đặt

Mô hình xoắn ốc áp dụng tốt trong trường hợp xây dựng hệ thống phần mềm có quy mô lớn, vấn đề gặp phải của mô hình xoắn ốc đó là hoạt động xác định, đánh giá rủi ro khó thực hiện

1.5 Giới thiệu tổng quan vềCMM/CMMI

1.5.1 Mô hình trưởng thành năng lực

Mô hình trưởng thành năng lực (Capacity Maturity Model, viết tắt là CMM)[26] được phát triển bởiViện công nghệ phần mềm (Software Engineering Institute, viết tắt là SEI) thuộc trường Đại học Carnegie Mellon (Mỹ),là mô hình đánh giá sự trưởng thành năng lực sản xuất phần mềm, mô hình quản lý chất lượng cho các

tổ chức sản xuất phần mềm CMM là một bộ các hướng dẫn và kinh nghiệm thực tiễn được chọn lọc của các chuyên gia và tổ chức hàng đầu trong lĩnh vực phát triển, cải tiến hoặc đánh giá quy trình sản xuất phần mềm CMM không đưa ra các quy trình cụ

Trang 16

thể, mà chỉ đưa ra các hướng dẫn để các công ty/ tổ chức phát triển phần mềm có thể

tự xây dựng và cải tiến hiệu quả các quy trình của mình

CMM bao gồm 5 cấp độ (Level) và 18vùng quy trình quan trọng (Key Process Area - KPAs)[26], cụ thể có các cấp độ được mô tả tại Bảng 1.1

 Quản lý các yêu cầu (Requirement Management)

 Lập kế hoạch cho dự án (Software Project Planning)

 Theo dõi kiểm tra tiến độ dự án (Software Project Tracking)

 Quản trị hợp đồng phụ phần mềm (Software SubContract Managent)

 Đảm bảo chất lượng sản phẩm (Software Quality Assurance)

 Quản lý cấu hình sản phẩm (Software Configuration Management)

3 - Mức độ được định

nghĩa (Defined level)

 Cải tiến quy trình dựa vào mục tiêu của tổ chức (Organization Process Focus)

 Định nghĩa quy trình tổ chức (Organization Process Definition)

 Đào tạo (Training Program)

 Quản trị Phần mềm tích hợp (Integrated Software Management)

 Sản xuất Sản phẩm phần mềm (Software Product Engineering)

 Phối hợp nhóm (Intergroup Coordination)

 Xét duyệt ngang hàng (Peer Reviews)

 Phòng ngừa lỗi (Defect Prevention)

 Quản trị thay đổi công nghệ (Technology Change Management)

 Quản trị thay đổi quá trình (Process Change Management)

1.5.2 Mô hình trưởng thành năng lực tích hợp

Mô hình trưởng thành năng lực tích hợp (Capability Maturity Model Integration, viết tắt làCMMI)[25] là phiên bản cải tiến của mô hình CMM[26], CMMI

được tích hợp từ nhiều mô hình khác nhau, xuất phát từ ba mô hình nguồn[8],[25]: (1)

Mô hình SW-CMM draft C, đại diện cho hướng phần mềm; (2) Mô hình SECM, đại diện cho hướng công nghệ hệ thống; (3) Mô hình IPD-CMM v0.98, đại diện cho hướng phát triển tích hợp tiến trình và sản phẩm CMMI phù hợp cho cảnhững doanh

Trang 17

thống,chứkhôngchỉápdụngchodoanhnghiệpphầnmềmnhưCMM trước đây.

Tương tự CMM, CMMI cũng có 5 mức độ trưởng thành[25]:(1) Mức độ khởi động (Initial level); (2) Mức độ có khả năng lặp (Repeatable level); (3) Mức độ được định nghĩa (Defined level); (4) Mức độ được quản lý (Managed level); (5) Mức độ tối

ưu hóa (Optimizing level)

Tháng 10/2010,viện công nghệ phần mềm (SEI) thông báo phiên bản mới của CMMI là CMMI v1.3, mô hình CMMI v1.3 có ba mô hình áp dụng bao gồm CMMI-DEV (Dành cho chuyên viên phát triển sản phẩm),CMMI-ACQ (Dành cho các tổ chức

có hoạt động thuê ngoài, sáp nhập hay mua lại sản phẩm hoặc dịch vụ từ công ty khác)

và CMMI-SVC (Dành cho các tổ chức hoạt động trong lĩnh vực cung cấp dịch vụ),trong đó có 16 vùng quy trình cơ bản chung cho cả 3 mô hình[25]

Trong luận vănnày tác giả chỉ tập trung vào nghiên cứu áp dụng đối với mô hình CMMI-DEV v1.3 dành cho chuyên viên phát triển

Mô hình CMMI có haihướng tiếp cận áp dụng, hướng tiếp cận theo tầng (Staged Representation) và tiếp cận theo hướng liên tục (Continuous Representation)[25] Tổ chức lựa chọn thực hiện theo mứcnăng lực của quy trình phần mềm tương ứng với việc chọn áp dụng mô hình CMMI dạng trình bày liên tục, còn nếu quyết định thực hiện theo mức độ trưởng thành của tổ chức tương ứng với chọn áp dụng mô hình CMMI dạng phân tầng

Các thành phần của mô hình CMMIđượcnhóm thành ba loại bao gồm[25]: Thành phần bắt buộc,Thành phần cần thiết vàThành phần thông tin

Thành phần bắt buộc (Required Components):Đây là thành phần cần thiết để

đạt được mục tiêu cải tiến của vùng quy trình cần áp dụng, các nội dung này cần phải được nêu ra và thực hiện trong quy trình phát triển của tổ chức.Thành phần bắt buộc trong mô hình CMMI là những phát biểu về mục tiêu cụ thể (Specific Goals) và mục tiêu chung (Generic Goals)[25]

Thành phần cần thiết (Expected Components):Tùy từng trường hợp, một số nội

dung không bắt buộc phải được thực hiện để có thể áp dụng thành công mô hình, những nội dung thuộc loại này cũng rất quan trọng trong quá trình cải tiến quy trình Thành phần cần thiết là những phát biểu về quy tắc thực tiễn cụ thể (Specific Practices) vàthực tiễn chung (Generic Practices)[25]

Thành phần thông tin (Informative Components): Đây là thành phần chiếm số

lượng nhiều hơn cả, thành phần này cung cấp nhiều hướng dẫn chi tiết hơn để hiểu được các thành phần bắt buộc và cần thiết.Có 3 nhóm nội dung khác nhau nhằm mục đích hướng dẫn, giải thích, thông tin thêm cho người đọc, các nhóm thông tin này bao gồm: Tên gọi (Names), Các ví dụ minh hoạ (Examples) và các tham chiếu (References)[25]

Một khái niệm quan trọng trong CMMI là “Vùng quy trình” (Process Area), CMMI chỉ chọn ra những khía cạnh quan trọng đối với việc cải tiến quy trình và nhóm

Trang 18

chúng lại thành từng vùng (Area), nên được gọi là vùng quy trình Bên cạnh đó, trong mỗi vùng quy trình còn mô tả tập hợp những kết quả sẽ đạt được nếu áp dụng thành công vùng quy trình này.Trong mô hình CMMIDEV v1.3 có tất cả 22 vùng quy trình, các vùng quy trình này được phân bổ vào các nhóm: Quản lý dự án (Project Management), Quản lý quy trình (Process Management), Công nghệ (Engineering) và

Hỗ trợ (Support) Danh sách các vùng quy trình trong CMMI DEV v1.3 bao gồm[25]:

o Causal Analysis and Resolution (CAR)

o Configuration Management (CM)

o Decision Analysis and Resolution (DAR)

o Integrated Project Management (IPM)

o Measurement and Analysis (MA)

o Organizational Process Definition (OPD)

o Organizational Process Focus (OPF)

o Organizational Performance Management (OPM)

o Organizational Process Performance (OPP)

o Organizational Training (OT)

o Product Integration (PI)

o Project Monitoring and Control (PMC)

o Project Planning (PP)

o Process and Product Quality Assurance (PPQA)

o Quantitative Project Management (QPM)

Trang 19

Purpose Statement

Introductory Notes

Related Process Area

Excample Work

Generic Practices Elaborations

Process Area

Hình 1.5: Các thành phần trong mô hình CMMI[25]

Mục đích (Purpose Statement): mỗi vùng quy trình được bắt đầu trình bày

bằng những phát biểu ngắn gọn về mục đích chung của vùng quy trình này nhằm làm gì

Lời giới thiệu (Introductory Notes): tiếp theo phần mục đích là phần mở đầu

cho vùng quy trình, thường gồm phạm vi của vùng quy trình và tầm quan trọng của nó

Các vùng quy trình liên quan (Related Process Areas): phần này sẽ liệt kê các

tham chiếu đến các vùng quy trình có liên quan khác Trong mô hình CMMI không có

sơ đồ biểu diễn về sự liên quan của các vùng quy trình.Dựa trên các thông tin mô tả các vùng quy trình liên quan của mỗi vùng quy trình để tổng hợp và thể sự liên quan

đó qua các con số được tổng hợp trongBảng 1.2, qua số liệu tổng hợp nhận cho thấy vùng quy trình tích hợp sản phẩm (PI) có tham chiếu đến vùng quy trình khác nhiều nhất

Bảng 1.2:Mối liên quan giữa các vùng quy trình trong CMMI

Mục tiêu chung (Generic Goals, GG):các mục tiêu cần đạt được phát biểu

Trang 20

chung và có liên quan đến nhiều vùng quy trình khác, được gọi là mục tiêu chung Danh sách các mục tiêu chung được nêu ra tại Bảng 1.3

Mục tiêu cụ thể (Specific Goals, SG): các mục tiêu cần đạt được phát biểu riêng

cho một vùng quy trình duy nhất, được gọi là mục tiêu cụ thể hay chuyên biệt

Quy tắc thực tiễn chung (Generic Practices, GP):các quy tắc thực tiễnđược

phát biểu chung cho nhiều vùng quy trình, nó được gọi là quy tắc thực tiễn chung

Quy tắc thực tiễncụ thể (Specific Practices, SP):các quy tắc thực tiễn được phát

biểu cho riêng một vùng quy trình nào đó, được gọi là quy tắc thực tiễn cụ thể hay chuyên biệt Ví dụ về các mục tiêu cụ thể và quy tắc thực tiễn cụ thể của vùng quy trình Lập kế hoạch dự án được nêu tại Bảng 1.4

Các sản phẩm công việc(Sample Work Products): Đây là nội dung đi kèm với

từng quy tắc thực tiễn, liệt kê các kết quả công việc tiêu biểu (hay còn gọi là sản phẩm công việc) sẽ có được khi áp dụng quy tắc thực tiễn này

Quy tắc thực tiễn con(Subpractices): Đã số các quy tắc thực tiễn trong mô hình

CMMI đều bao gồm những quy tắc thực tiễn con để giải thích chi tiết hơn về ý nghĩa

và các hoạt động của quy tắc thực tiễn đang đề cập

Bảng 1.3:Các mục tiêu chung trong mô hình CMMI [25]

GG 1 Đạt được mục tiêu cụ thể (Achieve Specific

Goals)

GP 1.1 Thực hiện các thực hành cụ thể (Perform

Specific Practices)

GG 2 Thể chế hoá quy trình được quản lý

(Institutionalize a Managed Process)

GP 2.1.Thiết lập chính sách cho tổ chức (Establish an

Organizational Policy)

GP 2.2.Có kế hoạch quy trình (Plan the Process)

GP 2.3.Cung cấp nguồn lực (Provide Resources)

GP 2.4.Phân công trách nhiệm (Assign Responsibility)

GP 2.5.Đào tạo nhân sự (Train People)

GP 2.6.Kiểm soát các kết quả công việc (Control Work

Products)

GP 2.7.Xác định vai trò của các bên liên quan (Identify

and Involve Relevant Stakeholders)

GP 2.8.Giám sát và kiểm soát quy trình (Monitor and

Control the Process)

GP 2.9.Đánh giá sự tuân thủ (Objectively Evaluate

Adherence)

GP 2.10.Xem xét thực trạng với quản lý mức cao

(Review Status with Higher Level Management)

GG 3.Thể chế hoá quy trình được định nghĩa

ML5

Trang 21

Mục tiêu chung (GG) Liên tục Phân tầng

GP 3.1.Thiết lập quy trình được định nghĩa (Establish a

Defined Process)

GP 3.2.Tập hợp kinh nghiệm liên quan quy trình (Collect

Process Related Experiences)

Bảng 1.4:Các mục tiêu cụ thể và quy tắc thực tiễn cụ thể của vùng quy trình lập

SG 1 Thiết lập các ước lượng (Establish Estimates)

SP 1.1.Ước lượng phạm vi dự án (Estimate the Scope of the Project)

SP 1.2.Thiết lập các ước lượng cho các thuộc tính sản phẩm và công việc (Establish Estimates of Work Product and Task Attributes)

SP 1.3.Xác định chu trình phát triển của dự án (Define Project Lifecycle Phases)

SP 1.4.Ước lượng chi phí và nhân lực (Estimate Effort and Cost)

SG 2.Lập kế hoạch dự án (Develop a Project Plan)

SP 2.1.Ước lượng ngân sách và lịch biểu (Establish the Budget and

Schedule)

SP 2.2.Xác định rủi ro dự án (Identify Project Risks)

SP 2.3.Lên kế hoạch quản lý dữ liệu (Plan Data Management)

SP 2.4.Hoạch định nguồn lực dự án (Plan the Project’s Resources)

SP 2.5.Chuẩn bị kiến thức và kỹ năng cần thiết (Plan Needed

Knowledge and Skills)

SP 2.6.Chuẩn bị thông tin về các đối tác liênquan (Plan Stakeholder

Involvement)

SP 2.7.Thiết lập kế hoạch dự án (Establish the Project Plan)

SG 3.Thống nhất kế hoạch thực hiện (Obtain Commitment to the Plan)

SP 3.1.Xem xét các kế hoạch có ảnh hưởng đến dự án (Review Plans That Affect the Project)

SP 3.2.Cân đối nguồn lực và công việc (Reconcile Work and Resource Levels)

SP 3.3.Thống nhất kế hoạch triển khai (Obtain Plan Commitment)

Mô hình CMM/CMMI có nhiều ưu điểm, việc cải tiến quy trình phần mềm theo CMM/CMMI chứng tỏ rằng các tổ chức phần mềm có thể kiểm soát được chi phí và đạt được các tiêu chí về năng suất, chất lượng[4], [27] Bên cạnh đó, giúp tạo ra một môi trường làm việc chuyên nghiệp, thay đổi tác phong, văn hóa làm việc và nâng cao năng lực cho nhân viên Tuy nhiên CMM/CMMI cũng có những hạn chế nhất định, một trong số các hạn chế lớn của mô hình này có thể nhận thấy được đó là:Mô hình CMM/CMMI không bao quát được hết các vấn đề cần thiết để dự án phần mềm thành công Ví dụ, mô hình này không tập trung vào các nghiệp vụ hay công nghệ cụ thể, không có hướng dẫn cho tổ chức trong việc tuyển chọn, điều động nhân sự mặc dù đây

là khía cạnh quan trọng và có ảnh hưởng nhiều đến sự thành công của dự án[4] Mô

Trang 22

hình CMM/CMMIkhông bảo đảm rằng các sản phẩm phần mềm luôn luôn được xây dựng thành công, cũng không bảo đảm rằng các vấn đề phát sinh trong lĩnh vực công nghệ phần mềm sẽ luôn được giải quyết thoả đáng.Mô hình CMM/CMMI phù hợp với các dự án lớn, áp dụng đối với các dự án nhỏ thường gặp rủi ro cao hơn Mô hình CMM/CMMI có lượng thông tin lớn gây khó khăn cho doanh nghiệp vừa và nhỏ khi

áp dụng[9]

1.5.3 Hướng tiếp cận liên tục và mức năng lực quy trình

Hướng tiếp cận mô hình CMMI dạng liên tục là phương pháp tiếp cận cho phép

tổ chức lựa chọn một hoặc nhiều vùng quy trình cụ thể để cải tiến Để đánh giá việc cải tiến vùng quy trình người ta dùng khái niệm mức năng lực (Capability Level)[25]

Process Areas

Capability Levels

Specific Practices

Generic Practices

Generic Goals Specific Goals

Hình 1.6: Hướng tiếp cận CMMI theoliên tục[25]

Trong CMMI với hướng tiếp cận liên tục, mức năng lực có 4 cấp độ (được đánh

số từ 0 đến 3).Mức năng lực của một vùng quy trình nào đó càng cao càng thể hiện tổ chức thực hiện các hoạt động thuộc vùng quy trình đó càng tốt

Capability Level 0: Incomplete, một quá trình không hoàn thành là quá trình

không được thực hiện hoặc chỉ thực hiện một phần Một hoặc nhiều mục tiêu cụ thể (Specific goals) của vùng quy trình không được đáp ứng và mục tiêu chung (Generic goals) không tồn tại Mức 0 này tương đương với mức 1 trong dạng trình bày theo tầng (Staged representation)[25]

Capability Level 1 (CL1): Performed,một vùng quy trình có Capability level 1

là 1 vùng quy trình được mong đợi sẽ thực hiện tất cả các thực hành cụ thể (SP) và thực thành chung (GP) dành cho Capability level 1[25]

Ví dụ, để đạt được CL1 của vùng quy trình quản lý cấu hình CM thì cẩn phải thực hiện các yêu cầu của GG1 trongBảng 1.3và các SP được yêu cầucủa vùng quy trình CM (PA1), cụ thể[21]:

CL1 {PA1} = GG1 [PA1]

= SGi [PA1] = SG1 [PA1] ∧ SG2 [PA1] ∧ SG3 [PA1]

= SP1 i [PA1] ∧ SP2 i [PA1] ∧ SP3 i [PA1]

(1)

Trang 23

Capability Level 2 (CL2): Managed, một quy trình quản lý được lên kế hoạch,

thực hiện, giám sát và kiểm soát cho các dự án cá nhân, các nhóm hoặc những quy trình riêng lẻ để đạt được một mục tiêu chi phí, lịch trình, chất lượng, [25]

Ví dụ, để đạt được CL2thì cần phải đạt được CL1 và thoả mãn các yêu cầu của GG2, cụ thể[21]:

CL2 {PA1} = CL1 {PA1} ∧ GG2 {PA1} = CL1 {PA1} ∧ GP2 i {PA1} (2)

Capability Level 3 (CL3): Defined,một vùng quy trình có Capability level 3

được mô tả như một quy trình được xác định (defined process) Một quy trình được xác định là một quy trình được quản lý và được thiết kế từ tập hợp các quy trình chuẩn của tổ chức[25]

Để đạt được CL3 cần phải đạt được CL1, CL2 và thoả mãn yêu cầu của GG3,

cụ thể[21]:

CL3 {PA1} = CL2 [PA1] ∧ GG3 [PA1]

= CL1 [PA1] ∧ GP2 i [PA1] ∧ GP3 i [PA1] (3)

Bảng 1.5:Bảng phân loại vùng quy trình theo hướng tiếp cận liên tục

Tích hợp sản phẩm (Product Integration) PI

Kỹ nghệ (Engineering)

Phát triển yêu cầu (Requirements Development) RD

Phát triển giải pháp kỹ thuật (Technical Solution) TS

Định nghĩa quy trình tổ chức (Organizational Process

Quản lý quy trình (Process Management)

Cải tiến quy trình dựa vào mục tiêu của tổ chức

Năng lực quy trình của tổ chức (Organizational Process

Quản lý hiệu quả của tổ chức (Organizational

Quản lý dự án dựa trên số liệu (Quantitative Project

án (Project Management)

Giám sát và kiểm soát dự án (Project Monitoring and

Lập kế hoạch dự án (Project Planning) PP

Trang 24

Tên vùng quy trình Viết tắt Lĩnh vực Quản lý yêu cầu (Requirements Management) REQM

Quản lý nhà cung cấp (Supplier Agreement

Quản lý dự án tích hợp (Integrated Project

Quản lý cấu hình (Configuration Management) CM

Hỗ trợ (Support)

Đo lường và phân tích (Measurement and Analysis) MA

Đảm bảo chất lượng sản phẩm và quy trình (Process and

Phân tích và lựa chọn giải pháp (Decision Analysis and

Phân tích nguyên nhân và giải pháp (Causal Analysis

1.5.4 Hướng tiếp cận theotầng và mức trưởng thành

Hướng tiếp cận mô hình CMMIdạng phân tầng (Staged Representation) là hướng tiếp cận cung cấp một lộ trình được xác định trước để xác định hướng cải tiến cho một tổ chức, dựa trên việc gom nhóm và sắp xếp các vùng quy trình có sẵn Để đánh giá mức độ cải tiến thì ta dùng khái niệmmức độ trưởng thành (Maturity Level, viết tắt ML)

Process Areas

Maturity Levels

Specific Practices

Generic Practices

Generic Goals Specific Goals

Hình 1.7: Hướng tiếp cận CMMI theo phân tầng[25]

Hướng tiếp cận mô hình CMMI theo tầng xem con đường phát triển củamột tổ chức phần mềm gồm bước tiến lên từng bậc thang trưởng thành Mỗi bậc thang đòi hỏi

tổ chức phần mềm phải tập trung nguồn lực để đạt được một tập các vùng quy trình nhất định

Trang 25

Initial Managed Defined Quantitatively Managed

Mỗi mức độ trưởng thành bao gồm một số các vùng quy trình được xác định trước, chi tiết các vùng quy trình ứng với các mức độ (level) được thể hiện trong Bảng 1.6 Mức độ trưởng thành được đo bằng việc đạt được các mục tiêu cụ thể (Specific goals) và mục tiêu chung (Generic goals) áp dụng lên các vùng quy trình tương ứng Chi tiết của từng mức độ trưởng thành trong mô hình CMMI như sau[25]:

Cấp độ 1 Initial (Khởi đầu):Những tổ chức sản xuất phần mềm ở mức độ này chưa

có cácthủ tục, quy trình quản lý rõ ràng Họ có thể thành công trong việc phát triển phần mềm, nhưng không thể kiểm soát nổi chất lượng phần mềm, chi phí, thời hạn giao nộp,…

Sự thành công của dự án phụ thuộc nhiều vào những nhân sự giỏi, xuất sắc trong dự án Tất

cả các tổ chức phát triển phần mềm đều được xếp cấp độ 1 (ML1)

Cấp độ 2 Managed (Được quản lý):Mức độ này muốn đề cập đến các tổ chức

sản xuất phần mềmđã có áp dụng quy trình sản xuất,đảm bảo rằng các yêu cầu được quản lý và các quy trình được lên kế hoạch, thực hiện, đo lường và kiểm soát Ở cấpđộ

2, yêu cầu, quy trình, các sản phẩm làm việc và các dịch vụ được quản lý Có thể nhìn thấy tình trạng sản phẩm và cung cấp các dịch vụ quản lý tại các thời điểm xác định, tuy nhiênchưa có mô hình tổng quát của quy trình phát triển phần mềm.Để đạt được cấp độ2 thì doanh nghiệp phải thoả mãn được các SG của 7 vùng quy trình (Từ PA1 đến PA7), và thực hiện các yêu cầu của GG2 của vùng quy trình từ PA1 đến PA7, cụ thể[21]:

Trang 26

ML1 → ML2 = (SGj [ ] ∧ 2 [ ]) (4)

Cấp độ 3 Defined (Được định nghĩa):Những tổ chức ở cấp độ này đã định

nghĩa được tiến trình sản xuất phần mềm cho riêng mình Nhờ đó, có cơ sở cho việc cải tiến chất lượng của tiến trình sản xuất phần mềm Những tổ chức này cũng xác lập được các nguyên tắc để bảo đảm rằng tiến trình phát triển phần mềm của họ được áp dụng cho tất cả các đề án phần mềm Cấp độ này chú trọng đến thiết lập các tiêu chuẩn, thủ tục, công cụ và phương pháp được mô tả đối với dự án được thiết kế từ tiêu chuẩn quy trình của tổ chức cho phù hợp với từng đơn vị dự án.Để đạt được cấp độ3 thì tổ chức phải thoả mãn được các vùng quy trình ở cấp độ 2 và 11 vùng quy trình ở cấp độ 3 theo hướng tiếp cận phân tầng, cụ thể[21]:

ML2 → ML3 = ML1

→ ML2 ∧ GG3 [PAi] ∧ (SGj [PAi] ∧ GG2 [PAi]) (5)

Cấp độ 4 Quatitative Managed (Quản lý định lượng):Những tổ chức phần

mềm ở mức độ trưởng thành này đã định nghĩa được quy trình phát triển phần mềm và

có kế hoạch nghiêm túc để thu thập các dữ liệu định lượng Các độ đo sản phẩm và quy trình được nghiên cứu và ứng dụng vào hoạt động cải tiến tiến trình phát triển phần mềm Cấp độ này là tập trung vào thiết lập quản lý định lượng, quản lý số liệu trong cả quá trình sản xuất phần mềm.Để đạt được cấp độ4phải thoả mãn các vùng quy trình cấp độ 2 và 3 đồng thời thoả mãn 2 vùng quy trình ở cấp độ 4, cụ thể[21]:

ML3 → ML4 = ML2

→ ML3 ∧ GG3 [PAi] ∧ (SGj [PAi] ∧ GG2 [PAi]) (6)

Cấp độ 5 Optimizing (Tối ưu):Đây là những tổ chức mà tiến trình phần mềm

được định nghĩa và cải tiến liên tục Cấp độ này tập trung chú trọng vào cải tiến quy trình liên tục, giúp quy trình đạt được ở mức tối ưu.Để đạt được cấp độ5 thì doanh nghiệp phải thoả mãn các vùng quy trình cấp độ 2, 3, và 4 đồng thời thoả mãn 2 vùng quy trình ở cấp độ 5, cụ thể:

Quản lý cấu hình (Configuration

Trang 27

STT Tên vùng quy trình Viết

tắt ML Lĩnh vực PA2

Đo lường và phân tích (Measurement and

PA3

Đảm bảo quy trình và chất lượng sản phẩm

(Process and Product Quality Assurance) PPQA 2 Support

PA4

Giám sát và kiểm soát dự án (Project

PA5 Lập kế hoạch dự án (Project Planning) PP 2 Project Management

PA6 Quản lý yêu cầu (Requirements Management) REQM 2 Project Management

PA7

Quản lý các điều khoản với nhà cung

cấp(Supplier Agreement Management) SAM 2 Project Management

PA8 Tích hợp sản phẩm (Product Integration) PI 3 Engineering

Kiểm tra tính hữu ích của sản phẩm

PA12

Kiểm tra tính đúng đắn của sản phẩm

PA13

Định nghĩa quy trình của tổ chức

PA14

Tập trung vào quy trình trong tổ

PA15 Đào tạo (Organizational Training) OT 3 Process Management

PA16

Quản lý dự án tích hợp (Integrated Project

PA17 Quản lý rủi ro (Risk Management) RSKM 3 Project Management

PA18

Phân tích và quyết định giải pháp (Decision

PA19

Thực hiện các quy trình của tổ

chức(Organizational Process Performance) OPP 4 Process Management

PA20

Quản lý dự án theo phương pháp định

lượng(Quantitative Project Management) QPM 4 Project Management

PA21

Quản lý hiệu quả của tổ chức (Organizational

PA22

Phân tích nguyên nhân và giải pháp (Causal

1.5.5 Mối quan hệ giữa mức năng lực và mức trưởng thành

Mặc dù có sự trùng lặp về tên gọi giữa mức trưởng thành từ 2 tới 3 so với mức năng lực tương ứng, bản chất giữa chúng có điểm khác nhau cơ bản Mức năng lực (CL) được áp dụng một cách độc lập cho từng vùng quy trình riêng lẻ, trong khi mức trưởngthành (ML) được xác định trên một tập hợp các vùng quy trình được nhóm lại

Trang 28

Ngoài ra, các mục tiêu chung (GG) và các quy tắc thực tiễn chung (GP) cũng được áp dụng khác nhau giữa hai cách tiếp cận theo phân tầng và liên tục Đối với hướng tiếp cận theo tầng, mục tiêu tổng quátvà các quy tắc thực tiễn tổng quát được bao gồm bên trong các vùng quy trình Những vùng quy trình mức trưởng thành 2 sẽ dùng mục tiêu tổng quátcủa mức năng lực 2 (tức GG 2) Các vùng quy trình thuộc mức trưởng thành

từ 3 đến 5 sẽ dùng GG2 và GG 3 Như vậy, GG 1, GG4, GG 5 sẽ không được sử dụng trong mô hình dạng trình bày theo tầng, bởi vì tư tưởng được phát biểu trong GG 4 và

GG 5 đã được thể hiện cụ thể qua các mục tiêu chuyên biệt và các quy tắc thực tiễn của các vùng quy trình trong từng mức trưởng thành[24]

1.6 So sánhmô hình CMMI với ISO 9001

ISO 9001 là một tiêu chuẩn quốc tế về quản lý, các điều khoản gọi là “yêu cầu” quy định những điểm cần phải làm, không chỉ ra việc đó nên làm như thế nào còn CMM/CMMI là một mô hình, cung cấp các hướng dẫn và kinh nghiệm thực tế dùng

để phát triển, cải tiến và đánh giá năng lực của quy trình Cách áp dụng CMM/CMMI tại từng công ty có sự khác nhau phụ thuộc vào hướng tiếp cận và đặc thù của từng công ty ISO bao gồm các quy trình quan trọng của CMM/CMMI, tuy nhiên ISO được dùng cho hầu hết mọi ngành nghề, do vậy không cụ thể và gần gũi với công việc có liên quan đến phần mềm như CMM/CMMI ISO không cung cấp các kinh nghiệm thực tiễn và ví dụ cụ thể như CMM/CMMI, chính vì vậy các doanh nghiệp phần mềm

đang dần chuyển sang áp dụng mô hình CMM/CMMI thay vì ISO như trước đây [17]

1.7 Phương pháp đánh giá SCAMPI

SCAMPI (Standard CMMI Appraisal Method for Process Improvement)[25]là phươngphápđánh giá quá trình cải tiếnchấtlượng theo mô hìnhCMMI.SCAMPI có tất

cả ba cấp độ đánh giá là A, B và C SCAMPIA là mức duy nhất của phương pháp đánh giá SCAMPI để đánh giá được tổ chức đạt mức độ trưởng thành về năng lực (Maturity) hay khả năng (Capability) Đánh giá mức SCAMPI Bcung cấp cho tổ chức biết được tình trạng của mình so với các yêu cầu của CMMI, SCAMPI B là lần đánh giá quan trọng và hữu ích, nó cho biết mình có đủ khả năng để thành công trong SCAMPI A hay không Đối với mức SCAMPI C, mặc dù không mang lại kết quả đánh giá chính xác để thành công với SCAMPI A hay không, nhưng cũng rất hữu ích vì nó cung cấp các thông tin cho tổ chức biết được các thay đổi mang lại sau khi áp dụng CMMI cho tổ chức mình Viện SEI phát hành hai tài liệu hướng dẫn phương pháp đánh giá CMMI bao gồm[4], [25]:

(1) Bộ yêu cầu đánh giá CMMI – Appraisal Requirements for CMMI (ARC), ARC chứa toàn bộ các yêu cầu cho ba cấp độ đánh giá A, B và C

(2) Tài liệu mô tả phương pháp đánh giá SCAMPI – SCAMPI Method Description Document (SCAMPI MDD), tài liệu này mô tả chi tiết phương pháp đánh giá cấp độ A được viện SEI công nhận duy nhất hiện nay đối với mô hình CMMI

Trang 29

Để được cấp giấy chứng nhận đạt CMMI thì cần phải thực hiện đánh giá SCAMPI A, việc đánh giá SCAMPI A là khá tốn kém do đội ngũ chuyên gia đánh giá phải là từ các đơn vị bên ngoài (có thể trong nước hoặc ngoài nước) dưới sự dẫn dắt của đánh giá trưởng người nước ngoài (hiện tại ở Việt Nam chưa có đánh giá trưởng nào được viện SEI uỷ quyền [3]) Do đó, trước khi thực hiện đánh giá SCAMPI A thì doanh nghiệp nên mời một số đơn vị tư vấn để đánh giá SCAMPI B trước.Có một số công ty hoạt động trong lĩnh vực tư vấn đánh đã triển khai tại Việt Nam như ECCI Việt Nam (tư vấn cho công ty CMC, Global Cybersoft, Unitech, Softech, Havey Nash, VNPT Hải Phòng, v.v ), KPMG Ấn độ (tư vấn cho FPT Software, TMA, v.v )

Một số điểm khác nhau giữa các mức độ của phương pháp SCAMPI được trình bày trong Bảng 1.7

Bảng 1.7:So sánh giữa các cấp độ đánh giá của SCAMPI [4]

Nguồn dữ liệu Cần 1 nguồn bất kỳ Cần 2 nguồn, và phải có

Có thể sử dụng các chuyên gia đã được tham gia các khoá đào tạo đánh

1.8 Tình hình áp dụng CMMI tại Việt Nam và nước ngoài

Theo số liệu được công bố trên trang Web của viện SEI,tính đến thời điểm tháng 10/2014,tại Việt Nam có 31công ty đạt được chứng chỉ CMMI Trong đó có 4 doanh nghiệp đạt CMMI ML5 là:CSC Vietnam Ltd, Global CyberSoft (Vietnam) JCS, Luxoft, Toshiba Software Development (Vietnam); Còn lại 26 doanh nghiệp khác đạt chứng chỉ CMMI ML3 và 01 công ty đạt CMMI CL3 là ISB Vietnam Theo số liệu thống kê từ trang Web của viện SEI, với 31 chứng chỉ CMMI Việt Nam hiện đang đứng số 2 trong khu vực về số lượng chứng chỉ CMMI còn hiệu lực, đứng đầu là Thái Lan với 39 chứng chỉ CMMI được ghi nhận còn hiệu lực

Trang 30

Hình 1.9: Biểu đồ so sánh số l

Đông Nam Á

Hình 1.10: Biểu đồ thống k

Nhìn vào biểu đồ tại

doanh nghiệp phần mềm quan tâm hơn th

các doanh nghiệp đạt được tăng đều theo các năm từ 2007 đến 2013

Số lượng chứng chỉ CMMI tại Việt Nam

Nguồn: Thống kê từ https://sas.cmmiinstitute.com

ểu đồ so sánh số lượng chứng chỉ CMMI của các quốc gia trong khu vực

Đông Nam Á còn hiệu lực đến 10/2014

Theo báo cáo của SEI năm 2013

ểu đồ thống kê số lượng chứng chỉ CMMI tại Việt Nam từ năm

2007 – 2013

ểu đồ tại Hình 1.10 có thể thấy mô hình CMMI ngày càng quan tâm hơn thể hiện bằng số lượng chứng chỉ CMMI m

ợc tăng đều theo các năm từ 2007 đến 2013

ố liệu thống kê được tổng hợp trong báo cáo "Maturity Profile

ới nhất năm 2014 (dữ liệu từ 01/01/2007 đến 31/03/2014),

SCAMPI V1.2/V1.3 được đánh giá và báo cáo v

ố liệu thống kê các đánh giá SCAMPI qua các năm (tHình 1.11 cho thấy số lượng đánh giá SCAMPI có xu h

Số lượng chứng chỉ CMMI tại Việt Nam

thống kê theo các năm

https://sas.cmmiinstitute.com/pars ợng chứng chỉ CMMI của các quốc gia trong khu vực

ủa SEI năm 2013

ợng chứng chỉ CMMI tại Việt Nam từ năm

ình CMMI ngày càng được ợng chứng chỉ CMMI mà

Maturity Profile trên thế giới từ

à báo cáo về viện kỹ nghệ qua các năm (từ năm ợng đánh giá SCAMPI có xu hướng

2013

Trang 31

Hình 1.11: Biểu đồ thống k

Theo số liệu thống kê t

tập trung chủ yếu ở hai quốc gia l

số đánh giá được báo cáo Năm 2013

đến năm 2013, với 1.559 đánh giá

phát triển về số lượng chứng chỉ CMMI của Trung Quốc li

năm 2007 đến 2013

Hình 1.12: Biểu đồ thống k

1.9 Một số mô hình cải tiến quy tr

nghiệp vừa và nhỏ trên thế giới

Phương pháp đánh giá

bởi Khoa công nghệ thuộc

1101

0 500 1000 1500 2000

Theo báo cáo của SEI năm 2013

ểu đồ thống kê số lượng chứng chỉ CMMI trên th

từ năm 2007 – 2013

ê tại biểu đồ Hình 1.12cho thấy số lượng các đánh giá đ

ập trung chủ yếu ở hai quốc gia là Trung quốc và Hoa kỳ và chiếm tới 50% tr

ợc báo cáo Năm 2013 có số lượng đánh giá cao nhất trong c

ới 1.559 đánh giá SCAMPI A Qua dữ liệu trên biểu đồ cho thấy sự ợng chứng chỉ CMMI của Trung Quốc liên tục tăng qua các năm

Theo báo cáo của SEI năm 2013

ểu đồ thống kê 10 quốc gia có số chứng chỉ CMMI cao nhất

ải tiến quy trình được đề xuất áp dụng đối với doanh

ế giới

Phương pháp đánh giá EPA (Express Process Appraisal): đư

ộc trường đại học Ulster của Anh Quốc, phương pháp này

1058

2008 2009 2010 2011 2012 2013

Số lượng chứng chỉ CMMI trên thế giới

thống kê theo các năm

Các quốc gia có số lượng chứng chỉ CMMI cao nhất

Trung quốc Mỹ Ấn độ Tây ban nha Nhật bản Hàn Quốc Mehico Braxin

ểu đồ cho thấy sự

ục tăng qua các năm từ

ủa SEI năm 2013

ốc gia có số chứng chỉ CMMI cao nhất

ợc đề xuất áp dụng đối với doanh

được nghiên cứu , phương pháp này 2013

Trang 32

đánh giá 6 trong số 7 vùng quy trình của mô hình CMMI cấp độ 2 [14], bao gồm: (1) Requirements Management

(2) Configuration Management

(3) Project Planning

(4) Project Monitoring and Control (5) Measurement and Analysis (6) Process and Product Quality Assurance

Mô hình ADEPT[11], đây là phương pháp đánh giá thống nhất cho các công ty

phần mềm nhỏ và được đề xuất áp dụng tại Ai len, ADEPT là mô hình dựa trên các vùng quy trình của CMMI, bao gồm:

(1) Requirement Management

(2) Configuration Management

(3) Project Planning

(4) Project Monitoring and Control

(5) Measurement and Analysis

(6) Process and Product Quality

Assurance

(7) Risk Management (8) Technical Solution (9) Verification (10) Validation (11) Requirement Development (12) Product Integration

Mô hình MPS.BR [5], được đề xuất áp dụng cho doanh nghiệp vừa và nhỏ tại

Bra-xin để cải tiến quy trình phát triển, mô hình này là sự kết hợp giữa các vùng quy trình của CMMI với các quy trình của tiêu chuẩn ISO 12207, bao gồm:

(1) Organizational Innovation and

(14) Process Establishment (15) Process Assessment and Improvement

(16) A Tailoring process for project management

(17) Configuration management (18) Quality Assurance

(19) Acquisition (20) Measurement (21) Project management (22) Requirement Management

Organizations)[5],là mô hình sử dụng cho việc cải tiến quy trình tại các doanh nghiệp nhỏ của Thụy điển Mô hình SPISO được thiết kế dựa trên các mô hình SW-CMM, CMMI V1.1, và tiêu chuẩn ISO 9001:2000, bao gồm các quy trình:

Trang 33

(17) Organizational Process Definition (18) Risk Management

Mô hình CMM Fast-Track (CMM FT)[14], mô hình này được thiết kế dựa trên

mô hình CMMI 1.2 cho các công ty phần mềm vừa và nhỏ ở Hồng Kông theo dõi các

nỗ lực cải tiến quy trình và chất lượng của họ, mô hình CMM FT gồm các vùng quy trình sau:

(5) Measurement and Analysis

(6) Organizational Process Focus

(7) Organizational Process Definition

(8) Technical Solution

(9) Product Integration

(10) Project Planning

(11) Project Monitoring and Control

(12) Integrated Project Management (13) Risk Management

(14) Process and Product Quality Assurance

(15) Requirement Development (16) Requirement Management (17) Supplier Agreement Management (18) Integrated Supplier Management (19) Organizational Training

(20) Validation (21) Verification

Mô hình SPIMO[28], được thiết kế dựa trên mô hình CMMI để áp dụng cho

các công ty gia công phần mềm, mô hình SPIMO bao gồm các vùng quy trình sau:

(1) Requirement Management

(2) Project Planning

(3) Project Monitoring and Control

(4) Process and Product Quality Assurance

(5) Configuration Management (6) Risk Management

Trang 34

CHƯƠNG 2

KINH NGHIỆM ÁP DỤNG CMM/CMMI TẠI VIỆT NAM

VÀ NƯỚC NGOÀI 2.1 Kinh nghiệm áp dụng tại một số công ty tại Việt Nam

2.1.1 Kinh nghiệm áp dụng tại FPT SOFTWARE (FSOFT)

Công ty phần mềm FPT (FSOFT) được thành lập từ tháng 01/1999, hoạt động trong lĩnh vực gia công xuất khẩu phần mềm của Việt Nam Hiện nay, FSOFT là một trong những công ty hàng đầu về lĩnh vực phát triển phần mềm tại Việt Nam.FSOFT

ký hợp đồng tư vấn với công ty tư vấn KPMG của Ấn Độ, chính thức triển khai áp dụng CMM/CMMI từ tháng 01/2001.Tháng 03/2004 đạt chứng chỉ CMM5, đến tháng 05/2006, FSOFT đạt chứng chỉ CMMIcấp độ 5, tại thời điểm năm 2006 số lượng nhân

sự FSOFT khoảng 1.700 người [Sử ký FPT 2008; Báo cáo thường niên 2008]

Một số bài học thực tiễn trong quá trình triển khai CMMI tại FSOFT[1]:

 Cam kết của lãnh đạo

 Chuẩn bị nguồn vốn và nhân lực đủ mạnh

 Phát triển, trưởng thành về nhân lực

 Ngoại ngữ là một vấn đề quan trọng

 Phát triển trưởng thành về quản lý, tổ chức cấu trúc dự án

 Biến chỉ tiêu chất lượng thành văn hóa

 Các công cụ hiệu quả:Hệ thống phần mềm FMS (FSOFT Management Suite) của công ty được xây dựng nhằm đáp ứng nhu cầu quản lý chất lượng theo chuẩn CMMI, hệ thống bao gồm các công cụ[1]:

 DMS (Defect Management Systems):Dùng để quản lý lỗi,đưa ra các báo cáo phục vụ nhu cầu phân tích, đánh giá của dự án

 Timesheet: Dùng để quản lý thời gian làm việc của nhân viên trong công ty, tính công thực tế của từng dự án giúp cho việc tổng hợp báo cáo trên FSOFT Insight

 FSOFT Insight: Dùng để hỗ trợ quản lý kế hoạch, lịch trình, vấn

đề rủi ro, nguồn lực của dự án, quản trị dự án trên nguyên tắc định lượng hoàn toàn, là một trong những vũ khí quan trọng nhất giúp công ty đạt được chứng chỉ CMMI cấp độ 5

 NCMS: Dùng để quản lý các khiếu nại của khách hàng và các vi phạm quy trình, hỗ trợ quản lý các vấn đề không phù hợp với hệ thống quản lý

 Dashboard: Dùng để đo mức độ hoàn thành của các dự án, hỗ trợ quản lý cấp cao có thể xem được tổng quan về trạng thái tiến trình

Trang 35

đó, công ty cũng đưa ra các quy định thưởng/phạt đối với các dự án tuân thủ/không tuân thủ quy trình quy định đã đề ra Để đảm bảo chất lượng cho dự án thì một cán bộ

QA được phân công phụ trách tối đa là 3 dự án; tỷ lệ cán bộ QA chiếm ít nhất 5% tổng

số lượng nhân sự trong dự án

2.1.2 Kinh nghiệm áp dụng tại công ty PSV

Paragon Solutions Việt Nam (PSV) chi nhánh của tập đoàn First Consulting Group (FCG) là một trong những công ty tiên phong trong lĩnh vựcCông nghệ thông tin chuyên cung cấp các dịch vụ ứng dụng, tư vấn và triển khai SAP ERP và các dịch

vụ Công nghệ thông tin PSV được thành lập từ năm 1995, số lượng nhân viên tại thời điểm đạt chứng chỉ CMMI cấp 5 vào khoảng 500 nhân viên Ngày 25/01/2005, PSV công bố đã trở thành công ty đầu tiên của Việt Nam đạt chuẩn CMMI cấp 5- cấp cao nhất về quy trình quản lý chất lượng phát triển phần mềm của Viện Kỹ Nghệ Phần Mềm Mỹ SEI

Các cột mốc quá trình cải tiến quy trình sản xuất phần mềmtại công ty[4]:

 Từ đầu năm 1999: Nghiên cứu áp dụngRational Unified Process (RUP)

Bộ phận Quản lý quy trình (SEPG):Giữ vai trò quản lý toàn bộ quá trình cải

tiến quy trình sản xuất phần mềm của công ty:Xây dựng các quy trình sản xuất phần mềm đặc thù cho công ty Phối hợp các phòng/ban khác (SQA, các nhóm phát triển phần mềm, ) để thử nghiệm, áp dụng các quy trình đã xây dựng, đo lường, đánh giá

và cải tiến liên tục các quy trình Dựa trên các kế hoạch, cácmụctiêukinhdoanhcủacôngty,SEPGsẽxácđịnhcáctiêuchíchất lượng, ví dụ: năng

ty.SEPGbaogồmcácthànhviêntoànthờigianhoặcbánthờigian.Sốlượng

nhânviêntoànthờigianchiếmkhoảng1%trêntổngsốkỹsư.TạiPSV, trưởng nhóm SEPG được xem như một thành viên ban lãnh đạo, do đó có đủ quyền hạn để quyết định kế hoạch và phân công công việc trong phạm vi toàn công ty

Ngày đăng: 10/05/2015, 17:56

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w