TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế
Tập 13, Số 1 (2018)
MÔ HÌNH ĐẢM BẢO CHẤT LƢỢNG PHẦN MỀM CHO DOANH NGHIỆP NHỎ VÀ VỪA
Nguyễn Thị Uyên Nhi H n T n Đứ Đ n n , Nguyễn Mậu Hân
Trường Đại học Khoa học, Đại học Huế
Email: ntunhi@sgu.edu.vn, huynhduc68@gmail.com,
dangcongquoc1968@gmail.com, nmhan2009@gmail.com
Ngày nhận bài: 19/7/2018; ngày hoàn thành phản biện: 6/12/2018; ngày duyệt đăng: 10/12/2018
TÓM TẮT
Trong những năm gần đ}y, phần lớn các phần mềm đều được gia công và phát
triển bởi các doanh nghiệp nhỏ và vừa (DNNVV). Tuy nhiên, các doanh nghiệp
này thường gặp khó khăn về chi phí v| đ{p ứng nguồn lực để triển khai các mô
hình đảm bảo chất lượng phần mềm như CMM/CMMI, SPICE, ISO DNNVV không có khả năng cạnh tranh với các doanh nghiệp lớn có sử dụng mô hình đảm bảo chất lượng phần mềm. Để giải quyết vấn đề này, bài báo trình bày các yếu tố để đạt được thành công khi thực hiện mô hình đảm bảo chất lượng phần mềm, cũng như tìm hiểu các mô hình phù hợp với khả năng v| năng lực của DNNVV. Từ đó, đưa ra c{c lợi ích, hạn chế và các so sánh của c{c mô hình đảm bảo chất lượng phần mềm này, giúp cho các DNNVV có những lựa chọn thích hợp nhất cho doanh nghiệp của mình. Từ kho{: Đảm bảo chất lượng phần mềm, DNNVV, mô hình. 1. GIỚI THIỆU 33 Đảm bảo chất lượng phần mềm (ĐBCLPM) luôn là vấn đề h|ng đầu mà các
doanh nghiệp phát triển CNTT hướng tới, nhằm cung cấp cho khách hàng những sản
phẩm có chất lượng tốt nhất. Đảm bảo chất lượng phần mềm (Software Quality
Assurance - SQA) không chỉ phụ thuộc vào kế hoạch chất lượng mà còn phụ thuộc vào
quản lý chất lượng. Chất lượng sản phẩm được đặc trưng bởi khả năng t{i sử dụng,
tính di động, độ tin cậy, khả năng quản lý, tính linh hoạt và khả năng sử dụng [9][11].
Đảm bảo chất lượng phần mềm, không phải l| phương ph{p tối ưu duy nhất, nhưng
nó sẽ yêu cầu sự kết hợp của nhiều phương ph{p để sản xuất ra sản phẩm có chất
lượng, minh hoạ bởi hình 1. Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa Lịch trình Giá cả Tính
năng Chất lượng Chất lượng Đảm bảo
chất lượng Có nhiều mô hình đảm bảo chất lượng phần mềm, ví dụ như mô hình CMM,
quá trình cải tiến quy trình phần mềm (SPICE) và tiêu chuẩn ISO 9000 theo Tiêu chuẩn
hoá Quốc tế [2]. Các mô hình này cung cấp các mẫu chất lượng mà doanh nghiệp nên
thực hiện để cải tiến quá trình phát triển phần mềm, nhưng khó thực hiện trong các
DNNVV vì chi phí thực hiện các mô hình chất lượng phần mềm v| c{c chương trình
cải tiến phần mềm khá cao. Việc triển khai đúng kỹ thuật phần mềm là một nhiệm vụ
khó khăn cho c{c DNNVV nhỏ vì họ hoạt động với nguồn lực hạn chế và với những
ràng buộc về thời gian nghiêm ngặt. Vì vậy yêu cầu đặt ra là cần phải có những mô
hình đảm bảo chất lượng phần mềm đạt được các tiêu chuẩn chất lượng quốc tế,
nhưng vẫn đ{p ứng được những vấn đề của các DNNVV. Bài báo sẽ tìm hiểu quy trình triển khai thành công SQA trên các mô hình đảm
bảo chất lượng phần mềm dành cho DNNVV, từ đó đưa ra lợi ích, hạn chế và các so
sánh của các mô hình này. Tiếp theo phần 2 nêu c{c c{ch để thực hiện SQA trong
DNNVV. Phần 3 trình bày các mô hình SQA cho DNNVV, nêu lợi ích, hạn chế của các
mô hình. Phần 4 b|i b{o đưa ra c{c lĩnh vực so sánh của ba mô hình được tìm hiểu ở
trên. Phần 5 kết luận v| c{c định hướng nghiên cứu trong tương lai. 2. THỰC HIỆN SQA TRONG DOANH NGHIỆP NHỎ VÀ VỪA 2.1. DNNVV và SQA 34 Doanh nghiệp nhỏ và vừa là những doanh nghiệp có quy mô nhỏ bé về
mặt vốn, lao động hay doanh thu. DNNVV giữ những vai trò với mức độ khác nhau
như: ổn định nền kinh tế, tạo ra việc l|m đ{ng kể, làm cho nên kinh tế năng động, trở
thành trụ cột của kinh tế địa phương, đóng góp không nhỏ vào giá trị GDP cho quốc
gia. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) Để thực hiện hiệu quả SQA đối với các dự án trong c{c DNNVV đặt ra nhiều
thách thức v| khó khăn. Những doanh nghiệp này luôn đối mặt với những vấn đề [6]
như: Khó khăn trong việc tạo ra quy trình, thủ tục, tài liệu đ|o tạo. Do nguồn kinh phí hạn hẹp, các dự án nhỏ của các DNNVV sẽ không được
sử dụng các mô hình để đảm bảo chất lượng phần mềm một cách hợp lý. Do đội ngũ ph{t triển dự án nhỏ nên các thành viên thực hiện nhiều vai trò trong dự án. Để ĐBCLPM có hiệu quả, DNNVV phải có quy trình, thủ tục và tiêu chuẩn. Các
quy trình này phải được truyền đạt đến DNNVV theo nhiều c{ch, được cải tiến theo
thời gian v| được hiện thực hóa. 2.2. Các yếu tổ để thực hiện thành công SQA Để triển khai thành công SQA cho DNNVV, Schulmeyer Gordon và nhóm cộng sự [1] đã đề xuất c{c phương {n như: o Thuê hoặc tuyển dụng các kỹ sư có chất lượng, đủ kinh nghiệm để điều khiển dự án. o Xây dựng một kế hoạch SQA chung có thể dễ dàng thiết kế cho các nhu cầu cụ thể của dự án/ sản phẩm [2]. o Phân tích rủi ro của dự án và sản phẩm để x{c định chiến lược SQA hiệu quả nhất: o Tìm kiếm các mô hình SQA phù hợp với chi phí và hoạt động của DNNVV. Các giá trị mang lại của SQA: o Đ|o tạo: Sự đ|o tạo về mô tả công việc là hoạt động không thể thiếu
cho tất cả các nguồn nhân lực của công ty, đảm bảo sản phẩm đươc tạo
ra đúng theo quy trình v| kế hoạch đã đề ra, đảm bảo sản phẩm đầu ra
đạt chất lượng cao, o Đ{nh gi{ chất lượng: Là hoạt động được tổ chức theo định kỳ hoặc
theo một kế hoạch rà soát hoạt động của dự án. Nhằm kiểm tra, ghi
nhận c{c điểm chưa phù hợp hoặc phát hiện lỗi vi phạm quy trình đã
được công ty quy định v| đ|o tạo trước đó. 35 o Cải tiến chất lượng: Quy trình và các mô hình SQA sẽ được cải tiến
h|ng năm hoặc theo khung thời gian nhất định nhằm phù hợp với sự
phát triển của công ty. Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa Quy trình
xác định Đánh giá Kiểm tra
chất
lượng Hoạt
động đào
tạo Xác định
và lựa
chọn các
công cụ 3. Á PHƢƠNG PHÁP ĐẢM BẢO CHẤT LƢỢNG PHẦN MỀM CHO DOANH NGHIỆP NHỎ VÀ VỪA 3.1. P ƣơn p áp cải thiện chất lƣợng phần mềm cho các DNNVV (Software Quality
Improvement Model for Small Organisations - SQIMSO) SQIMSO xử lý cấu trúc mô hình dựa trên cơ cấu quy trình SPICE để phù hợp
với thực tiễn của các DNNVV phần mềm nhỏ. Trong SQIMSO, ba vấn đề quan trọng
sau đ}y được xem xét [5]: Cần phải cải tiến bao gồm ba yếu tố chính: chất lượng quá trình, chất lượng sản phẩm, và quản lý nguồn nhân lực. Bất kỳ mô hình đảm bảo chất lượng phần mềm nào, quá trình thực hiện cũng phải trả lời câu hỏi 'Làm thế n|o để làm?' Bất kỳ mô hình đảm bảo chất lượng phần mềm được đề xuất n|o cũng cần
được thực hiện bởi các doanh nghiệp phần mềm nhỏ để tiết kiệm chi phí và
thời gian. 36 SQIMSO thảo luận về chiến lược cải tiến chất lượng từ ba chiều: quy trình,
năng lực v| phương ph{p. Quy trình phần mềm được định nghĩa như l| một môi
trường của các tài nguyên, có thể quản lý một dãy các hoạt động để phát triển một sản
phẩm phần mềm phù hợp với yêu cầu của khách hàng. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) Khả năng quy trình được định nghĩa l| phạm vi của các kết quả mong đợi có
thể đạt được bằng cách làm theo quy trình hoặc khả năng của một quy trình để đạt
được một mục tiêu yêu cầu. Đo lường này giúp ban quản lý DNNVV phát triển chiến
lược cải tiến chất lượng thích hợp. Các mức độ năng lực và sự trưởng thành sẽ được sử
dụng làm công cụ đo lường để x{c định tình trạng hiện tại của môi trường làm việc. Đi
từ cấp n|y đến cấp khác sẽ dẫn dắt DNNVV đạt được kết quả chất lượng tốt hơn. Một
khi phương ph{p được lựa chọn v| x{c định, vai trò của c{c nhóm đảm bảo chất lượng
l| để kiểm soát việc thực hiện c{c phương ph{p v| để đ{nh gi{, báo cáo bất kỳ thiếu
sót nào. 3.2. P ƣơn p áp tự chẩn đoán ất lƣợng phần mềm 37 Phương ph{p tự chẩn đo{n chất lượng phần mềm dựa trên các khái niệm, mục
tiêu và hoạt động của mô hình trưởng th|nh năng lực CMM (Capability Maturity
Model) [4][6][7][8], có thể được sử dụng bởi một DNNVV. 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. Mô hình CMM thường không được sử dụng cho dự
án nhỏ do chi phí thực hiện cao. Tuy nhiên phương ph{p tự chẩn đo{n chất lượng
phần mềm có thể tạo ra một chẩn đo{n đơn giản, hoặc giúp tạo ra một kế hoạch hành
động. Phương ph{p n|y đã điều chỉnh CMM cho các DNNVV bằng cách bổ sung thêm
một số bảng câu hỏi để giúp các doanh nghiệp này hiểu được tình trạng hiện tại của họ
và tìm ra những lĩnh vực để cải tiến. Với sự giúp đỡ của các bảng câu hỏi này, các Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa DNNVV có thể sử dụng CMM. Để thu thập thông tin liên quan đến các quy trình hiện
tại của DNNVV, các nhà nghiên cứu đã tạo ra ba bảng câu hỏi [5][7]: Bảng câu hỏi kết thúc dài hạn (Extended Maturity Questionnaire - EMQ) Ma trận mục tiêu, hoạt động và trách nhiệm (Goals, Activities, and Responsibilities - GAR) Bảng câu hỏi trực tiếp. 3.2.1 Bản câu hỏi kết thúc mở rộng EMQ Bắt đầu Trả lời 1 Câu hỏi Hoạt
động A Nhiệm
vụ Nhiệm
vụ Hoạt
động Trả lời 2 Yes Câu hỏi Nhiệm
vụ Nhiệm
vụ Nhiệm
vụ No Nhiệm
vụ EMQ dựa trên bảng câu hỏi về trưởng thành do SEI xây dựng [7]. Bảng câu hỏi
này bao gồm một số câu hỏi về vùng quy trình quan trọng (Key Process Area – KPA)
cụ thể cho phép YES, NO, tôi KHÔNG BIẾT, hoặc KHÔNG ĐƯỢC ÁP DỤNG. Việc áp
dụng trực tiếp bản câu hỏi về trưởng thành trong các DNNVV dẫn đến một phần lớn
các câu hỏi được trả lời bằng 'KHÔNG', lý do chính cho xu hướng này là nhiều mục
tiêu được đề xuất trong bảng câu hỏi chỉ đạt được một phần. Do đó, EMQ được các
nhà nghiên cứu sửa đổi, cho phép YES, NO, hoặc PARTIALLY (để mô tả các mục tiêu
không đầy đủ), được thể hiện trong hình 5. Mục đích của EMQ l| hướng dẫn người
quản trị hệ thống của một DNNVV để họ có thể trả lời các câu hỏi theo cách phản ánh
chính x{c hơn tình trạng của doanh nghiệp. 3.2.2 Ma trận Mục tiêu, Hoạt động và Trách nhiệm (GAR) 38 Sự thành công của một mô hình dựa trên CMM phụ thuộc vào việc hoàn thành
các mục tiêu và cam kết nhất định cho mỗi KPA [7]. Các mục tiêu này bao gồm đo TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) lường, tài liệu, đ{nh gi{, v| c{c hoạt động xác nhận cho đảm bảo chất lượng phần
mềm. Việc thu thập và giải thích số lượng thông tin này là một quá trình lâu dài và khó
khăn. Để tạo điều kiện cho các quản trị viên phần mềm, một ma trận được đề xuất. Ma
trận này bao gồm mối quan hệ giữa khả năng (c{c biến), các hoạt động, mục tiêu và
cam kết (mục tiêu đạt được trong mỗi KPA), cũng như c{c c{ nh}n có tr{ch nhiệm
(khách hàng, nhà phân tích yêu cầu, nhóm, người quản lý, nhóm đảm bảo chất lượng)
cho mỗi KPA. Ma trận n|y được sử dụng như một sự kiểm so{t trong vòng đời của dự
án, nó không chỉ là một chẩn đo{n về chất lượng của dự {n m| còn l| hướng dẫn hành
động giúp quản lý dự án khắc phục những thiếu sót v| đạt được các mục tiêu theo yêu
cầu KPA, do đó cung cấp một cải tiến trong quá trình tổng thể. 39 GAR có thể được tự động hóa bằng một hệ thống chuyên gia, bằng cách chuyển
đổi các mối quan hệ giữa các luật lệ, trách nhiệm và các hoạt động vào các quy tắc suy
luận có thể được kích hoạt bởi một cơ sở tri thức bao gồm các câu trả lời cho các câu
hỏi bên trong ma trận. Hệ thống chuyên gia có thể giúp một kiểm toán viên nội bộ
hoặc bên ngo|i đ{nh gi{ sự trưởng thành của các quá trình phát triển, bằng cách xác
định mức độ hài lòng của mỗi KPA theo CMM. Bằng cách này, chúng ta có thể có được
đ{nh gi{ về tình trạng của DNNVV. Mô hình CMM ban đầu được thể hiện như một
văn bản, GAR cung cấp một biểu diễn trực quan, giúp đơn giản hóa việc hiểu được
lượng thông tin cần thiết cho việc đ{nh gi{ c{c mục tiêu. Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa 3.2.3 Bảng hỏi trực tiếp Định dạng cuối cùng của Phương ph{p tự Chẩn đoán là một bảng hỏi trực tiếp
mà một kiểm toán viên chính có thể xây dựng dựa trên cơ sở tri thức. Bảng câu hỏi này
có bản chất của bản câu hỏi gốc ban đầu từ CMM, nhưng trong trường hợp này mỗi
câu hỏi mới được tạo ra dựa trên câu trả lời cho các câu hỏi trước. Vì vậy, một câu hỏi
mới có thể được hướng dẫn để bổ sung cho c{c thông tin thu được trước đó, hoặc để
xác nhận thông tin đó, những câu hỏi dư thừa sẽ bị bỏ đi. 3.2.4 Đ{nh gi{ kết quả tự chẩn đo{n Các kết quả thu được từ các câu trả lời cho bảng câu hỏi cơ bản: Các quy trình
chính mà CMM yêu cầu đạt được mức độ nào? Đối với mỗi KPA, có bốn câu trả lời có
thể: KPA hoặc l| ho|n to|n đạt được, một phần đạt được, không đạt được, hoặc nó
không áp dụng. C{c KPAs đạt được một phần hoặc không đạt được là những lĩnh vực
có cơ hội cải thiện. V| đó phải là một phần của kế hoạch h|nh động. 3.3 Mô hình Ma trận quy trình phần mềm (Software Process Matrix - SPM) Mô hình SPM [10][5] dựa trên triển khai chức năng chất lượng (Quality
Function Deployment - QFD). Mô hình này giúp DNNVV trong việc tìm kiếm tầm
quan trọng tương đối của các quy trình phần mềm. Đối với c{c quy trình ưu tiên cao,
các thực tiễn cần phải làm việc được x{c định bởi ma trận quy trình phần mềm (SPM).
SPM hoàn chỉnh cung cấp cho DNNVV một danh s{ch c{c h|nh động được xếp hạng,
có thể được nhập vào chiến lược cải tiến quy trình phần mềm của họ. Mô hình SPM có
thể được sử dụng để thiết lập một chiến lược cải tiến dựa trên QFD. Để thu thập và
duy trì tiếng nói của khách hàng trong suốt vòng đời sản xuất, QFD sử dụng hàng loạt
ma trận chuyển đổi tiếng nói của khách hàng thành sản phẩm cuối cùng. Ban đầu, 'tiếng nói của kh{ch h|ng' được thu thập, và tầm quan trọng tương
đối của mỗi yêu cầu của kh{ch h|ng được đo lường. Mặc dù QFD bao gồm nhiều ma
trận, trọng t}m chính thường là ma trận này, vì sử dụng nó một mình có thể có ảnh
hưởng đ{ng kể đến quá trình phát triển sản phẩm. Ma trận thường được chia thành
sáu phần: Yêu cầu của khách hàng Đặc điểm thiết kế Tầm quan trọng tổng thể của yêu cầu của khách hàng Mối quan hệ giữa các yêu cầu của kh{ch h|ng v| đặc điểm thiết kế Tầm quan trọng của đặc điểm thiết kế 40 Tương quan giữa c{c đặc tính thiết kế. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) Một phần quan trọng của sự phát triển ma trận xử lý phần mềm l| x{c định các
mối quan hệ giữa các quá trình và thực tiễn. Sử dụng ý kiến chuyên gia và các kỹ thuật
thống kê khác nhau, các mối quan hệ khác giữa các quá trình và thực tiễn đã được xác
định, dẫn đến sự phát triển và xác minh ma trận quá trình phần mềm. C{c ưu tiên
được đưa v|o trong kế hoạch h|nh động cải tiến qui trình phần mềm được thiết lập và
có thể giúp DNNVV x{c định chiến lược cải tiến của họ. SPM hoàn chỉnh cung cấp cho
DNNVV một danh sách xếp hạng c{c h|nh động có thể được nhập vào chiến lược cải
tiến quy trình phần mềm của họ. Danh sách xếp hạng này có thể được kết hợp với số
liệu chi phí và tính toán hiệu quả theo thời gian, các yếu tố này x{c định kế hoạch hành
động cho DNNVV. 3.4. Ƣ khuyết điểm á p ƣơn p áp đảm bảo chất lƣợng phần mềm cho DNNVV: Mô hình Lợi ích Hạn chế - SQIMSO cung cấp một khuôn khổ
thực tế, nâng cao chất lượng sản
phẩm phần mềm. - Tiết kiệm chi phí và thời gian SQIMSO - Cải tiến liên tục các giá trị phần mềm - Không mong đợi từ người
học viên kiến thức về các
tiêu chuẩn quốc tế hay thực
tiễn về các mô hình chất
lượng, và sự trưởng thành
không bắt buộc. 41 - Nâng cao tầm quan trọng của làm
việc theo nhóm và phân công trách - Nhân lực phát triển phần
mềm có thể bổ sung, sửa Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa nhiệm công việc. - Nhấn mạnh việc trao quyền cho nhân
viên với kiến thức và kỹ năng cần
thiết đổi các mô hình đề xuất.
Điều này có thể dẫn đến
việc sử dụng sai mô hình,
dẫn đến việc không đạt tiêu
chuẩn mô hình. - Nhấn mạnh l|m tăng thêm gi{ trị cho
người lao động cũng như quy trình
phần mềm và sản phẩm - Áp dụng các bảng câu hỏi cho dự án
cung cấp một ph}n tích định lượng,
x{c định c{c lĩnh vực cải tiến và cung
cấp, đề xuất các kế hoạch cải tiến - Nhiều câu hỏi đặt ra có thể
không mang lại hiệu quả
cao do nó phụ thuộc vào
kinh nghiệm của kiểm toán
viên và tình trạng chung
của tổ chức. - Giảm chí phí cho DNNVV khi đ{nh
giá các quá trình của họ trước khi
đưa v|o thực tiễn Phương
pháp tự
chẩn
đo{n
chất
lượng
phần
mềm - Phương ph{p n|y có thể tạo ra một
chẩn đo{n đơn giản và giúp tạo ra
một kế hoạch h|nh động. - Cải thiện sự hài lòng của khách hàng - Không có hướng dẫn tự đ{nh gi{ - Cải thiện mục tiêu kinh doanh của công ty - Cần có kinh nghiệm đ{ng
kể từ người thực hành SPM - Đề xuất những cải tiến có hiệu quả
tối đa trong thời gian ngắn nhất có
thể - Cung cấp suất hoàn vốn đầu tư nhanh (ROI) - Tăng tính cạnh tranh, linh hoạt 4. Á MÔ HÌNH ĐẢM BẢO CHẤT LƢỢNG CHO DNNV 4.1. Thực trạng về đảm bảo chất lƣợng cho DNNVV 42 Khi nói đến mô hình quản trị chất lượng trong các công ty phần mềm, trong
chuyên môn thường nghĩ đến tiêu chuẩn ISO 9001 và mô hình CMM/CMMi. Trong bối
cảnh hội nhập kinh tế toàn cầu, mô hình CMMi được chú ý nhiều hơn. Tuy nhiên, số
lượng doanh nghiệptại thị trường Việt Nam đạt được các mức độ trưởng thành của
CMMi trong thực tế lại không nhiều. TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) CMMi có thể áp dụng cho các tổ chức ở mọi mức độ và quy mô, tuy nhiên
trong môi trường thực tế ở Việt Nam, phần lớn các doanh nghiệp phần mềm còn nhỏ
và non trẻ, việc triển khai th|nh công CMMi l| điều không dễ dàng. Có rất nhiều trở
ngại khiến các doanh nghiệp không thành công với CMMi, nguyên nhân chính là : – CMMi không bàn trực tiếp về chất lượng như ISO, m| nó liên quan đến năng
lực v| độ trưởng thành của một tổ chức. Với những tổ chức còn nhỏ, yếu, độ trưởng
th|nh chưa có, đ}y là một rào cản mang tính quyết định. Vấn đề chủ yếu l| con người
v| đội ngũ chứ không đơn giản chỉ là kỹ thuật và quy trình. – CMMi bản thân nó là một mô hình khá phức tạp và không dễ áp dụng. Với 22
vùng quy trình (process areas), h|ng trăm kinh nghiệm thực hành (practices) và hàng
ngàn kinh nghiệm đơn vị (subpractices) trải rộng trong hàng ngàn trang và nhiều mô
hình khác nhau, so với ISO 9001 chỉ có t{m đề mục, trong vài chục trang, rõ ràng
CMMi không phải là một mô hình có thể áp dụng, đặc biệt cho doanh nghiệp nhỏ. – Dù khá phức tạp và trải rộng trong nhiều thao tác ở nhiều cấp độ, CMMi chủ
yếu vẫn cung cấp những thực hành nhằm đ{p ứng cho việc bảo đảm sự thành công
cấp dự án. Thực tế cho thấy, thành công của dự án không thể tách rời với các hoạt
động khác trong tổ chức như tiếp thị, quản trị, tài chính, bảo mật thông tin, khách
h|ng< Rõ r|ng ở điểm này, CMMi có vẻ vẫn ‚chưa đủ‛. – Việc theo đuổi CMMi cần thời gian d|i, thông thường phải mất 1-2 năm cho
một mức độ ; chi phí đầu tư kh{ tốn kém, trong nhiều trường hợp l| vượt quá mức
chịu đựng của các doanh nghiệp nhỏ. Những trở ngại nói trên, với những doanh nghiệp lớn, có quá trình hoạt động
và tiềm lực mạnh, việc giải quyết có vẻ dễ d|ng hơn so với những doanh nghiệp nhỏ
và tiềm lực chưa đủ mạnh. Nói cách kh{c, CMMi chưa hẳn là một lựa chọn phù hợp
cho đặc thù các doanh nghiệp phần mềm nhỏ và vừa của Việt Nam. 4.2. á m ìn đảm bảo chất lƣợng cho DNNVV a. Phát triển l p: Là một kiểu phát triển phần mềm mà chu trình sống của phần mềm được chia thành các vòng lặp liên tiếp nhau [3]. 43 Mỗi vòng lặp đều gồm c{c bước phân tích yêu cầu, thiết kế, phát triển, tích hợp
(có thể ban đầu chúng ta chưa cần thực hiện bước này), kiểm thử và vận hành, chuyển
giao cho khách hàng sử dụng và nhận phản hồi. Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa Phân tích
và thiết kế Yêu cầu Thực hiện Lập kế
hoạch Kế hoạch
ban đầu Phát triển Đ{nh gi{ Thử nghiệm Điểm khác biệt so với những mô hình cổ điển (water fall, V model<) tiết kiệm nhiều thời gian và chi phí. Ban đầu yêu cầu cùa khách hàng không phải lúc n|o cũng rõ r|n. Thay vì
bỏ ra 1 khoảng thời gian để x{c định hết yêu cầu của khách hàng, chúng ta
có thể phát triển dần dần, từ từ hiểu yêu cầu của khách hàng. Khi áp dụng
phát triển lặp, đối với kh{ch h|ng đó l| điều tốt vì nó l|m tăng độ tin cậy
của kh{ch h|ng đối với sản phẩm. Khách hàng có thể thay đổi yêu cầu bất cứ lúc nào, và phát triển lặp được đưa ra để đ{p ứng việc này. Trở ngại lớn nhất của phát triển lặp đó l| việc ước lượng, định giá cho dự
án, bởi vì chúng ta sẽ không có yêu cầu từ đầu, do đó cũng sẽ không có thiết
kế ngay từ đầu. Ở những vòng lập đầu tiên, việc ước lượng có thể cho sai số
gấp 3 lần bình thường. Nhưng c|ng về sau, sai số sẽ ngày càng nhỏ đi. b. Agile Development: Agile là một mô hình phát triển phần mềm kế thừa từ phát triển lặp. 44 Quá trình vận hành Agile: Đầu tiên là phải x{c định vấn đề phải giải quyết cho
phần mềm, sau đó đưa ra c{c kh{i niệm, ý tưởng để giải quyết vấn đề đó. Tiếp theo,
chúng ta đưa ra chứng minh cho khách hàng xem là ta có thể thực hiện được (proof of
concept) – không nên thiên về kỹ thuật, nên hướng về phần nghiệp vụ nhiều hơn. Đ}y
l| bước quan trọng, bắt buộc khi phát triển theo Agile. Sau khi 2 bên đã đồng ý và ký
kết hợp đồng xong, chúng ta sẽ bắt đầu đi v|o quy trình ph{t triển phần mềm. Quy TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) trình phát triển phần mềm trong Agile tương tự như khi ph{t triển lặp, nhưng không
hoàn toàn là phát triển lặp. c. Scrum: Scrum là một khung làm việc trong đó con người có thể x{c định các vấn đề
thích nghi phức hợp, trong khi vẫn giữ được năng suất và sáng tạo để chuyển giao các
sản phẩm có giá trị cao nhất [1]. Scrum là khung làm việc đã được sử dụng để quản lý quá trình phát triển các
sản phẩm phức tạp từ đầu những năm 1990. Scrum không phải là một quy trình hay
một kĩ thuật cụ thể để xây dựng sản phẩm hơn thế, nó là một khung làm việc cho phép
bạn sử dụng nhiều quy trình v| kĩ thuật khác nhau. Scrum làm sáng rõ mức độ hiệu
quả tương đối của công tác quản lý và phát triển sản phẩm, từ đó cho phép bạn cải tiến
nó [2]. Khung làm việc Scrum bao gồm một Nhóm Scrum với c{c vai trò được phân
định rõ ràng, các sự kiện, các tạo tác 1 (artifact) và các quy tắc. Mỗi thành phần trong
khung làm việc phục vụ một mục đích rõ r|ng v| nòng cốt trong việc sử dụng và
thành công của Scrum. d. IT Mark: IT Mark do Viện Phần mềm châu Âu (ESI – European Software Institute thành
lập 1993) thiết kế, phù hợp cho đối tượng là doanh nghiệp nhỏ và vừa. Trung tâm kết
nối kỹ thuật phần mềm thuộc ESI (ESI Center Alliance – ESI Centers Network of
Excellence in Software Engineering) chịu trách nhiệm đ{nh gi{ v| chứng nhận cho các
doanh nghiệp đạt yêu cầu IT Mark. Mục tiêu cơ bản của mô hình IT Mark là giúp các doanh nghiệp nhỏ và vừa
hoặc cực nhỏ có thể áp dụng để cải thiện năng lực hoạt động và quản lý chất lượng của
mình, thông qua các lợi ích sau: – Cải thiện hiệu quả kinh doanh, cả về mặt kỹ thuật lẫn quản lý. – Được thị trường công nhận về năng lực. – Tạo lợi thế khác biệt. – Nhận biết c{c điểm mạnh, điểm yếu cũng như cơ hội để cải thiện. – X{c định phương hướng cải tiến thông qua các mức trưởng th|nh được đ{nh gi{. 45 – Chi phí hợp lý. Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa Về cơ bản, IT Mark không có những đề xuất mới, mô hình này bao gồm ba
phần, được thu gọn và chọn lọc từ ba mô hình sau, nhằm giúp các doanh nghiệp có thể
áp dụng chúng dễ dàng: • C{c quy trình quản lý và phát triển phần mềm: Phần n|y được dựa trên mô
hình CMMi-DEV phiên bản v1.2, mức trưởng th|nh hai v| ba (CMMi đầy đủ có tất
cả năm mức trưởng thành, mức bốn v| năm được gọi là mức trưởng thành cao). • C{c quy trình quản lý kinh doanh: Phần này sử dụng công cụ 102 (10-
Squared) để đ{nh gi{ một doanh nghiệp theo các chuẩn công nghiệp, rất phù hợp
với các tổ chức hoặc công ty phát triền phần mềm. Công cụ 102 được tổ chức như
sau: – Mười nhóm đ{nh gi{, mỗi nhóm bao gồm 10 yếu tố, tổng cộng là 100 yếu tố đ{nh gi{. – Mỗi yếu tố có ‚trọng số‛ x{c định mức độ quan trọng kh{c nhau, v| được mô tả bằng chín đặc tính. Mười nhóm đ{nh gi{ chú trọng v|o mười khía cạnh liên quan đến kinh doanh của tổ chức cần đ{nh gi{. • C{c quy trình quản lý an toàn thông tin: Phần này dựa trên tiêu chuẩn
ISO/IEC 27001 và ISO 17799 về thiết lập hệ thống quản lý an toàn thông tin (ISMS –
Information Security Management System). Với mô hình IT Mark, an to|n thông tin được đ{nh gi{ ở ba mức độ, thấp nhất
là mức một, trung bình là mức hai, và cao nhất là mức ba. Ứng với mỗi mức độ, những
yêu cầu bắt buộc tương ứng về thiết lập và kiểm soát hệ thống an toàn thông tin phải
được áp dụng. Việc khảo s{t v| đ{nh gi{ một doanh nghiệp dựa trên mô hình IT Mark được
phân loại ở ba mức độ. Từng mức độ cụ thể được xếp hạng dựa theo sự trưởng thành
về quy trình v| năng lực của tổ chức. Quy trình đ{nh gi{ v| chứng nhận một tổ chức theo mô hình IT Mark bao gồm các pha chính sau : – Pha 0: Lập kế hoạch và chuẩn bị chi tiết cho toàn bộ qu{ trình đ{nh gi{, bao gồm các nguồn lực và các phân công trách nhiệm cần thiết cho qu{ trình đ{nh gi{. – Pha 1: Thông báo và huấn luyện về kế hoạch, mục tiêu v| quy trình đ{nh giá, bảo đảm cho các bên hiểu rõ các nội dung cần làm. – Pha 2: Khảo sát các quy trình quản lý kinh doanh dựa trên mô hình 102 (10- 46 Squared). TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) – Pha 3: Khảo sát hệ thống an toàn thông tin, sử dụng các bảng câu hỏi để thu thập thông tin. – Pha 4: Khảo sát quy trình phát triển phần mềm theo CMMi, dùng phương
ph{p đ{nh gi{ mức C và mức B (Phương ph{p đ{nh gi{ d|nh cho mô hình CMMi
bao gồm ba mức, A, B và C. Mức A là mức có độ nghiêm khắc cao nhất, mức C có
độ nghiêm khắc thấp nhất). – Pha 5: Phân tích và trình bày kết quả đ{nh gi{. Bảng kết quả bao gồm mức
độ thực tế tổ chức đạt v| được chứng nhận theo mô hình IT Mark. Nếu tại pha này,
tổ chức không đạt yêu cầu của một mức trưởng thành dự kiến, đ{nh gi{ viên sẽ ghi
chú những điểm yếu khiến không đạt, đề nghị tổ chức cải tiến. Đ{nh gi{ viên, sau
đó, sẽ kiểm tra lại kết quả cải tiến trong vòng s{u th{ng sau ng|y đ{nh gi{, nếu đạt
sẽ điều chỉnh kết quả đ{nh gi{ sau cùng. – Pha 6: Báo cáo kết quả về ESI. – Pha 7: Đ{nh gi{ lại. Hiệu lực của chứng nhận sẽ hết hạn sau ba năm, việc
đ{nh gi{ lại là bắt buộc để tổ chức tiếp tục được công nhận. Mặt kh{c, để bảo đảm
việc áp dụng các quy trình của tổ chức được liên tục, một cuộc đ{nh giá ngắn sẽ
được thực hiện sau mười hai tháng tính từ ngày tổ chức được đ{nh gi{ v| công
nhận. Như vậy, bằng những giới hạn và chọn lọc hợp lý, tổng hợp từ ba mô hình và
tiêu chuẩn được công nhận rộng rãi trên thế giới là CMMi, ISO 27001 và 10-Squared,
mô hình IT Mark được thiết kế để phù hợp cho c{c đối tượng là các doanh nghiệp nhỏ
và vừa trong lĩnh vực phần mềm. IT Mark giúp các doanh nghiệp dễ dàng tiếp cận và
xây dựng thành công mô hình quản trị chất lượng cho doanh nghiệp của mình, với
một sự đầu tư v| chi phí hợp lý. 5. KẾT LUẬN Các DNNVV tham gia c{c công đoạn của sản xuất phần mềm đang phải đối
mặt với các thách thức về đảm bảo chất lượng phần mềm do nguồn lực hạn chế của họ.
Mô hình quy trình phần mềm hiện tại không dễ áp dụng trong các doanh nghiệp này
khi đặt ra những yêu cầu cao về nguồn vốn, nhân lực và cơ sở hạ tầng. Trong bài báo
này, chúng tôi đã nghiên cứu những yếu tố để thành công khi thực hiện SQA, từ đó đề
xuất c{c phương ph{p sử dụng trong việc đảm bảo chất lượng phần mềm, về đề xuất
một số mô hình chất lượng phần mềm sẵn có cho các DNNVV. 47 Mỗi mô hình luôn tồn tại những lợi ích và hạn chế khác nhau. Các DNNVV nên
lựa chọn mô hình đ{p ứng được yêu cầu và phù hợp với nguồn lực hiện tại của họ để
có thế n}ng cao được chất lượng sản phẩm, mang lại hiệu quả và vị thế cho doanh Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa nghiệp trong môi trường kinh doanh. Trong định hướng nghiên cứu tương lai, nhóm nghiên cứu sẽ đề xuất một vài
cải tiến các mô hình hiện có để tiết kiệm thời gian và chi phí cho phù hợp với điều kiện
thực tế tại các DNNVV ở Việt Nam. Trên cơ sở đó, đưa ra c{c so s{nh thực tiễn của các
DNNVV trước và sau khi sử dụng c{c mô hình được đề xuất. [1]. Schulmeyer, Gordon, and James I. McManus. Handbook of software quality assurance. Van Nostrand Reinhold Co., 1987. [2]. Rashid, Junaid, and Muhammad Wasif Nisar. "How to Improve a Software Quality
Assurance In Software Development-A Survey." International Journal of Computer Science
and Information Security14.8 (2016): 99. [3]. H.V. Phani Krishna, G.Rama Krishna and K.Rajasekhana Rao, ‚A panoramic Approach on
software quality assurance proposed by CMM and XP‛. IJCSNS International Journal of
Computer Science and Network Security, Vol 13 No 2 Feb 2013 [4]. Yang, Shin-Jer, and Chung-Hsi Liao. "A study of critical success factors on software quality
assurance of cloud networking devices." Systems and Informatics (ICSAI), 2016 3rd
International Conference on. IEEE, 2016. [5]. Mishra, Alok, and Deepti Mishra. "Software quality assurance models in small and
medium organisations: a comparison." International Journal of Information Technology and
Management5.1 (2006): 4-20. [6]. Tosun, Ayse, Ayse Bener, and Burak Turhan. "Implementation of a software quality
improvement project in an SME: a before and after comparison." Software Engineering and
Advanced Applications, 2009. SEAA'09. 35th Euromicro Conference on. IEEE, 2009. [7]. J.G. Brodman, D.L. Johnson, ‚What Small Businesses and Small Organizations Say About
the CMM‛, Proc. 16th International Conference on Software Engineering, Sorrento, Italy, 1994,
pp 331-340. [8]. K. Kaputo, ‚CMM Implementation Guide: Choreographing Software Process Improvement‛, Addison Wesley, 2000, USA. [9]. Mariani, Leonardo, et al. "The central role of test automation in software quality assurance." Software Quality Journal 25.3 (2017): 797-802. [10]. Zeineddine, R. and Mansour, N. (2003) ‘Software quality improvement model for small organizations’, ISCIS, Lecture Notes in Computer Science (LNCS) 2869, pp.1027–1034. [11]. Khalid Khan, Adnan Khan, Muhammad Aamir and M.N.A Khan,‛Quality assurance
assessment in Software Global development‛ world Applied Science Journal 2(11): 1449-1454-
2013- ISSN -4952 48 TÀI LIỆU THAM KHẢO TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, Trường Đại học Khoa học, ĐH Huế Tập 13, Số 1 (2018) SOFTWARE QUALITY ASSURANCE MODEL FOR SMALL
AND MEDIUM ENTERPRISES University of Sciences, Hue University Email: ntunhi@sgu.edu.vn, hunhduc68@gmail.com, dangcongquoc1968@gmail.com, nmhan2009@gmail.com In recent years, the majority of software has been developed by small and medium enterprises (SMEs). However, these enterprises are facing difficulties due to inability to pay costs and to meet the resources to implement software quality assurance models such as CMM / CMMI, SPICE and ISO... SMEs. Since these enterprises are not able to compete with large ones using the software quality assurance model. To solve this problem, the article presents the factors for successful implementation of the software quality assurance model, as well as exploring models that are relevant to the capabilities and capabilities of SMEs. From there, the benefits, limitations and comparisons of these software quality assurance models help SMEs make the most appropriate choices for their business. Năm 2008, bà tốt nghiệp cử nhân ngành Công nghệ thông tin, năm 2010 tốt nghiệp Thạc sĩ chuyên ng|nh Khoa học máy tính và kỹ thuật tính toán, tại trường Đại học tổng hợp kỹ thuật Volgagrad, Liên bang Nga. Từ năm 2011, bà tham gia giảng dạy tại trường Đại học Thương Mại, Hà Nội. Từ năm 2012 đến nay, bà tham gia giảng dạy tại trường Đại học Sài Gòn, TPHCM. Hiện đang l| NCS ng|nh Khoa học máy tính của Trường Đại học Khoa học – Đại học Huế. Lĩnh vực nghiên cứu: Tìm kiếm ảnh theo ngữ nghĩa, hệ hỗ trợ ra quyết định 49 Mô hình đảm bảo chất lượng phần mềm cho doanh nghiệp nhỏ và vừa 1990, ông tốt nghiệp cử nhân Vật lý tại Trường Đại học Cần Thơ; Năm 1997 tốt nghiệp cử nhân khoa học Quản trị kinh doanh tại Trường Đại học Mở - Bán công thành phố Hồ Chí Minh; Năm 1999 tốt nghiệp kỹ sư Khoa học máy tính tại trường Đại học Bách khoa thành phố Hồ Chí Minh; Năm 2010 tốt nghiệp Thạc sĩ chuyên ng|nh Mạng máy tính & Truyền thông tại Học viện Bưu chính Viễn thông thành phố Hồ Chí Minh. Từ năm 1990, ông giảng dạy tại Trường Cao đẳng Công thương TP. HCM. Hiện đang l| NCS ngành Khoa học máy tính của Trường Đại học Khoa học – Đại học Huế. Lĩnh vực nghiên cứu: Cảm ngữ cảnh (Context aware). Năm 1991, ông tốt nghiệp cử nhân Toán tại Trường Đại học Sư phạm, ĐHH Huế; Năm 1995, ông tốt nghiệp cử nhân Tin học tại Trường Đại học Cần Thơ; Năm 2001, ông tốt nghiệp Thạc sĩ khoa học chuyên ngành Toán tại Trường Đại học Sư phạm, ĐH Huế. Năm 2015, ông tốt nghiệp thạc sĩ CNTT tại Trường Đại học Công nghệ TP. HCM. Từ năm 1991, ông tham gia giảng dạy tại Trường Cao đẳng Công thương TP. HCM. Hiện đang l| NCS ngành Khoa học máy tính của Trường Đại học Khoa học – Đại học Huế. Lĩnh vực nghiên cứu: Công nghệ thông tin, Toán học. nghiệp cử nh}n to{n tại trường Đại học Tổng hợp Huế. Năm 1998 nhận bằng thạc sĩ về Khoa học m{y tính tại Trường đại học B{ch khoa H| Nội. Năm 2003, nhận bằng tiến sĩ chuyên ng|nh Khoa học M{y tính tại Viện Công nghệ Thông tin H| nội. Hiện l| Phó Gi{o sư, Giảng viên cao cấp tại Khoa Công nghệ Thông tin, Trường Đại học Khoa học, Đại học Huế. Lĩnh vực nghiên cứu: Công nghệ phần mềm, Cơ sở dữ liệu, Xử lý song song v| ph}n t{n, tính to{n lưới. 50DỰ ÁN
Hình 1. Vai trò của Quality Assurance trong dự án phần mềm
SQA
Hình 2. Các hoạt động chính của SQA
Hình 3. Mô phỏng về cải tiến Quy trình, Năng lực và Phương ph{p nhằm phù hợp với mục tiêu
Hình 4. Mô phỏng về phương ph{p tự chuẩn đo{n chất lượng phần mềm
Hình 5. Ví dụ về mô hình đặt câu hỏi và trả lời Yes No
Hình 6. Ví dụ về Ma trận mục tiêu
Hình 7. Ví dụ về Process Metrix
Hình 8. Vòng lặp phát triển
Nguyen Thi Uyen Nhi, Huynh Trong Duc, Dang Cong Quoc, Nguyen Mau Han
ABSTRACT
Keywords: Software quality assurance, SMEs, models
Nguyễn Thị Uyên Nhi sinh ng|y 20 th{ng 3 năm 1985 tại Quảng Trị .
Hu nh Tr n Đức sinh ng|y 06 th{ng 06 năm 1968, tại Tiền Giang. Năm
Đ ng Công Qu c sinh ng|y 21 th{ng 06 năm 1968 tại Thành phố Huế.
N yễn Mậ Hân sinh năm 1957 tại Thừa thiên Huế. Năm 1981, ông tốt