Các chuẩn cho phát triển phần mềm CMMi – Tài liệu text

Các chuẩn cho phát triển phần mềm CMMi

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 (371.08 KB, 32 trang )

TRƯỜNG ĐẠI HỌC MỎ – ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
Bài tập lớn
QUẢN TRỊ DỰ ÁN CNTT
Đề tài:” Tìm hiểu các chuẩn CMMI”
Giáo viên hướng dẫn: Sinh viên thực hiện :
GV: Dương Thị Hiền Thanh 1. Dương Thị Thảo
2. Trần Xuân Đức
3.Nguyễn Thị Quỳnh
Hà nội,tháng 5 năm 2014
MỤC LỤC
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
BẢNG PHÂN CÔNG CÔNG VIỆC
STT Tên thành viên Công việc
1
Trần Xuân Đức
Chương I. Tổng quan chất lượng phần mềm
I. Chất lượng phần mềm là gì
II. Quy trình đảm bảo chất lượng của tổ chức ISO
Chương II. Các chuẩn cho phát triển phần mềm CMMI
I. Mô hình trưởng thành năng lực tích hợp (CMM –
Capability Maturity Model Integration)
II. CMMI – Phiên bản kế tiếp của CMM
2 Dương Thị
Thảo
III. CMMI được dùng để làm gì?
IV. Lợi ích của CMM/CMMI
V. Bộ CMM “Trưởng thành” là gì?
VI. Các level của CMM/CMMI
Tổng hợp và hoàn chỉnh báo cáo
3 Nguyễn Thị

Quỳnh
Chương III. Hệ thống quản lý chất lượng – Các yêu cầu –
ISO 9001
I. Tổ chức tiêu chuẩn hóa quốc tế (International
Organization for Standardization – ISO)
II. Lịch sử hình thành ISO 9000
Chương IV. Khác biệt giữa ISO 9001:2000 và
CMM/CMMI
2
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
LỜI NÓI ĐẦU
Trong kỷ nguyên hiện đại, phần mềm đóng vai trò vô cùng quan trọng, có thể so
sánh như một hệ thống thần kinh số điều khiển toàn bộ hoạt động hệ thống thông tin
toàn cầu. Trong bối cảnh đó, một sai lầm dù nhỏ của phần mềm cũng có thể gây ra
hậu quả khôn lường. Chỉ vì một dấu phẩy “,” nhầm lần trong hệ thống phần mềm điều
khiển mà tàu vũ trụ Apll 11 của Mỹ đã nổ tung khi phóng lên quỹ đạo, gây thiệt hại
hàng tỷ USD và nghiêm trọng là đã cướp đi mạng sống của toàn bộ phi hành đoàn.
Chất lượng phần mềm đang là vấn đề làm đau đầu cả giới sản xuất và ứng dụng.
Theo kết quả nghiên cứu của Viện Công Nghệ và Tiêu Chuẩn Quốc Gia (NIST) thuộc
Bộ Thương Mại Mỹ, các nhược điểm trong phần mềm không chỉ gây phiền phức cho
người dùng mà hàng năm còn gây tổn thất cho nên kinh tế Mỹ ước đạt 59,5 tỷ USD.
Tuy nhiên, cũng theo NIST, thử nghiệm để phát triển và loại bỏ khiếm khuyết ngay từ
quá trình sản xuất phần mềm có thể giảm mức thiệt hại khoảng 22,2 tỷ USD trong
tổng số 59,5 ỷ USD.
Khái niệm chất lương phần mềm có vẻ không mới, nhưng thực sự đó là khái niệm
không dễ nắm bắt và làm chủ. Cùng với sự tăng trưởng mạnh của ngành phần mềm
Việt Nam, đã đến lúc chúng ta phải dành sự quan tâm đúng mức cho chất lượng phần
mềm.
Thời gian gần đây, nhiều doanh nghiệp Việt Nam đã nhận thức đúng về vai trò của
chất lượng phần mềm và định hướng xây dựng các quy trình sản xuất phần mềm theo

chuẩn Quốc tế với mục đích sản xuất phần mềm chất lượng.
3
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
Chương I. Tổng quan chất lượng phần mềm
I. Chất lượng phần mềm là gì
Thế nào là phần mềm có chất lượng? Có người cho rằng chất lượng phần mềm là
tốc độ thực hiện tốt. Người khác cho rằng phần mềm có chất lượng là phần mềm phù
hợp với công việc của họ. Cũng có người cho rằng phần mềm không có lỗi là phần
mềm chất lượng cao. Hay phần mềm dễ sử dụng mới được gọi là phần mềm chất
lượng,…Tổng kết lại, người ta cho rằng phần mềm có chất lượng là phần mềm “thỏa
mãn được yêu cầu của người dùng”.
Nhưng thế nào là thỏa mãn người dùng? Theo định nghĩa hình thức về chất lượng sản
phẩm phần mềm của Tổ chức tiêu chuẩn quốc tế ISO trong bộ tiêu chuẩn 8402, “chất
lượng là khả năng đáp ứng toàn diện nhu cầu của người dùng về tính năng cũng như
công dụng được nêu ra một cách tường minh hoặc không tường minh trong những ngữ
cảnh xác định”. Ngay trong định nghĩa này chất lượng cũng được định nghĩa một cách
rất “mờ”, thiếu yếu tố định lượng. Thêm nữa, để hiểu hết nhu cầu của người sử dụng
quả thực là rất khó. Với những khó khăn về định lượng trong khái niệm chất lượng
phần mềm, để có được một phần mềm tốt cách thông thường nhất là tiếp cận theo lối
chất lượng quy trình. Nghĩa là nếu chúng ta có quy trình sản xuất tốt thì sẽ có khả
năng sản xuất ra sản phẩm tốt.
 Chất lượng phần mềm là sự đáp ứng các yêu cầu chức năng, sự hoàn thiện và
các chuẩn (đặc tả) được phát triển, các đặc trưng mong chờ từ mọi phần mềm
chuyên nghiệp (ngầm định).
II. Quy trình đảm bảo chất lượng của tổ chức ISO
4
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
Bộ tiêu chuẩn chất lượng ISO 9001-3 của tổ chức ISO, quy định về “Quy trình đảm
bảo chất lượng” trong các tổ chức phát triển phần mềm. Chứng chỉ ISO 9001 xác nhận
các tổ chức, đơn vị có quy trình đảm bảo chất lượng hợp chuẩn. Bên cạnh đó, một mô

hình khác là CMM (Capability Maturity Model) cũng đang rất được quan tâm tại Việt
Nam. Công ty nhận được chứng chỉ CMM nghĩa là công ty đó đã đạt được mức độ
tương ứng với các cấp độ CMM của chứng chỉ. Một doanh nghiệp phát triển phần
mềm, nếu có chứng chỉ CMM hoặc ISO 9001 đều có khả năng sản xuất ra các phần
mềm tốt hơn hẳn các công ty chưa có chứng chỉ. Tuy nhiên, chúng ta cần lưu ý đây
chỉ là “khả năng” chứ không phải là “chắc chắn”. Vẫn có doanh nghiệp có quy trình
tốt nhưng sản xuất ra sản phẩm chất lượng không cao. Điều này chứng tỏ cách tiếp
cận theo chất lượng quy trình chưa phải là cách tiếp cận toàn diện mà chỉ giải quyết
vấn đề ở mức căn bản.
Những năm cuối thế kỷ 20, tổ chức ISO đã tập trung rất nhiều vào các tiêu chuẩn
chất lượng cho phần mềm. Cách tiếp cận về chất lượng của ISO đã thực sự tiến thêm
một bậc, toàn diện hơn, phù hợp hơn. Kết quả của sự tập trung này là một loạt các bộ
tiêu chuẩn đã ra đời, nhằm hướng tới đánh giá chất lượng toàn diện trong suốt vòng
đời của sản phẩm phần mềm, từ khi phôi thai cho tới lúc lạc hậu cần thay thế. Theo
cách tiếp cận của ISO, chất lượng toàn diện của phần mềm cần phải được quan tâm từ
chất lượng quy trình, tới chất lượng phần mềm nội bộ (chất lượng trong), chất lượng
phần mềm đối chiếu với yêu cầu của người dùng (chất lượng ngoài) và chất lượng
phần mềm trong sử dụng (chất lượng sử dụng).
Ở một góc nhìn khác, vòng đời của một sản phẩm phần mềm bắt đầu từ các bài toán
thực tiễn và được thể hiện theo quy trình sau:
1. Từ các bài toán thực tiễn, nhu cầu để phần mềm hình thành;
2. Nhu cầu này được thể hiện qua các tài liệu yêu cầu (Requirements);
5
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
3. Nhu cầu sẽ xác định yêu cầu chất lượng ngoài. Thỏa mãn được yêu cầu chất
lượng này sẽ thỏa mãn được yêu cầu của người sử dụng;
4. Các yêu cầu chất lượng thể hiện trong tài liệu đặc tả hệ thống
(Specification);
5. Yêu cầu chất lượng ngoài là tiền đề cho yêu cầu chất lượng trong;
6. Trong quá trình thiết kế phần mềm, các yêu cầu chất lượng trong được thể

hiện trong các tiêu chí của phần mềm và chuyển thành chất lượng trong;
7. Ứng với chất lượng trong có các độ đo chất lượng trong mà phần mềm phải
đáp ứng;
8. Tới giai đoạn tích hợp chạy thử, vấn đề được quan tâm sẽ là chất lượng
ngoài. Phần mềm được gọi là có chất lượng khi tất cả các độ đo chất lượng
ngoài được đảm bảo;
9. Trong quá trình vận hành, vẫn sử dụng các độ đo ngoài, chất lượng của phần
mềm trong quá trình vận hành, sử dụng sẽ tiếp tục được xem xét và cải tiến;
10. Quá trình cải tiến sẽ diễn ra liên tục cho tới khi phần mềm trở nên lạc hậu
hoàn toàn, cần được thay thế bằng một phần mềm mới.
Chương II. Các chuẩn cho phát triển phần mềm CMMI
I. Mô hình trưởng thành năng lực tích hợp (CMM – Capability Maturity
Model Integration)
Thế nào là Mô hình trưởng thành năng lực tích hợp
Capability Maturity Model – CMM là kết quả của một nghiên cứu được không quân
Mỹ tài trợ, nghiên cứu này được coi là một phương pháp đánh giá khách quan công
việc của các nhà thầu về phần mềm. Bộ Quốc Phòng Mỹ cũng quan tâm tới việc chi
phí phát triển phần mềm đang leo thang và các vấn đề liên quan đến chất lượng của
các phần mềm nên đã thành lập Viện Công nghệ Phần mềm (SEI) vào đầu những năm
80, và bắt đầu nghiên cứu mô hình CMM vào năm 1988.
Ban đầu, mô hình CMM được sử dụng như một công cụ để đánh giá khả năng của
các nhà thầu chính phủ khi họ tiến hành một dự án phần mềm theo hợp đồng. Mặc dù
6
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
CMM được thiết kế để đánh giá quá trình phát triển phần mềm nhưng nó đã và đang
được áp dụng như một mô hình chung cho kỳ hạn của các quá trình trong các công ty
về CNTT hay bất cứ công ty nào khác.
Các nhà phê bình cũng nhận thấy CMM luôn được gắn chặt trong một mô hình phát
triển thác nước và không quan tâm tới các khía cạnh khác của quy trình phát triển
phẩn mềm như thiết kế và triển khai. CMM không phù hợp với các quy trình ngoại vi

liên quan đến việc phát triển phần mềm như là việc mua lại. CMM cũng bị phê phán
là tạo ra quá nhiều giấy tờ sổ sách và quá nhiều cuộc họp và nó cũng không phù hợp
với nhiều ngành công nghiệp.
Các ngành công nghiệp và chính phủ đã tìm ra giải pháp cho vấn đề này bằng cách
áp dụng CMM cho các lĩnh vực khác. Toàn bộ quy trình sẽ được giám sát bởi một ban
lãnh đạo bao gồm những người đại diện từ OSD, Không quân, Quân đội, Hải quân,
các bộ phận khác của chính phủ, SEI và ngành công nghiệp. Nhiệm vụ của ban lãnh
đạo này là hướng dẫn và giám sát quá trình phát triển dòng sản phẩm CMMI, đưa ra
các sản phẩm CMMI để thẩm tra và phát hành ra công chúng. Viện SEI phối hợp với
các chuyên gia đề tài phụ trách quản lý dự án ban đầu là phát triển phần mềm, xây
dựng hệ thống, phát triển quy trình và sản phẩm tích hợp. Các cổ đông/các nhà phê
bình đều có quyền kiểm tra, phê bình và đưa ra những gợi ý để phát triển các sản
phẩm CMMI. Trong số những người này cũng có những đại diện từ ngành công
nghiệp, chính phủ và viện SEI.
CMMI được tích hợp từ nhiều mô hình khác nhau, phù hợp cho cả những doanh
nghiệp phần cứng và tích hợp hệ thống, chứ không chỉ đơn thuần áp dụng cho doanh
nghiệp sản xuất phần mềm như CMM trước đây. CMMI đưa ra cụ thể các mô hình
khác nhau cho từng mục đích sử dụng có đặc điểm riêng bao gồm:
7
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
– CMMI-SW mô hình chỉ dành riêng cho phần mềm.
– CMMI-SE/SW mô hình tích hợp dành cho các hệ thống và kỹ sư
phần mềm.
– CMMI-SE/SW/IPPD mô hình dành cho các hệ thống, kỹ sư phần
mềm và việc tích hợp sản phẩm cùng quá trình phát triển nó
Vậy như ta có thể thấy, CMMI không phải hoàn toàn mới. Hơn thế nữa, CMMI là
một sự kết hợp và phù hợp của nhiều biến thể CMM đã phát triển cùng với những yêu
cầu của ngành công nghiệp. Hiểu được CMM và nguồn gốc của nó, ta sẽ biết được
nền tảng của CMMI. Và CMMI cũng được sử dụng ở hầu hết những nơi giống nhau –
theo nghĩa về sự phát triển, không phải là cách mạng. CMMI mang lại sự khôn ngoan

của nhiều ngành công nghiệp khác nhau đã giúp CMM phù hợp với những ngành
công nghiệp đó.
II. CMMI – Phiên bản kế tiếp của CMM
Cả CMM và CMMI đều được Viện kỹ nghệ phần mềm Mỹ SEI tại trường Đại học
Carnegie Mellon ở Pittsburgh, PA phát triển. CMM đã có mặt từ cuối những năm 80
và một thập kỷ sau nó bị CMMI thay thế. Năm 2000 CMMI phiên bản 1.02 được đưa
ra thị trường. Phiên bản mới nhất hiện nay CMMI 1.2 được trình làng vào tháng 8
năm 2006.
CMMI viết tắt cho Capability Maturity Model Integration – Mô hình trưởng thành
năng lực tích hợp – và là khuôn khổ cho cải tiến qui trình phần mềm. Nó dựa trên khái
niệm về các thực hành tốt nhất về kĩ nghệ phần mềm và giải thích kỉ luật mà các công
ty có thể dùng để cải tiến các qui trình của họ.
Mô hình CMMI là một khung các giải pháp tối ưu cho quá trình sản xuất phần
mềm. Phiên bản CMMI-DEV hiện nay (CMMI cho chuyên viên phát triển), mô tả
những giải pháp tốt nhất trong quá trình kiểm soát, đo lường và kiểm tra các quy trình
phát triển phần mềm. Mô hình CMMI không tập trung mô tả chính các quá trình mà
chỉ mô tả đặc điểm của các quá trình hiệu quả, vì vậy mô hình CMMI đưa ra chỉ dẫn
8
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
cho các công ty để họ có thể tự mình phát triển hoặc điều chỉnh chính các quá trình
của họ.
Mô hình CMMI được mô tả trên trang web chính thức CMMI website: Dự án
CMMI là một nỗ lực chung nhằm cung cấp các mô hình để cải thiện nâng cấp các sản
phẩm và quy trình. Trọng tâm chính của dự án là tập trung xây dựng các công cụ hỗ
trợ việc cải thiện các quy trình dùng để phát triển và ổn định các hệ thống và sản
phẩm. Kết quả của dự án CMMI là một bộ các sản phẩm cung cấp một phương pháp
tiếp cận tích hợp trên toàn doanh nghiệp để cải thiện các quy trình sản xuất mà vẫn có
thể giảm bớt nhân công dư thừa, độ phức tạp, và chi phí từ việc sử dụng các mô hình
CMM (quy trình quản lý sản xuất phẩn mềm) riêng lẻ và nhiều mô hình CMM.
III. CMMI được dùng để làm gì?

Các công ty thương mại và chính phủ sử dụng mô hình CMMI để hỗ trợ viêc xác
định cải tiến quy trình để xây dựng hệ thống, xây dựng phần mềm và phát triển quy
trình và sản phẩm tích hợp.
Công ty sử dụng quy trình này để phát triển, thu thập và duy trì các sản phẩm và
dịch vụ và để làm chuẩn cho chính họ chống lại các công ty khác. Các quy trình tốt
hơn cũng có thể là những quy trình có giá rẻ hơn và kết quả chất lượng tốt hơn, cũng
như là những quy trình này ước tính thời gian thực cho dự án chính xác hơn.
Tuy nhiên, cũng giống như tất cả các cơ cấu khác, CMMI không thể nhanh chóng
phù hợp với tất cả các công ty mà không ảnh hưởng đến sự phát triển của công ty đó.
SEI cho biết việc cải thiện các dự án sẽ được tính bằng tháng và năm chứ không phải
chỉ tính bằng ngày và tuần.Vì việc cải thiện dự án thường đòi hỏi phải có nhiều kiến
thức và nguồn lực nên các công ty lớn hơn có thể có được kết quả tốt hơn từ CMMI.
Tuy nhiên, việc thay đổi quy trình CMMI cũng có thể giúp ích cho các công ty nhỏ
hơn.
9
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
SEI không cấp giấy chứng nhận cho bất cứ loại hình CMMI nào. Đơn giản là SEI
chỉ cấp giấy phép hoạt động và cho phép các nhà thẩm định hàng đầu tiến hành đánh
giá.
IV. Lợi ích của CMM/CMMI
 Cải tiến năng lực của các tổ chức phần mềm bằng cách nâng cao kiến thức
và kỹ năng của lực lượng lao động.
 Đảm bảo rằng năng lực phát triển phần mềm là thuộc tính của tổ chức
không phải của một vài cá thể.
 Hướng các động lực của cá nhân với mục tiêu tổ chức.
 Duy trì tài sản con người, duy trì nguồn nhân lực chủ chốt trong tổ chức.
 Lợi ích CMM mang lại cho Doanh nghiệp gói gọn trong 4 từ: Attract,
Develop, Motivate và Organize.
 Lợi ích CMM mang lại cho người lao động:
– Môi trường làm việc, văn hóa làm việc tốt hơn.

– Vạch rõ vai trò và trách nhiệm của từng vị trí công việc.
– Đánh giá đúng năng lực, công nhận thành tích.
– Chiến lược, chính sách đãi ngộ luôn được quan tâm.
– Có cơ hội thăng tiến.
– Liên tục phát triển các kỹ năng cốt yếu.
V. Bộ CMM “Trưởng thành” là gì?
Bộ này bao gồm tập hợp những mô hình trưởng thành cho những khía cạnh khác
của các doanh nghiệp phần mềm như:
 Phần mềm CMM (CMM Software)
 Quá trình phần mềm cá nhân (Personal Software Process)
 Quá trình phần mềm đội (Team Software Process)
 Những người CMM (CMM People)
 Phần mềm thu nhận CMM (CMM Software Acquisition)
 Kỹ thuật hệ thống CMM (CMM System engineering)
 Phát triển sản phẩm tích hợp CMM (CMM Integraed Product
Development)
 Sự tích họp CMM (CMM Integration)
10
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
VI. Các level của CMM/CMMI
CMM bao gồm 5 levels và 18 KPAs (Vùng quy trình quan trọng – Key Process
Area). Nói cách khác mỗi một level đều tuân theo một chuẩn ở mức độ cao hơn.
Muốn đạt được chuẩn cao hơn thì các chuẩn của các level trước phải thoả mãn. Mỗi
level đều có đặc điểm chú ý quan trọng của nó cần các doanh nghiệp phải đáp ứng
được.
 Level 1 thì không có KPAs nào cả
 Level 2 : có 6 KPAs
 Level 3: có 7 KPAs
 Level 4: có 2 KPAs
 Level 5: có 3 KPAs

18 KPAs của CMM được đều có 5 thuộc tính (chức năng) chung trong đó có các
qui định về key pratice là những hướng dẫn về các thủ tục (procedure), qui tắc
(polities), và hoạt động (activites) của từng KPA.
Mô hình này xác định năm cấp độ của CMM đối với một công ty : Khởi đầu (lộn
xộn, không theo chuẩn) – Lặp (quản lý dự án, tuân thủ quy trình) – Xác lập (thể chế
hóa) – Kiểm soát (định lượng) – Tối ưu (cải tiến quy trình).
11
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
 Level 1
Level 1 là bước khởi đầu của CMM, mọi doanh nghiệp, công ty phần mềm, cá
nhóm, cá nhân đều có thể đạt được. Ở lever này CMM chưa yêu cầu bất kỳ tính năng
nào. Ví dụ: không yêu cầu quy trình, không yêu cầu con người, miễn là cá nhân,
nhóm, doanh nghiệp… đều làm về phầm mềm đều có thể đạt tới CMM này.
Đặc điểm:
• Hành chính: Các hoạt động của lực lượng lao động được quan tâm hàng đầu
nhưng được thực hiện một cách vỗi vã hấp tấp.
• Không thống nhất: Đào tạo quản lý nhân lực nhỏ lẻ chủ yếu dựa vào kinh
nghiệp cá nhân.
• Quy trách nhiệm: Người quản lý mong bộ phận nhân sự điều hành và kiểm
sóat các hoạt động của lực lượng lao động.
• Quan liêu: Các hoạt động của lực lượng lao động được đáp ứng ngay mà
không cần phân tích ảnh hưởng.
• Doanh số thường xuyên thay đổi: Nhân viên không trung thành với tổ chức.
 Level 2
Có 6 KPA nó bao gồm như sau:
• Requirement Management (Lấy yêu cầu khách hàng, quản lý các yêu cầu đó)
• Software Project Planning (Lập các kế hoạch cho dự án)
• Software Project Tracking (Theo dõi kiểm tra tiến độ dự án)
• Software SubContract Managent (Quản trị hợp đồng phụ phần mềm)
• Software Quality Assurance (Đảm bảo chất lượng sản phẩm)

• Software Configuration Management (Quản trị cấu hình sản phẩm => đúng yêu
cầu của khách hàng không)
Khi ta áp dụng Level 2, KPA 2 (Software Project Planning), ta sẽ có những
common feature (đặc điểm đặc trưng) như sau:
12
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
• Mục tiêu (Goal): các hoạt động và những đề xuất của một dự án phần mềm
phải được lên kế hoạch và viết tài liệu đầy đủ.
• Đề xuất/ Xem xét (Commitment): dự án phải tuân thủ theo các qui tắc của tổ
chức khi hoạch định.
• Khả năng (Ability): Việc thực hiện lập kế hoạch cho dự án phần mềm phải
là bước thực hiện từ rất sớm khi dự án đưọc bắt đầu.
• Đo lường (Measument): Sự đo lường luôn được thực thi và sử dụng chúng ta
luôn có thể xác định và kiểm soát được tình trạng các hoạt động trong tiến
trình thực hiện dự án .
• Kiểm chứng (Verification): Các hoạt động khi lập kế hoạch dự án phải được
sự reviewed của cấp senior manager.
Để đạt được Level 2 thì người quản lý phải thiết lập được các nguyên tắc cơ bản và
quản lý các hoạt động diễn ra. Họ có trách nhiệm quản lý đội ngũ của mình.
Các KPA (Key Process Areas) của nó chú trọng tới các thành phần sau:
• Chế độ đãi ngộ
• Đào tạo
• Quản lý thành tích
• Phân công lao động
• Thông tin giao tiếp
• Môi trường làm việc
 Để từ Level 1 tiến tới Level 2 cần có những gì?
Trước tiên nó phải thỏa mãn các điều kiện ở Level 1. Tiếp theo là phải chú trọng tới
các phần sau:
• Môi trường làm việc

– Đảm bảo điều kiện làm việc
– Tạo hứng thú trong công việc
– Không bị ảnh hưởng, mất tập trung bởi các nhân tố khác
• Thông tin
13
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
Xây dựng cơ chế truyền tin thông suốt từ trên xuống dưới và ngược lại nhằm giúp
cá nhân trong tổ chức chia sẽ thông tin, kiến thức, kinh nghiệm, các kỹ năng giao tiếp
phối hợp và làm việc hiệu quả
• Xây dựng đội ngũ nhân viên
Ngay từ khâu tuyển dụng, lựa chọn kỹ càng và định hướng, thể chế hóa quy trình
tuyển dụng
• Quản lý thành tích
Đẩy mạnh thành tích, công nhận năng lực, thành tích bằng cách thiết lập các tiêu
chí khách quan để đánh giá và liên tục khuyến khích khả năng làm việc, tập trung phát
triển sự nghiệp, xây dựng các mục tiêu tiếp theo.
• Đào tạo
Không chỉ đào tạo các kiến thức chuyên môn phục vụ cho dự án mà còn mở rộng
đào tạo các kỹ năng then chốt, cần thiết như kỹ năng làm việc đội, nhóm, kỹ năng
quản lý… nhằm tạo cơ hội cho người lao động phát huy khả năng, cơ hội học hỏi và
phát triển bản thân.
• Chế độ đãi ngộ
Hoạch định chiến lược đãi ngộ, thu thập ý kiến lực lượng lao động và công bố công
khai. Chế độ đãi ngộ cần tập trung vào việc trả lương cho công nhân viên dựa vào vai
trò, vị trí của họ (Position), Con người (Person) – thái độ và tác phong làm việc và
Thành tích (Performance) mà họ đạt được, cống hiến cho tổ chức. Đưa ra được chính
sách lương, thưỏng, phụ cấp các các quyền lợi khác để khuyến khích các cá nhân dựa
trên sự đóng góp của họ và cấp độ phát triển của toàn tổ chức.
14
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI

 Level 3
Các vùng tiến trình chủ chốt ở mức 3 nhằm vào cả hai vấn đề về dự án và tổ chức,
vì một tổ chức (công ty) tạo nên cấu trúc hạ tầng thể chế các quá trình quản lý và sản
xuất phần mềm hiệu quả qua tất cả các dự án. Chúng gồm có Tập trung Tiến trình Tổ
chức (Organization Process Focus), Phân định Tiến trình Tổ chức (Organization
Process Definition), Chương trình Đà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), và Xét
duyệt ngang hàng (Peer Reviews).
Để đạt được Level 3 thì người quản lý phải biến đổi cải tiến các hoạt động đang
diễn ra, cải tiến môi trường làm việc. Lực lượng lao động sở hữu những kiến thức, kỹ
năng cốt lõi.
KPA chú trọng tới các yếu tố sau :
• Văn hóa cá thể
• Công việc dựa vào kỹ năng
• Phát triển sự nghiệp
• Hoạch định nhân sự
• Phân tích kiến thức và kỹ năng
 Từ Level 2 lên Level 3: Các KPA cần thực hiện
• Phân tích kiến thức và kỹ năng
Xác định những kỹ năng và kiến thức cần thiết để làm nền tảng cho hoạt động nhân
sự. Lĩnh vực phân tích này bao gồm: xác định quy trình cần thiết để duy trì năng lực
tổ chức, phát triển và duy trì các kỹ năng và kiến thức phục vụ công việc, dự báo nhu
cầu kiến thức và kỹ năng trong tương lai.
• Hoạch định nguồn nhân lực
15
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
Đây là lĩnh vực phối hợp hoạt động nhân sự với nhu cầu hiện tại và trong tương lai
ở cả các cấp và toàn tổ chức. Hoạch định nguồn nhân lực có tính chiến lược cùng với
quy trình theo dõi chặt chẽ việc tuyển dụng và các hoạt động phát triển kỹ năng sẽ tạo

nên thành công trong việc hình thành đội ngũ.
• Phát triển sự nghiệp
Tạo điều kiện cho mỗi cá nhân phát triển nghề nghiệp và có cơ hội thăng tiến trong
nghề nghiệp, nó bao gồm: thảo luận về lựa chọn nghề nghiệp với mỗi cá nhân, xác
định các cơ hội, theo dõi sự tiến bộ trong công việc, được động viên, khuyến khích đạt
mục tiêu công việc, giao quyền và khuyến khích thực hiện những mục tiêu trong công
việc.
• Các hoạt động dựa trên năng lực
Ngoài các kỹ năng, kiến thức cốt lõi còn có hoạch định nhân lực, tuyển dụng dựa
vào khả năng làm việc, đánh giá hiệu quả qua mỗi công việc và vị trí, xây dựng chế độ
phúc lợi, đãi ngộ dựa trên hiệu quả… giúp bảo đảm rằng mọi hoạt động của tổ chức
đều xuất phát từ mục đích phục vụ cho phát triển nguồn nhân lực
• Văn hóa cá thể
Tạo lập được cơ chế liên lạc thông suốt, kênh thông tin hiệu quả ở mọi cấp độ trong
tổ chức, phối hợp được kinh nghiệm, kiến thức của mỗi người để hỗ trợ lẫn nhau, giúp
nhau cùng tiến bộ. Trao quyền thúc đẩy nhân viên tham gia ý kiến, ra quyết định.
 Level 4
Các vùng tiến trình chủ yếu ở mức 4 tập trung vào thiết lập hiểu biết định lượng của
cả quá trình sản xuất phần mềm và các sản phẩm phần mềm đang được xây dựng. Đó
16
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
là Quản lý quá trình định lượng (Quantitative Process Management) và Quản lý chất
lượng phần mềm (Software Quality Management).
Lực lượng lao động làm việc theo đội, nhóm và được quản lý một cách định lượng.
Các KPA của level 4 chú trọng tới:
• Chuẩn hóa thành tích trong tổ chức
• Quản lý năng lực tổ chức
• Công việc dựa vào cách làm việc theo nhóm
• Xây dựng đội ngũ chuyên nghiệp
• Cố vấn

Để đạt được level 4 thì phải đo lường và chuẩn hóa. Đo lường hiệu quả đáp ứng
công việc, chuẩn hóac phát triển các kỹ năng, năng lực cốt lõi.
Level 4 này sẽ chú trọng vào những người đứng đầu của một công ty, họ có khả
năng quản lý các công việc như thế nào.
 Level 5
Các vùng tiến trình chủ yếu ở mức 5 bao trùm các vấn mà cả tổ chức và dự án phải
nhắm tới để thực hiện hoàn thiện quá trình sản xuất phần mềm liên tục, đo đếm được.
Đó là Phòng ngừa lỗi (Defect Prevention), Quản trị thay đổi công nghệ (Technology
Change Management), và Quản trị thay đổi quá trình (Process Change Management)
Để đạt được level 4 thì phải đo lường và chuẩn hóa. Đo lường hiệu quả đáp ứng công
việc, chuẩn hóa phát triển các kỹ năng, năng lực cốt lõi.
Để đạt được Level 5 thì doanh nghiệp đó phải liên tục cải tiến hoạt động tổ chức,
tìm kiếm các phương pháp đổi mới để nâng cao năng lực làm việc của lực lượng lao
động trong tổ chức, hỗ trợ các nhân phát triển sở trường chuyên môn. Chú trọng vào
17
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
việc quản lý, phát triển năng lực của nhân viên. Huấn luyện nhân viên trở thành các
chuyên gia.
Chương III. Hệ thống quản lý chất lượng – Các yêu cầu – ISO 9001
I. Tổ chức tiêu chuẩn hóa quốc tế (International Organization for
Standardization – ISO)
ISO là một tổ chức quốc tế về vấn đề tiêu chuẩn hóa có tên đầy đủ là The
International Organization for Standardization. Các thành viên của nó là các tổ chức
tiêu chuẩn quốc gia của hơn một trăm nước trên thế giới.
ISO là tổ chức phi chính phủ, ra đời và hoạt động từ 23/2/1947. Nhiệm vụ của ISO
là thúc đẩy sự phát triển của vấn đề tiêu chuẩn hóa và những hoạt động có liên quan
nhằm tạo điều kiện thuận lợi cho việc trao đổi hàng hóa, dịch vụ quốc tế và sự hợp tác
phát triển trong các lĩnh vực trí tuệ, khoa học, kỹ thuật và mọi hoạt động kinh tế khác.
Trụ sở chính của ISO đặt tại Genève – Thụy Sĩ, ngôn ngữ sử dụng là tiếng Anh,
Pháp, Tây Ban Nha.

Hàng năm chi phí về hoạt động của ISO là 125 triệu France Thụy Sĩ, trong đó 80%
là đóng góp trực tiếp của các thành viên chính, 20% do việc bán ấn phẩm đem lại. Số
tiền đóng góp cho chi phí của ISO được tính tùy theo giá trị tổng sản phẩm xã hội và
giá trị xuất nhập khẩu của các nước thành viên.
Việt Nam là thành viên thứ 72 của ISO, gia nhập năm 1977 và được bầu vào ban
chấp hành của ISO năm 1996.
18
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
II. Lịch sử hình thành ISO 9000
Mỗi tổ chức với vai trò là người cung ứng có năm nhóm người có liên quan về lợi
ích là : khách hàng, nhân viên, lãnh đạo, bên cung ứng phụ và xã hội.
Bên cung ứng cần thỏa mãn những mong muốn và nhu cầu của tất cả những người
có liên quan về lợi ích của mình.
Người có liên quan Mong muốn hoặc nhu cầu
Khách hàng Chất lượng sản phẩm
Nhân viên Thỏa mãn về sự nghiệp
Lãnh đạo Hiệu quả đầu tư
Bên cung ứng phụ Tiếp tục khả năng lãnh đạo
Xã hội Sự quản lý có trách nhiệm
Bảng 8.1. Mong muốn của những người có liên quan
Các yêu cầu của xã hội, như một trong năm người có lợi ích liên quan, ngày càng
trở nên khắt khe hơn trên toàn thế giới. Thêm vào đó, các mong muốn và nhu cầu
ngày càng được lưu tâm nghiên cứu như an toàn và bảo vệ sức khỏe nơi làm việc, bảo
vệ môi trường và an ninh.
Trong những năm 70 nhìn chung giữa các ngành công nghiệp và các nước trên thế
giới có những nhận thức khác nhau về “chất lượng”. Do đó, Viện tiêu chuẩn Anh
Quốc (British Standard Institute – BSI) là một thành viên của ISO đã chính thức đề
nghị ISO thành lập một ủy ban kỹ thuật để phát triển các tiêu chuẩn quốc tế về kỹ
thuật và thực hành bảo đảm chất lượng, nhằm tiêu chuẩn hóa việc quản lý chất lượng
19

Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
trên toàn thế giới. Ủy ban kỹ thuật 176 (TC 176 – Technical committee 176) ra đời
gồm đa số là thành viên của cộng đồng Châu Âu đã giới thiệu một mô hình về hệ
thống quản lý chất lượng dựa trên các tiêu chuẩn sẳn có của Anh quốc là BS-5750.
Mục đích của nhóm TC176 là nhằm thiết lập một tiêu chuẩn duy nhất sao cho có thể
áp dụng được vào nhiều lĩnh vực kinh doanh, sản xuất và dịch vụ . Bản thảo đầu tiên
xuất bản vào năm 1985, được chấp thuận xuất bản chính thức vào năm 1987 và sau đó
được tu chỉnh vào năm 1994 với tên gọi ISO 9000.
Quá trình hình thành sơ lược như sau:
• 1956 Bộ Quốc Phòng Mỹ thiết lập hệ thống MIL – Q9858, nó được thiết
kế như là một chương trình quản trị chất lượng.
• 1963, MIL-Q9858 được sửa đổi và nâng cao.
• 1968, NATO chấp nhận MIL-Q9858 vào việc thừa nhận hệ thống bảo
đảm chất lượng của những người thầu phụ thuộc các thành viên NATO
(Allied Quality Assurance Publication 1 – AQAP – 1 ).
• 1970, Bộ Quốc Phòng Liên Hiệp Anh chấp nhận những điều khoản của
AQAP – 1 trong Chương trình quản trị Tiêu chuẩn quốc phòng,
DEF/STAN 05-8.
• 1979, Viện Tiêu Chuẩn Anh Quốc (British Standards Institute – BSI) đã
phát triển thành BS 5750, hệ thống tiêu chuẩn chất lượng quản trị đầu tiên
trong thương mại.
• 1987, Tổ chức quốc tế về tiêu chuẩn hóa – ISO – chấp nhận hầu hết các
tiêu chuẩn BS 5750 và ISO 9000 được xem là những tài liệu tương đương
như nhau trong áp dụng các tiêu chuẩn chất lượng quản trị.
• 1987, Ủy ban Châu Âu chấp nhận ISO 9000 và theo hệ thống Châu Âu
EN 29000.
• 1987, Hiệp hội kiểm soát chất lượng Mỹ (ASQC) và Viện tiêu chuẩn quốc
gia Mỹ (ANSI) thiết lập và ban hành hệ thống Q-90 mà bản chất chủ yếu
là ISO 9000.
20

Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
• Các thành viên của Ủy ban Châu Âu (EC) và Tổ chức mậu dịch tự do
Châu Âu (EFTA) đã thừa nhận tiêu chuẩn ISO 9000 và buộc các thành
viên của cộng đồng Âu Châu phải thực hiện theo các tiêu chuẩn này trong
cung cấp hàng hóa và dịch vụ.
• Tại Việt Nam, Tổng cục tiêu chuẩn đo lường chấp thuận hệ thống tiêu
chuẩn ISO 9000 thành hệ thống tiêu chuẩn TCVN ISO 9000.
1. Thành phần của Bộ tiêu chuẩn ISO 9000
Bộ tiêu chuẩn ISO 9000 bao gồm:
• ISO 9000: 2005 Hệ thống quản lý chất lượng – Cơ sở và từ vựng.
• ISO 9001: 2008 Hệ thống quản lý chất lượng – Các yêu cầu.
• ISO 9004: 2000 Hệ thống quản lý chất lượng – Hướng dẫn cải tiến hiệu
quả.
• ISO 19011: 2002 Hướng dẫn đánh giá hệ thống quản lý chất lượng và
môi trường.
2. ISO 9001:2008
Tiêu chuẩn ISO 9001:2008 Hệ thống quản lý chất lượng – Các yêu cầu: Đây là tiêu
chuẩn trung tâm quan trọng nhất của Bộ tiêu chuẩn ISO 9000, nó sử dụng ở bất kì tổ
chức mà thiết kế, phát triển, sản xuất, lắp đặt hay phục vụ cho bất kì 1 sản phẩm nào
hoặc cung cấp bất kì kiểu dịch vụ nào. Nó đem lại số lượng yêu cầu mà các tổ chức
cần phải hoàn thành nếu như nó làm vừa lòng khách hàng thông qua những sản phẩm
và dịch vụ hoàn chỉnh mà làm thỏa mãn mong chờ của khách hàng. Đây chỉ là sự thực
hiện một cách đầy đủ đối với bên kiểm sóat thứ ba mà trao bằng chứng nhận.
ISO 9001: 2008, Quality management system- Requirements (Hệ thống quản lý
chất lượng – Các yêu cầu), là phiên bản thứ 4 của tiêu chuẩn trong đó phiên bản đầu
tiên được ban hành vào năm 1987 và đã trở thành chuẩn mực toàn cầu đảm bảo khả
21
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
năng thỏa mãn các yêu cầu về chất lượng và nâng cao sự thỏa mãn của khách hàng
trong các mối quan hệ nhà cung cấp-khách hàng.

ISO 9001:2008 không đưa ra các yêu cầu mới so với phiên bản năm 2000 đã bị thay
thế, mà chỉ làm sáng tỏ những yêu cầu hiện có của ISO 9001:2000 dựa vào kinh
nghiệm áp dụng trong 8 năm qua và đưa ra những thay đổi hướng vào việc cải thiện
nhằm tăng cường tính nhất quán với tiêu chuẩn ISO 14001: 2004 về hệ thống quản lý
môi trường.
a. Lợi ích của doanh nghiệp, cơ quan, tổ chức khi áp dụng và duy trì hệ thống
quản lý chất lượng ISO 9001.
• Sản phẩm có chất lượng ổn định hơn, giảm sản phẩm hỏng.
• Tăng sản lượng do kiểm soát được thời gian trong quá trình sản xuất.
• Lợi nhuận tăng cao hơn do sản xuất hiệu quả, giảm chi phí (giảm lãng
phí).
• Hệ thống quản lý gọn nhẹ, chặt chẽ, vận hành hiệu quả và nhanh chóng.
• Kiểm soát được chất lượng nguyên vật liệu đầu vào do kiểm soát được
nhà cung cấp.
• Luôn cải tiến để cung cấp sản phẩm thoả mãn được yêu cầu khách
hàng.
• Tăng uy tín trên thị trường, tăng thị phần trong và ngoài nước.
• Mọi người hiểu rõ hơn vai trò của mình trong công ty, biết rõ trách
nhiệm và quyền hạn của mình hơn nên chủ động thực hiện công việc.
• Nhân viên được đào tạo huấn luyện tốt hơn, chuyên nghiệp hơn.
b. Tổ chức nào cần xây dựng Hệ Thống Quản Lý Chất Lượng ISO 9001: 2008?
• Tổ chức muốn khẳng định khả năng cung cấp các sản phẩm một cách
ổn định đáp ứng các yêu cầu khách hàng và các yêu cầu chế định thích
hợp.
• Tổ chức muốn nâng cao sự thoả mãn của khách hàng.
22
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
• Tổ chức cần cải tiến liên tục kết quả hoạt động sản xuất kinh doanh
nhằm đạt được các mục tiêu.
• Tăng lợi nhuận, tăng sản phẩm và giảm sản phẩm hư hỏng, giảm lãng

phí.
c. Các tiêu chí đánh giá phần mềm theo chuẩn ISO 9001:2008
• Trách nhiệm của lãnh đạo
Lãnh đạo của bên cung ứng với trách nhiệm điều hành phải xác định và thành lập
văn bản chính sách của mình đối với chất lượng, bao gồm mục tiêu và những cam kết
của mình về chất lượng. Chính sách chất lượng phải thích hợp với mục tiêu tổ chức
của bên cung ứng và nhu cầu, mong đợi của khách hàng. Bên cung ứng phải đảm bảo
rằng chính sách này phải được thấu hiểu, thực hiện và duy trì ở tất cả các cấp của cơ
sở.
• Hệ thống chất lượng.
Bên cung ứng phải xây dựng, lập văn bản và duy trì một hệ thống chất lượng làm
phương tiện để đảm bảo rằng sản phẩm phù hợp với yêu cầu qui định. Bên cung ứng
phải lập sổ tay chất lượng bao quát các yêu cầu của tiêu chuẩn này. Sổ tay chất lượng
phải bao gồm hay viện dẫn các thủ tục của hệ thống chất lượng và giới thiệu cơ cấu
của hệ thống văn bản sử dụng trong sổ tay chất lượng.
• Xem xét hợp đồng
Bên cung ứng phải lập và duy trì các thủ tục dạng văn bản để xem xét hợp đồng và
để phối hợp các hoạt động này.
• Kiểm soát thiết kế
23
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
Bên cung ứng phải thiết lập và duy trì các thủ tục để quản lý và thẩm tra nhằm thiết
kế sản phẩm để đảm bảo rằng các yêu cầu đặt ra được thỏa mãn. Các kết quả thiết kế
phải được lập thành văn bản và được thể hiện dưới dạng có thể thẩm tra, xác nhận
theo các yêu cầu về dữ liệu thiết kế.
Các kết quả thiết kế phải :
– Đáp ứng các yêu cầu về dữ liệu thiết kế;
– Bao gồm hoặc nêu tài liệu tra cứu về chuẩn mực chấp nhận.
Định rõ các đặc tính thiết kế có ý nghĩa quan trọng đối với an toàn và chức năng
làm việc tốt của sản phẩm (Ví dụ : yêu cầu vận hành, bảo quản, vận chuyển, bảo trì và

thanh lý).
Tất cả các thay thế và sửa đổi phải được xác định, lập thành văn bản, xem xét và
xét duyệt bởi người có thẩm quyền trước khi thực hiện.
• Kiểm soát tài liệu
Bên cung ứng phải lập và duy trì các thủ tục bằng văn bản để kiểm soát mọi
văn bản và dữ liệu liên quan tới các yêu cầu của tiêu chuẩn này và trong phạm vi có
thể, bao gồm cả các tài liệu có nguồn gốc từ bên ngoài, ví dụ như tiêu chuẩn và các
văn bản của khách hàng.
• Mua sản phẩm
Người cung ứng phải lập và duy trì các thủ tục thành văn bản để đảm bảo sản phẩm
mua vào phù hợp với yêu cầu quy định.
• Kiểm soát sản phẩm do khách hàng cung cấp
24
Tìm hiểu các chuẩn cho phát triển phần mềm CMMI
Bên cung ứng phải lập và duy trì các thủ tục dạng văn bản để kiểm soát việc kiểm
tra xác nhận, bảo quản và bảo dưỡng sản phẩm do khách hàng cung cấp để góp vào
sản phẩm được cung cấp hay dùng cho các hoạt động có liên quan. Bất kỳ sản phẩm
nào mất mát, hư hỏng hoặc không phù hợp với mục đích sử dụng phải lập hồ sơ và
báo cho khách hàng.
• Nhận biết và xác định nguồn gốc sản phẩm.
Khi cần thiết, bên cung ứng phải lập và duy trì các thủ tục để nhận biết sản phẩm
bằng các biện pháp thích hợp, từ lúc nhận đến tất cả các giai đoạn sản xuất, phân phối
và lắp đặt.
Bên cung ứng phải xác định và lập kế hoạch sản xuất, các quá trình lắp đặt và dịch
vụ kỹ thuật có ảnh hưởng trực tiếp đến chất lượng và phải đảm bảo rằng các quá trình
này được tiến hành trong những điều kiện được kiểm soát.
• Kiểm tra và thử nghiệm
Bên cung ứng phải lập và duy trì thủ tục dạng văn bản đối với các hoạt động kiểm
tra và thử nghiệm để xác nhận rằng mọi yêu cầu đối với sản phẩm được đáp ứng. Việc
kiểm tra và thử nghiệm và các hồ sơ cần có phải trình bày chi tiết trong kế hoạch chất

lượng hay các thủ tục dạng văn bản.
• Kiểm soát thiết bị kiểm tra, đo lường và thử nghiệm
Bên cung ứng phải qui định và duy trì thủ tục dạng văn bản để kiểm soát, hiệu
chỉnh và bảo dưỡng các thiết bị kiểm tra, đo lường và thử nghiệm (bao gồm cả phần
mềm) được họ sử dụng để chứng tỏ sự phù hợp của sản phẩm với các yêu cầu qui
định. Phải sử dụng thiết bị kiểm tra, đo lường, thử nghiệm sao cho biết được độ
không đảm bảo của phép đo và nó phải tương ứng với yêu cầu của phép đo.
25

QuỳnhChương III. Hệ thống quản lý chất lượng – Các yêu cầu -ISO 9001I. Tổ chức tiêu chuẩn hóa quốc tế (InternationalOrganization for Standardization – ISO)II. Lịch sử hình thành ISO 9000Chương IV. Khác biệt giữa ISO 9001:2000 vàCMM/CMMITìm hiểu các chuẩn cho phát triển phần mềm CMMILỜI NÓI ĐẦUTrong kỷ nguyên hiện đại, phần mềm đóng vai trò vô cùng quan trọng, có thể sosánh như một hệ thống thần kinh số điều khiển toàn bộ hoạt động hệ thống thông tintoàn cầu. Trong bối cảnh đó, một sai lầm dù nhỏ của phần mềm cũng có thể gây rahậu quả khôn lường. Chỉ vì một dấu phẩy “,” nhầm lần trong hệ thống phần mềm điềukhiển mà tàu vũ trụ Apll 11 của Mỹ đã nổ tung khi phóng lên quỹ đạo, gây thiệt hạihàng tỷ USD và nghiêm trọng là đã cướp đi mạng sống của toàn bộ phi hành đoàn.Chất lượng phần mềm đang là vấn đề làm đau đầu cả giới sản xuất và ứng dụng.Theo kết quả nghiên cứu của Viện Công Nghệ và Tiêu Chuẩn Quốc Gia (NIST) thuộcBộ Thương Mại Mỹ, các nhược điểm trong phần mềm không chỉ gây phiền phức chongười dùng mà hàng năm còn gây tổn thất cho nên kinh tế Mỹ ước đạt 59,5 tỷ USD.Tuy nhiên, cũng theo NIST, thử nghiệm để phát triển và loại bỏ khiếm khuyết ngay từquá trình sản xuất phần mềm có thể giảm mức thiệt hại khoảng 22,2 tỷ USD trongtổng số 59,5 ỷ USD.Khái niệm chất lương phần mềm có vẻ không mới, nhưng thực sự đó là khái niệmkhông dễ nắm bắt và làm chủ. Cùng với sự tăng trưởng mạnh của ngành phần mềmViệt Nam, đã đến lúc chúng ta phải dành sự quan tâm đúng mức cho chất lượng phầnmềm.Thời gian gần đây, nhiều doanh nghiệp Việt Nam đã nhận thức đúng về vai trò củachất lượng phần mềm và định hướng xây dựng các quy trình sản xuất phần mềm theochuẩn Quốc tế với mục đích sản xuất phần mềm chất lượng.Tìm hiểu các chuẩn cho phát triển phần mềm CMMIChương I. Tổng quan chất lượng phần mềmI. Chất lượng phần mềm là gìThế nào là phần mềm có chất lượng? Có người cho rằng chất lượng phần mềm làtốc độ thực hiện tốt. Người khác cho rằng phần mềm có chất lượng là phần mềm phùhợp với công việc của họ. Cũng có người cho rằng phần mềm không có lỗi là phầnmềm chất lượng cao. Hay phần mềm dễ sử dụng mới được gọi là phần mềm chấtlượng,…Tổng kết lại, người ta cho rằng phần mềm có chất lượng là phần mềm “thỏamãn được yêu cầu của người dùng”.Nhưng thế nào là thỏa mãn người dùng? Theo định nghĩa hình thức về chất lượng sảnphẩm phần mềm của Tổ chức tiêu chuẩn quốc tế ISO trong bộ tiêu chuẩn 8402, “chấtlượng là khả năng đáp ứng toàn diện nhu cầu của người dùng về tính năng cũng nhưcông dụng được nêu ra một cách tường minh hoặc không tường minh trong những ngữcảnh xác định”. Ngay trong định nghĩa này chất lượng cũng được định nghĩa một cáchrất “mờ”, thiếu yếu tố định lượng. Thêm nữa, để hiểu hết nhu cầu của người sử dụngquả thực là rất khó. Với những khó khăn về định lượng trong khái niệm chất lượngphần mềm, để có được một phần mềm tốt cách thông thường nhất là tiếp cận theo lốichất lượng quy trình. Nghĩa là nếu chúng ta có quy trình sản xuất tốt thì sẽ có khảnăng sản xuất ra sản phẩm tốt. Chất lượng phần mềm là sự đáp ứng các yêu cầu chức năng, sự hoàn thiện vàcác chuẩn (đặc tả) được phát triển, các đặc trưng mong chờ từ mọi phần mềmchuyên nghiệp (ngầm định).II. Quy trình đảm bảo chất lượng của tổ chức ISOTìm hiểu các chuẩn cho phát triển phần mềm CMMIBộ tiêu chuẩn chất lượng ISO 9001-3 của tổ chức ISO, quy định về “Quy trình đảmbảo chất lượng” trong các tổ chức phát triển phần mềm. Chứng chỉ ISO 9001 xác nhậncác tổ chức, đơn vị có quy trình đảm bảo chất lượng hợp chuẩn. Bên cạnh đó, một môhình khác là CMM (Capability Maturity Model) cũng đang rất được quan tâm tại ViệtNam. Công ty nhận được chứng chỉ CMM nghĩa là công ty đó đã đạt được mức độtương ứng với các cấp độ CMM của chứng chỉ. Một doanh nghiệp phát triển phầnmềm, nếu có chứng chỉ CMM hoặc ISO 9001 đều có khả năng sản xuất ra các phầnmềm tốt hơn hẳn các công ty chưa có chứng chỉ. Tuy nhiên, chúng ta cần lưu ý đâychỉ là “khả năng” chứ không phải là “chắc chắn”. Vẫn có doanh nghiệp có quy trìnhtốt nhưng sản xuất ra sản phẩm chất lượng không cao. Điều này chứng tỏ cách tiếpcận theo chất lượng quy trình chưa phải là cách tiếp cận toàn diện mà chỉ giải quyếtvấn đề ở mức căn bản.Những năm cuối thế kỷ 20, tổ chức ISO đã tập trung rất nhiều vào các tiêu chuẩnchất lượng cho phần mềm. Cách tiếp cận về chất lượng của ISO đã thực sự tiến thêmmột bậc, toàn diện hơn, phù hợp hơn. Kết quả của sự tập trung này là một loạt các bộtiêu chuẩn đã ra đời, nhằm hướng tới đánh giá chất lượng toàn diện trong suốt vòngđời của sản phẩm phần mềm, từ khi phôi thai cho tới lúc lạc hậu cần thay thế. Theocách tiếp cận của ISO, chất lượng toàn diện của phần mềm cần phải được quan tâm từchất lượng quy trình, tới chất lượng phần mềm nội bộ (chất lượng trong), chất lượngphần mềm đối chiếu với yêu cầu của người dùng (chất lượng ngoài) và chất lượngphần mềm trong sử dụng (chất lượng sử dụng).Ở một góc nhìn khác, vòng đời của một sản phẩm phần mềm bắt đầu từ các bài toánthực tiễn và được thể hiện theo quy trình sau:1. Từ các bài toán thực tiễn, nhu cầu để phần mềm hình thành;2. Nhu cầu này được thể hiện qua các tài liệu yêu cầu (Requirements);Tìm hiểu các chuẩn cho phát triển phần mềm CMMI3. Nhu cầu sẽ xác định yêu cầu chất lượng ngoài. Thỏa mãn được yêu cầu chấtlượng này sẽ thỏa mãn được yêu cầu của người sử dụng;4. Các yêu cầu chất lượng thể hiện trong tài liệu đặc tả hệ thống(Specification);5. Yêu cầu chất lượng ngoài là tiền đề cho yêu cầu chất lượng trong;6. Trong quá trình thiết kế phần mềm, các yêu cầu chất lượng trong được thểhiện trong các tiêu chí của phần mềm và chuyển thành chất lượng trong;7. Ứng với chất lượng trong có các độ đo chất lượng trong mà phần mềm phảiđáp ứng;8. Tới giai đoạn tích hợp chạy thử, vấn đề được quan tâm sẽ là chất lượngngoài. Phần mềm được gọi là có chất lượng khi tất cả các độ đo chất lượngngoài được đảm bảo;9. Trong quá trình vận hành, vẫn sử dụng các độ đo ngoài, chất lượng của phầnmềm trong quá trình vận hành, sử dụng sẽ tiếp tục được xem xét và cải tiến;10. Quá trình cải tiến sẽ diễn ra liên tục cho tới khi phần mềm trở nên lạc hậuhoàn toàn, cần được thay thế bằng một phần mềm mới.Chương II. Các chuẩn cho phát triển phần mềm CMMII. Mô hình trưởng thành năng lực tích hợp (CMM – Capability MaturityModel Integration)Thế nào là Mô hình trưởng thành năng lực tích hợpCapability Maturity Model – CMM là kết quả của một nghiên cứu được không quânMỹ tài trợ, nghiên cứu này được coi là một phương pháp đánh giá khách quan côngviệc của các nhà thầu về phần mềm. Bộ Quốc Phòng Mỹ cũng quan tâm tới việc chiphí phát triển phần mềm đang leo thang và các vấn đề liên quan đến chất lượng củacác phần mềm nên đã thành lập Viện Công nghệ Phần mềm (SEI) vào đầu những năm80, và bắt đầu nghiên cứu mô hình CMM vào năm 1988.Ban đầu, mô hình CMM được sử dụng như một công cụ để đánh giá khả năng củacác nhà thầu chính phủ khi họ tiến hành một dự án phần mềm theo hợp đồng. Mặc dùTìm hiểu các chuẩn cho phát triển phần mềm CMMICMM được thiết kế để đánh giá quá trình phát triển phần mềm nhưng nó đã và đangđược áp dụng như một mô hình chung cho kỳ hạn của các quá trình trong các công tyvề CNTT hay bất cứ công ty nào khác.Các nhà phê bình cũng nhận thấy CMM luôn được gắn chặt trong một mô hình pháttriển thác nước và không quan tâm tới các khía cạnh khác của quy trình phát triểnphẩn mềm như thiết kế và triển khai. CMM không phù hợp với các quy trình ngoại viliên quan đến việc phát triển phần mềm như là việc mua lại. CMM cũng bị phê phánlà tạo ra quá nhiều giấy tờ sổ sách và quá nhiều cuộc họp và nó cũng không phù hợpvới nhiều ngành công nghiệp.Các ngành công nghiệp và chính phủ đã tìm ra giải pháp cho vấn đề này bằng cácháp dụng CMM cho các lĩnh vực khác. Toàn bộ quy trình sẽ được giám sát bởi một banlãnh đạo bao gồm những người đại diện từ OSD, Không quân, Quân đội, Hải quân,các bộ phận khác của chính phủ, SEI và ngành công nghiệp. Nhiệm vụ của ban lãnhđạo này là hướng dẫn và giám sát quá trình phát triển dòng sản phẩm CMMI, đưa racác sản phẩm CMMI để thẩm tra và phát hành ra công chúng. Viện SEI phối hợp vớicác chuyên gia đề tài phụ trách quản lý dự án ban đầu là phát triển phần mềm, xâydựng hệ thống, phát triển quy trình và sản phẩm tích hợp. Các cổ đông/các nhà phêbình đều có quyền kiểm tra, phê bình và đưa ra những gợi ý để phát triển các sảnphẩm CMMI. Trong số những người này cũng có những đại diện từ ngành côngnghiệp, chính phủ và viện SEI.CMMI được tích hợp từ nhiều mô hình khác nhau, phù hợp cho cả những doanhnghiệp phần cứng và tích hợp hệ thống, chứ không chỉ đơn thuần áp dụng cho doanhnghiệp sản xuất phần mềm như CMM trước đây. CMMI đưa ra cụ thể các mô hìnhkhác nhau cho từng mục đích sử dụng có đặc điểm riêng bao gồm:Tìm hiểu các chuẩn cho phát triển phần mềm CMMI- CMMI-SW mô hình chỉ dành riêng cho phần mềm.- CMMI-SE/SW mô hình tích hợp dành cho các hệ thống và kỹ sưphần mềm.- CMMI-SE/SW/IPPD mô hình dành cho các hệ thống, kỹ sư phầnmềm và việc tích hợp sản phẩm cùng quá trình phát triển nóVậy như ta có thể thấy, CMMI không phải hoàn toàn mới. Hơn thế nữa, CMMI làmột sự kết hợp và phù hợp của nhiều biến thể CMM đã phát triển cùng với những yêucầu của ngành công nghiệp. Hiểu được CMM và nguồn gốc của nó, ta sẽ biết đượcnền tảng của CMMI. Và CMMI cũng được sử dụng ở hầu hết những nơi giống nhau –theo nghĩa về sự phát triển, không phải là cách mạng. CMMI mang lại sự khôn ngoancủa nhiều ngành công nghiệp khác nhau đã giúp CMM phù hợp với những ngànhcông nghiệp đó.II. CMMI – Phiên bản kế tiếp của CMMCả CMM và CMMI đều được Viện kỹ nghệ phần mềm Mỹ SEI tại trường Đại họcCarnegie Mellon ở Pittsburgh, PA phát triển. CMM đã có mặt từ cuối những năm 80và một thập kỷ sau nó bị CMMI thay thế. Năm 2000 CMMI phiên bản 1.02 được đưara thị trường. Phiên bản mới nhất hiện nay CMMI 1.2 được trình làng vào tháng 8năm 2006.CMMI viết tắt cho Capability Maturity Model Integration – Mô hình trưởng thànhnăng lực tích hợp – và là khuôn khổ cho cải tiến qui trình phần mềm. Nó dựa trên kháiniệm về các thực hành tốt nhất về kĩ nghệ phần mềm và giải thích kỉ luật mà các côngty có thể dùng để cải tiến các qui trình của họ.Mô hình CMMI là một khung các giải pháp tối ưu cho quá trình sản xuất phầnmềm. Phiên bản CMMI-DEV hiện nay (CMMI cho chuyên viên phát triển), mô tảnhững giải pháp tốt nhất trong quá trình kiểm soát, đo lường và kiểm tra các quy trìnhphát triển phần mềm. Mô hình CMMI không tập trung mô tả chính các quá trình màchỉ mô tả đặc điểm của các quá trình hiệu quả, vì vậy mô hình CMMI đưa ra chỉ dẫnTìm hiểu các chuẩn cho phát triển phần mềm CMMIcho các công ty để họ có thể tự mình phát triển hoặc điều chỉnh chính các quá trìnhcủa họ.Mô hình CMMI được mô tả trên trang web chính thức CMMI website: Dự ánCMMI là một nỗ lực chung nhằm cung cấp các mô hình để cải thiện nâng cấp các sảnphẩm và quy trình. Trọng tâm chính của dự án là tập trung xây dựng các công cụ hỗtrợ việc cải thiện các quy trình dùng để phát triển và ổn định các hệ thống và sảnphẩm. Kết quả của dự án CMMI là một bộ các sản phẩm cung cấp một phương pháptiếp cận tích hợp trên toàn doanh nghiệp để cải thiện các quy trình sản xuất mà vẫn cóthể giảm bớt nhân công dư thừa, độ phức tạp, và chi phí từ việc sử dụng các mô hìnhCMM (quy trình quản lý sản xuất phẩn mềm) riêng lẻ và nhiều mô hình CMM.III. CMMI được dùng để làm gì?Các công ty thương mại và chính phủ sử dụng mô hình CMMI để hỗ trợ viêc xácđịnh cải tiến quy trình để xây dựng hệ thống, xây dựng phần mềm và phát triển quytrình và sản phẩm tích hợp.Công ty sử dụng quy trình này để phát triển, thu thập và duy trì các sản phẩm vàdịch vụ và để làm chuẩn cho chính họ chống lại các công ty khác. Các quy trình tốthơn cũng có thể là những quy trình có giá rẻ hơn và kết quả chất lượng tốt hơn, cũngnhư là những quy trình này ước tính thời gian thực cho dự án chính xác hơn.Tuy nhiên, cũng giống như tất cả các cơ cấu khác, CMMI không thể nhanh chóngphù hợp với tất cả các công ty mà không ảnh hưởng đến sự phát triển của công ty đó.SEI cho biết việc cải thiện các dự án sẽ được tính bằng tháng và năm chứ không phảichỉ tính bằng ngày và tuần.Vì việc cải thiện dự án thường đòi hỏi phải có nhiều kiếnthức và nguồn lực nên các công ty lớn hơn có thể có được kết quả tốt hơn từ CMMI.Tuy nhiên, việc thay đổi quy trình CMMI cũng có thể giúp ích cho các công ty nhỏhơn.Tìm hiểu các chuẩn cho phát triển phần mềm CMMISEI không cấp giấy chứng nhận cho bất cứ loại hình CMMI nào. Đơn giản là SEIchỉ cấp giấy phép hoạt động và cho phép các nhà thẩm định hàng đầu tiến hành đánhgiá.IV. Lợi ích của CMM/CMMI Cải tiến năng lực của các tổ chức phần mềm bằng cách nâng cao kiến thứcvà kỹ năng của lực lượng lao động. Đảm bảo rằng năng lực phát triển phần mềm là thuộc tính của tổ chứckhông phải của một vài cá thể. Hướng các động lực của cá nhân với mục tiêu tổ chức. Duy trì tài sản con người, duy trì nguồn nhân lực chủ chốt trong tổ chức. Lợi ích CMM mang lại cho Doanh nghiệp gói gọn trong 4 từ: Attract,Develop, Motivate và Organize. Lợi ích CMM mang lại cho người lao động:- Môi trường làm việc, văn hóa làm việc tốt hơn.- Vạch rõ vai trò và trách nhiệm của từng vị trí công việc.- Đánh giá đúng năng lực, công nhận thành tích.- Chiến lược, chính sách đãi ngộ luôn được quan tâm.- Có cơ hội thăng tiến.- Liên tục phát triển các kỹ năng cốt yếu.V. Bộ CMM “Trưởng thành” là gì?Bộ này bao gồm tập hợp những mô hình trưởng thành cho những khía cạnh kháccủa các doanh nghiệp phần mềm như: Phần mềm CMM (CMM Software) Quá trình phần mềm cá nhân (Personal Software Process) Quá trình phần mềm đội (Team Software Process) Những người CMM (CMM People) Phần mềm thu nhận CMM (CMM Software Acquisition) Kỹ thuật hệ thống CMM (CMM System engineering) Phát triển sản phẩm tích hợp CMM (CMM Integraed ProductDevelopment) Sự tích họp CMM (CMM Integration)10Tìm hiểu các chuẩn cho phát triển phần mềm CMMIVI. Các level của CMM/CMMICMM bao gồm 5 levels và 18 KPAs (Vùng quy trình quan trọng – Key ProcessArea). Nói cách khác mỗi một level đều tuân theo một chuẩn ở mức độ cao hơn.Muốn đạt được chuẩn cao hơn thì các chuẩn của các level trước phải thoả mãn. Mỗilevel đều có đặc điểm chú ý quan trọng của nó cần các doanh nghiệp phải đáp ứngđược. Level 1 thì không có KPAs nào cả Level 2 : có 6 KPAs Level 3: có 7 KPAs Level 4: có 2 KPAs Level 5: có 3 KPAs18 KPAs của CMM được đều có 5 thuộc tính (chức năng) chung trong đó có cácqui định về key pratice là những hướng dẫn về các thủ tục (procedure), qui tắc(polities), và hoạt động (activites) của từng KPA.Mô hình này xác định năm cấp độ của CMM đối với một công ty : Khởi đầu (lộnxộn, không theo chuẩn) – Lặp (quản lý dự án, tuân thủ quy trình) – Xác lập (thể chếhóa) – Kiểm soát (định lượng) – Tối ưu (cải tiến quy trình).11Tìm hiểu các chuẩn cho phát triển phần mềm CMMI Level 1Level 1 là bước khởi đầu của CMM, mọi doanh nghiệp, công ty phần mềm, cánhóm, cá nhân đều có thể đạt được. Ở lever này CMM chưa yêu cầu bất kỳ tính năngnào. Ví dụ: không yêu cầu quy trình, không yêu cầu con người, miễn là cá nhân,nhóm, doanh nghiệp… đều làm về phầm mềm đều có thể đạt tới CMM này.Đặc điểm:• Hành chính: Các hoạt động của lực lượng lao động được quan tâm hàng đầunhưng được thực hiện một cách vỗi vã hấp tấp.• Không thống nhất: Đào tạo quản lý nhân lực nhỏ lẻ chủ yếu dựa vào kinhnghiệp cá nhân.• Quy trách nhiệm: Người quản lý mong bộ phận nhân sự điều hành và kiểmsóat các hoạt động của lực lượng lao động.• Quan liêu: Các hoạt động của lực lượng lao động được đáp ứng ngay màkhông cần phân tích ảnh hưởng.• Doanh số thường xuyên thay đổi: Nhân viên không trung thành với tổ chức. Level 2Có 6 KPA nó bao gồm như sau:• Requirement Management (Lấy yêu cầu khách hàng, quản lý các yêu cầu đó)• Software Project Planning (Lập các kế hoạch cho dự án)• Software Project Tracking (Theo dõi kiểm tra tiến độ dự án)• Software SubContract Managent (Quản trị hợp đồng phụ phần mềm)• Software Quality Assurance (Đảm bảo chất lượng sản phẩm)• Software Configuration Management (Quản trị cấu hình sản phẩm => đúng yêucầu của khách hàng không)Khi ta áp dụng Level 2, KPA 2 (Software Project Planning), ta sẽ có nhữngcommon feature (đặc điểm đặc trưng) như sau:12Tìm hiểu các chuẩn cho phát triển phần mềm CMMI• Mục tiêu (Goal): các hoạt động và những đề xuất của một dự án phần mềmphải được lên kế hoạch và viết tài liệu đầy đủ.• Đề xuất/ Xem xét (Commitment): dự án phải tuân thủ theo các qui tắc của tổchức khi hoạch định.• Khả năng (Ability): Việc thực hiện lập kế hoạch cho dự án phần mềm phảilà bước thực hiện từ rất sớm khi dự án đưọc bắt đầu.• Đo lường (Measument): Sự đo lường luôn được thực thi và sử dụng chúng taluôn có thể xác định và kiểm soát được tình trạng các hoạt động trong tiếntrình thực hiện dự án .• Kiểm chứng (Verification): Các hoạt động khi lập kế hoạch dự án phải đượcsự reviewed của cấp senior manager.Để đạt được Level 2 thì người quản lý phải thiết lập được các nguyên tắc cơ bản vàquản lý các hoạt động diễn ra. Họ có trách nhiệm quản lý đội ngũ của mình.Các KPA (Key Process Areas) của nó chú trọng tới các thành phần sau:• Chế độ đãi ngộ• Đào tạo• Quản lý thành tích• Phân công lao động• Thông tin giao tiếp• Môi trường làm việc Để từ Level 1 tiến tới Level 2 cần có những gì?Trước tiên nó phải thỏa mãn các điều kiện ở Level 1. Tiếp theo là phải chú trọng tớicác phần sau:• Môi trường làm việc- Đảm bảo điều kiện làm việc- Tạo hứng thú trong công việc- Không bị ảnh hưởng, mất tập trung bởi các nhân tố khác• Thông tin13Tìm hiểu các chuẩn cho phát triển phần mềm CMMIXây dựng cơ chế truyền tin thông suốt từ trên xuống dưới và ngược lại nhằm giúpcá nhân trong tổ chức chia sẽ thông tin, kiến thức, kinh nghiệm, các kỹ năng giao tiếpphối hợp và làm việc hiệu quả• Xây dựng đội ngũ nhân viênNgay từ khâu tuyển dụng, lựa chọn kỹ càng và định hướng, thể chế hóa quy trìnhtuyển dụng• Quản lý thành tíchĐẩy mạnh thành tích, công nhận năng lực, thành tích bằng cách thiết lập các tiêuchí khách quan để đánh giá và liên tục khuyến khích khả năng làm việc, tập trung pháttriển sự nghiệp, xây dựng các mục tiêu tiếp theo.• Đào tạoKhông chỉ đào tạo các kiến thức chuyên môn phục vụ cho dự án mà còn mở rộngđào tạo các kỹ năng then chốt, cần thiết như kỹ năng làm việc đội, nhóm, kỹ năngquản lý… nhằm tạo cơ hội cho người lao động phát huy khả năng, cơ hội học hỏi vàphát triển bản thân.• Chế độ đãi ngộHoạch định chiến lược đãi ngộ, thu thập ý kiến lực lượng lao động và công bố côngkhai. Chế độ đãi ngộ cần tập trung vào việc trả lương cho công nhân viên dựa vào vaitrò, vị trí của họ (Position), Con người (Person) – thái độ và tác phong làm việc vàThành tích (Performance) mà họ đạt được, cống hiến cho tổ chức. Đưa ra được chínhsách lương, thưỏng, phụ cấp các các quyền lợi khác để khuyến khích các cá nhân dựatrên sự đóng góp của họ và cấp độ phát triển của toàn tổ chức.14Tìm hiểu các chuẩn cho phát triển phần mềm CMMI Level 3Các vùng tiến trình chủ chốt ở mức 3 nhằm vào cả hai vấn đề về dự án và tổ chức,vì một tổ chức (công ty) tạo nên cấu trúc hạ tầng thể chế các quá trình quản lý và sảnxuất phần mềm hiệu quả qua tất cả các dự án. Chúng gồm có Tập trung Tiến trình Tổchức (Organization Process Focus), Phân định Tiến trình Tổ chức (OrganizationProcess Definition), Chương trình Đào tạo (Training Program), Quản trị Phần mềmTí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), và Xétduyệt ngang hàng (Peer Reviews).Để đạt được Level 3 thì người quản lý phải biến đổi cải tiến các hoạt động đangdiễn ra, cải tiến môi trường làm việc. Lực lượng lao động sở hữu những kiến thức, kỹnăng cốt lõi.KPA chú trọng tới các yếu tố sau :• Văn hóa cá thể• Công việc dựa vào kỹ năng• Phát triển sự nghiệp• Hoạch định nhân sự• Phân tích kiến thức và kỹ năng Từ Level 2 lên Level 3: Các KPA cần thực hiện• Phân tích kiến thức và kỹ năngXác định những kỹ năng và kiến thức cần thiết để làm nền tảng cho hoạt động nhânsự. Lĩnh vực phân tích này bao gồm: xác định quy trình cần thiết để duy trì năng lựctổ chức, phát triển và duy trì các kỹ năng và kiến thức phục vụ công việc, dự báo nhucầu kiến thức và kỹ năng trong tương lai.• Hoạch định nguồn nhân lực15Tìm hiểu các chuẩn cho phát triển phần mềm CMMIĐây là lĩnh vực phối hợp hoạt động nhân sự với nhu cầu hiện tại và trong tương laiở cả các cấp và toàn tổ chức. Hoạch định nguồn nhân lực có tính chiến lược cùng vớiquy trình theo dõi chặt chẽ việc tuyển dụng và các hoạt động phát triển kỹ năng sẽ tạonên thành công trong việc hình thành đội ngũ.• Phát triển sự nghiệpTạo điều kiện cho mỗi cá nhân phát triển nghề nghiệp và có cơ hội thăng tiến trongnghề nghiệp, nó bao gồm: thảo luận về lựa chọn nghề nghiệp với mỗi cá nhân, xácđịnh các cơ hội, theo dõi sự tiến bộ trong công việc, được động viên, khuyến khích đạtmục tiêu công việc, giao quyền và khuyến khích thực hiện những mục tiêu trong côngviệc.• Các hoạt động dựa trên năng lựcNgoài các kỹ năng, kiến thức cốt lõi còn có hoạch định nhân lực, tuyển dụng dựavào khả năng làm việc, đánh giá hiệu quả qua mỗi công việc và vị trí, xây dựng chế độphúc lợi, đãi ngộ dựa trên hiệu quả… giúp bảo đảm rằng mọi hoạt động của tổ chứcđều xuất phát từ mục đích phục vụ cho phát triển nguồn nhân lực• Văn hóa cá thểTạo lập được cơ chế liên lạc thông suốt, kênh thông tin hiệu quả ở mọi cấp độ trongtổ chức, phối hợp được kinh nghiệm, kiến thức của mỗi người để hỗ trợ lẫn nhau, giúpnhau cùng tiến bộ. Trao quyền thúc đẩy nhân viên tham gia ý kiến, ra quyết định. Level 4Các vùng tiến trình chủ yếu ở mức 4 tập trung vào thiết lập hiểu biết định lượng củacả quá trình sản xuất phần mềm và các sản phẩm phần mềm đang được xây dựng. Đó16Tìm hiểu các chuẩn cho phát triển phần mềm CMMIlà Quản lý quá trình định lượng (Quantitative Process Management) và Quản lý chấtlượng phần mềm (Software Quality Management).Lực lượng lao động làm việc theo đội, nhóm và được quản lý một cách định lượng.Các KPA của level 4 chú trọng tới:• Chuẩn hóa thành tích trong tổ chức• Quản lý năng lực tổ chức• Công việc dựa vào cách làm việc theo nhóm• Xây dựng đội ngũ chuyên nghiệp• Cố vấnĐể đạt được level 4 thì phải đo lường và chuẩn hóa. Đo lường hiệu quả đáp ứngcông việc, chuẩn hóac phát triển các kỹ năng, năng lực cốt lõi.Level 4 này sẽ chú trọng vào những người đứng đầu của một công ty, họ có khảnăng quản lý các công việc như thế nào. Level 5Các vùng tiến trình chủ yếu ở mức 5 bao trùm các vấn mà cả tổ chức và dự án phảinhắm tới để thực hiện hoàn thiện quá trình sản xuất phần mềm liên tục, đo đếm được.Đó là Phòng ngừa lỗi (Defect Prevention), Quản trị thay đổi công nghệ (TechnologyChange Management), và Quản trị thay đổi quá trình (Process Change Management)Để đạt được level 4 thì phải đo lường và chuẩn hóa. Đo lường hiệu quả đáp ứng côngviệc, chuẩn hóa phát triển các kỹ năng, năng lực cốt lõi.Để đạt được Level 5 thì doanh nghiệp đó phải liên tục cải tiến hoạt động tổ chức,tìm kiếm các phương pháp đổi mới để nâng cao năng lực làm việc của lực lượng laođộng trong tổ chức, hỗ trợ các nhân phát triển sở trường chuyên môn. Chú trọng vào17Tìm hiểu các chuẩn cho phát triển phần mềm CMMIviệc quản lý, phát triển năng lực của nhân viên. Huấn luyện nhân viên trở thành cácchuyên gia.Chương III. Hệ thống quản lý chất lượng – Các yêu cầu – ISO 9001I. Tổ chức tiêu chuẩn hóa quốc tế (International Organization forStandardization – ISO)ISO là một tổ chức quốc tế về vấn đề tiêu chuẩn hóa có tên đầy đủ là TheInternational Organization for Standardization. Các thành viên của nó là các tổ chứctiêu chuẩn quốc gia của hơn một trăm nước trên thế giới.ISO là tổ chức phi chính phủ, ra đời và hoạt động từ 23/2/1947. Nhiệm vụ của ISOlà thúc đẩy sự phát triển của vấn đề tiêu chuẩn hóa và những hoạt động có liên quannhằm tạo điều kiện thuận lợi cho việc trao đổi hàng hóa, dịch vụ quốc tế và sự hợp tácphát triển trong các lĩnh vực trí tuệ, khoa học, kỹ thuật và mọi hoạt động kinh tế khác.Trụ sở chính của ISO đặt tại Genève – Thụy Sĩ, ngôn ngữ sử dụng là tiếng Anh,Pháp, Tây Ban Nha.Hàng năm chi phí về hoạt động của ISO là 125 triệu France Thụy Sĩ, trong đó 80%là đóng góp trực tiếp của các thành viên chính, 20% do việc bán ấn phẩm đem lại. Sốtiền đóng góp cho chi phí của ISO được tính tùy theo giá trị tổng sản phẩm xã hội vàgiá trị xuất nhập khẩu của các nước thành viên.Việt Nam là thành viên thứ 72 của ISO, gia nhập năm 1977 và được bầu vào banchấp hành của ISO năm 1996.18Tìm hiểu các chuẩn cho phát triển phần mềm CMMIII. Lịch sử hình thành ISO 9000Mỗi tổ chức với vai trò là người cung ứng có năm nhóm người có liên quan về lợiích là : khách hàng, nhân viên, lãnh đạo, bên cung ứng phụ và xã hội.Bên cung ứng cần thỏa mãn những mong muốn và nhu cầu của tất cả những ngườicó liên quan về lợi ích của mình.Người có liên quan Mong muốn hoặc nhu cầuKhách hàng Chất lượng sản phẩmNhân viên Thỏa mãn về sự nghiệpLãnh đạo Hiệu quả đầu tưBên cung ứng phụ Tiếp tục khả năng lãnh đạoXã hội Sự quản lý có trách nhiệmBảng 8.1. Mong muốn của những người có liên quanCác yêu cầu của xã hội, như một trong năm người có lợi ích liên quan, ngày càngtrở nên khắt khe hơn trên toàn thế giới. Thêm vào đó, các mong muốn và nhu cầungày càng được lưu tâm nghiên cứu như an toàn và bảo vệ sức khỏe nơi làm việc, bảovệ môi trường và an ninh.Trong những năm 70 nhìn chung giữa các ngành công nghiệp và các nước trên thếgiới có những nhận thức khác nhau về “chất lượng”. Do đó, Viện tiêu chuẩn AnhQuốc (British Standard Institute – BSI) là một thành viên của ISO đã chính thức đềnghị ISO thành lập một ủy ban kỹ thuật để phát triển các tiêu chuẩn quốc tế về kỹthuật và thực hành bảo đảm chất lượng, nhằm tiêu chuẩn hóa việc quản lý chất lượng19Tìm hiểu các chuẩn cho phát triển phần mềm CMMItrên toàn thế giới. Ủy ban kỹ thuật 176 (TC 176 – Technical committee 176) ra đờigồm đa số là thành viên của cộng đồng Châu Âu đã giới thiệu một mô hình về hệthống quản lý chất lượng dựa trên các tiêu chuẩn sẳn có của Anh quốc là BS-5750.Mục đích của nhóm TC176 là nhằm thiết lập một tiêu chuẩn duy nhất sao cho có thểáp dụng được vào nhiều lĩnh vực kinh doanh, sản xuất và dịch vụ . Bản thảo đầu tiênxuất bản vào năm 1985, được chấp thuận xuất bản chính thức vào năm 1987 và sau đóđược tu chỉnh vào năm 1994 với tên gọi ISO 9000.Quá trình hình thành sơ lược như sau:• 1956 Bộ Quốc Phòng Mỹ thiết lập hệ thống MIL – Q9858, nó được thiếtkế như là một chương trình quản trị chất lượng.• 1963, MIL-Q9858 được sửa đổi và nâng cao.• 1968, NATO chấp nhận MIL-Q9858 vào việc thừa nhận hệ thống bảođảm chất lượng của những người thầu phụ thuộc các thành viên NATO(Allied Quality Assurance Publication 1 – AQAP – 1 ).• 1970, Bộ Quốc Phòng Liên Hiệp Anh chấp nhận những điều khoản củaAQAP – 1 trong Chương trình quản trị Tiêu chuẩn quốc phòng,DEF/STAN 05-8.• 1979, Viện Tiêu Chuẩn Anh Quốc (British Standards Institute – BSI) đãphát triển thành BS 5750, hệ thống tiêu chuẩn chất lượng quản trị đầu tiêntrong thương mại.• 1987, Tổ chức quốc tế về tiêu chuẩn hóa – ISO – chấp nhận hầu hết cáctiêu chuẩn BS 5750 và ISO 9000 được xem là những tài liệu tương đươngnhư nhau trong áp dụng các tiêu chuẩn chất lượng quản trị.• 1987, Ủy ban Châu Âu chấp nhận ISO 9000 và theo hệ thống Châu ÂuEN 29000.• 1987, Hiệp hội kiểm soát chất lượng Mỹ (ASQC) và Viện tiêu chuẩn quốcgia Mỹ (ANSI) thiết lập và ban hành hệ thống Q-90 mà bản chất chủ yếulà ISO 9000.20Tìm hiểu các chuẩn cho phát triển phần mềm CMMI• Các thành viên của Ủy ban Châu Âu (EC) và Tổ chức mậu dịch tự doChâu Âu (EFTA) đã thừa nhận tiêu chuẩn ISO 9000 và buộc các thànhviên của cộng đồng Âu Châu phải thực hiện theo các tiêu chuẩn này trongcung cấp hàng hóa và dịch vụ.• Tại Việt Nam, Tổng cục tiêu chuẩn đo lường chấp thuận hệ thống tiêuchuẩn ISO 9000 thành hệ thống tiêu chuẩn TCVN ISO 9000.1. Thành phần của Bộ tiêu chuẩn ISO 9000Bộ tiêu chuẩn ISO 9000 bao gồm:• ISO 9000: 2005 Hệ thống quản lý chất lượng – Cơ sở và từ vựng.• ISO 9001: 2008 Hệ thống quản lý chất lượng – Các yêu cầu.• ISO 9004: 2000 Hệ thống quản lý chất lượng – Hướng dẫn cải tiến hiệuquả.• ISO 19011: 2002 Hướng dẫn đánh giá hệ thống quản lý chất lượng vàmôi trường.2. ISO 9001:2008Tiêu chuẩn ISO 9001:2008 Hệ thống quản lý chất lượng – Các yêu cầu: Đây là tiêuchuẩn trung tâm quan trọng nhất của Bộ tiêu chuẩn ISO 9000, nó sử dụng ở bất kì tổchức mà thiết kế, phát triển, sản xuất, lắp đặt hay phục vụ cho bất kì 1 sản phẩm nàohoặc cung cấp bất kì kiểu dịch vụ nào. Nó đem lại số lượng yêu cầu mà các tổ chứccần phải hoàn thành nếu như nó làm vừa lòng khách hàng thông qua những sản phẩmvà dịch vụ hoàn chỉnh mà làm thỏa mãn mong chờ của khách hàng. Đây chỉ là sự thựchiện một cách đầy đủ đối với bên kiểm sóat thứ ba mà trao bằng chứng nhận.ISO 9001: 2008, Quality management system- Requirements (Hệ thống quản lýchất lượng – Các yêu cầu), là phiên bản thứ 4 của tiêu chuẩn trong đó phiên bản đầutiên được ban hành vào năm 1987 và đã trở thành chuẩn mực toàn cầu đảm bảo khả21Tìm hiểu các chuẩn cho phát triển phần mềm CMMInăng thỏa mãn các yêu cầu về chất lượng và nâng cao sự thỏa mãn của khách hàngtrong các mối quan hệ nhà cung cấp-khách hàng.ISO 9001:2008 không đưa ra các yêu cầu mới so với phiên bản năm 2000 đã bị thaythế, mà chỉ làm sáng tỏ những yêu cầu hiện có của ISO 9001:2000 dựa vào kinhnghiệm áp dụng trong 8 năm qua và đưa ra những thay đổi hướng vào việc cải thiệnnhằm tăng cường tính nhất quán với tiêu chuẩn ISO 14001: 2004 về hệ thống quản lýmôi trường.a. Lợi ích của doanh nghiệp, cơ quan, tổ chức khi áp dụng và duy trì hệ thốngquản lý chất lượng ISO 9001.• Sản phẩm có chất lượng ổn định hơn, giảm sản phẩm hỏng.• Tăng sản lượng do kiểm soát được thời gian trong quá trình sản xuất.• Lợi nhuận tăng cao hơn do sản xuất hiệu quả, giảm chi phí (giảm lãngphí).• Hệ thống quản lý gọn nhẹ, chặt chẽ, vận hành hiệu quả và nhanh chóng.• Kiểm soát được chất lượng nguyên vật liệu đầu vào do kiểm soát đượcnhà cung cấp.• Luôn cải tiến để cung cấp sản phẩm thoả mãn được yêu cầu kháchhàng.• Tăng uy tín trên thị trường, tăng thị phần trong và ngoài nước.• Mọi người hiểu rõ hơn vai trò của mình trong công ty, biết rõ tráchnhiệm và quyền hạn của mình hơn nên chủ động thực hiện công việc.• Nhân viên được đào tạo huấn luyện tốt hơn, chuyên nghiệp hơn.b. Tổ chức nào cần xây dựng Hệ Thống Quản Lý Chất Lượng ISO 9001: 2008?• Tổ chức muốn khẳng định khả năng cung cấp các sản phẩm một cáchổn định đáp ứng các yêu cầu khách hàng và các yêu cầu chế định thíchhợp.• Tổ chức muốn nâng cao sự thoả mãn của khách hàng.22Tìm hiểu các chuẩn cho phát triển phần mềm CMMI• Tổ chức cần cải tiến liên tục kết quả hoạt động sản xuất kinh doanhnhằm đạt được các mục tiêu.• Tăng lợi nhuận, tăng sản phẩm và giảm sản phẩm hư hỏng, giảm lãngphí.c. Các tiêu chí đánh giá phần mềm theo chuẩn ISO 9001:2008• Trách nhiệm của lãnh đạoLãnh đạo của bên cung ứng với trách nhiệm điều hành phải xác định và thành lậpvăn bản chính sách của mình đối với chất lượng, bao gồm mục tiêu và những cam kếtcủa mình về chất lượng. Chính sách chất lượng phải thích hợp với mục tiêu tổ chứccủa bên cung ứng và nhu cầu, mong đợi của khách hàng. Bên cung ứng phải đảm bảorằng chính sách này phải được thấu hiểu, thực hiện và duy trì ở tất cả các cấp của cơsở.• Hệ thống chất lượng.Bên cung ứng phải xây dựng, lập văn bản và duy trì một hệ thống chất lượng làmphương tiện để đảm bảo rằng sản phẩm phù hợp với yêu cầu qui định. Bên cung ứngphải lập sổ tay chất lượng bao quát các yêu cầu của tiêu chuẩn này. Sổ tay chất lượngphải bao gồm hay viện dẫn các thủ tục của hệ thống chất lượng và giới thiệu cơ cấucủa hệ thống văn bản sử dụng trong sổ tay chất lượng.• Xem xét hợp đồngBên cung ứng phải lập và duy trì các thủ tục dạng văn bản để xem xét hợp đồng vàđể phối hợp các hoạt động này.• Kiểm soát thiết kế23Tìm hiểu các chuẩn cho phát triển phần mềm CMMIBên cung ứng phải thiết lập và duy trì các thủ tục để quản lý và thẩm tra nhằm thiếtkế sản phẩm để đảm bảo rằng các yêu cầu đặt ra được thỏa mãn. Các kết quả thiết kếphải được lập thành văn bản và được thể hiện dưới dạng có thể thẩm tra, xác nhậntheo các yêu cầu về dữ liệu thiết kế.Các kết quả thiết kế phải :- Đáp ứng các yêu cầu về dữ liệu thiết kế;- Bao gồm hoặc nêu tài liệu tra cứu về chuẩn mực chấp nhận.Định rõ các đặc tính thiết kế có ý nghĩa quan trọng đối với an toàn và chức nănglàm việc tốt của sản phẩm (Ví dụ : yêu cầu vận hành, bảo quản, vận chuyển, bảo trì vàthanh lý).Tất cả các thay thế và sửa đổi phải được xác định, lập thành văn bản, xem xét vàxét duyệt bởi người có thẩm quyền trước khi thực hiện.• Kiểm soát tài liệuBên cung ứng phải lập và duy trì các thủ tục bằng văn bản để kiểm soát mọivăn bản và dữ liệu liên quan tới các yêu cầu của tiêu chuẩn này và trong phạm vi cóthể, bao gồm cả các tài liệu có nguồn gốc từ bên ngoài, ví dụ như tiêu chuẩn và cácvăn bản của khách hàng.• Mua sản phẩmNgười cung ứng phải lập và duy trì các thủ tục thành văn bản để đảm bảo sản phẩmmua vào phù hợp với yêu cầu quy định.• Kiểm soát sản phẩm do khách hàng cung cấp24Tìm hiểu các chuẩn cho phát triển phần mềm CMMIBên cung ứng phải lập và duy trì các thủ tục dạng văn bản để kiểm soát việc kiểmtra xác nhận, bảo quản và bảo dưỡng sản phẩm do khách hàng cung cấp để góp vàosản phẩm được cung cấp hay dùng cho các hoạt động có liên quan. Bất kỳ sản phẩmnào mất mát, hư hỏng hoặc không phù hợp với mục đích sử dụng phải lập hồ sơ vàbáo cho khách hàng.• Nhận biết và xác định nguồn gốc sản phẩm.Khi cần thiết, bên cung ứng phải lập và duy trì các thủ tục để nhận biết sản phẩmbằng các biện pháp thích hợp, từ lúc nhận đến tất cả các giai đoạn sản xuất, phân phốivà lắp đặt.Bên cung ứng phải xác định và lập kế hoạch sản xuất, các quá trình lắp đặt và dịchvụ kỹ thuật có ảnh hưởng trực tiếp đến chất lượng và phải đảm bảo rằng các quá trìnhnày được tiến hành trong những điều kiện được kiểm soát.• Kiểm tra và thử nghiệmBên cung ứng phải lập và duy trì thủ tục dạng văn bản đối với các hoạt động kiểmtra và thử nghiệm để xác nhận rằng mọi yêu cầu đối với sản phẩm được đáp ứng. Việckiểm tra và thử nghiệm và các hồ sơ cần có phải trình bày chi tiết trong kế hoạch chấtlượng hay các thủ tục dạng văn bản.• Kiểm soát thiết bị kiểm tra, đo lường và thử nghiệmBên cung ứng phải qui định và duy trì thủ tục dạng văn bản để kiểm soát, hiệuchỉnh và bảo dưỡng các thiết bị kiểm tra, đo lường và thử nghiệm (bao gồm cả phầnmềm) được họ sử dụng để chứng tỏ sự phù hợp của sản phẩm với các yêu cầu quiđịnh. Phải sử dụng thiết bị kiểm tra, đo lường, thử nghiệm sao cho biết được độkhông đảm bảo của phép đo và nó phải tương ứng với yêu cầu của phép đo.25