(Post 02/03/2007) Quản lý chất lượng phần mềm
là vấn đề không mới nhưng theo một số đánh giá là còn yếu của các công
ty phần mềm Việt Nam. Một số công ty trong nước hiện đã đạt các chuẩn
quốc tế CMM/CMMI trong nâng cao năng lực và quản lý chất lượng phần mềm,
song chỉ đếm được trên đầu ngón tay, và hiện cũng chỉ gói gọn trong vài
công ty gia công cho thị trường nước ngoài. Làm thế nào để một công ty
này đạt được chuẩn quốc tế về chất lượng phần mềm? Mỗi công ty đều có
đặc thù riêng, tuy nhiên điều chung nhất là họ đều phải phát triển và
duy trì một Hệ thống quản lý chất lượng phần mềm.
Hình 3: Mô hình tổ chức truyền thống |
|
Các phần đã đăng:
6. Quản lý cấu hình
Mục đích của quản lý cấu hình (QLCH) là để thiết lập
và bảo đảm tính toàn vẹn của các sản phẩm trung gian cũng như các sản
phẩm sau cùng của một dự án PM, xuyên suốt chu kỳ sống của dự án đó.
QLCH bao gồm nhiều hoạt động, tuy nhiên về cơ bản chúng
bao gồm bốn hoạt động chính: nhận dạng (identification), kiểm soát (control),
kiểm kê báo cáo (accounting) và kiểm tra đánh giá (audit). Tùy theo độ
lớn và độ phức tạp của dự án, phạm vi và mức độ áp dụng của các hoạt động
QLCH sẽ khác nhau. Với những hệ thống lớn và phức tạp, mỗi hoạt động QLCH
phải do những người được giao trách nhiệm (role) cụ thể phụ trách. Tùy
yêu cầu, một số hoạt động QLCH được làm không chính thức (informal) hoặc
chính thức (formal), nhằm quản lý tốt quá trình phát triển của phần mềm,
đặc biệt là quản lý sự thay đổi trong dự án.
7. Bảo mật
Bảo mật luôn là vấn đề gây nhức nhối vì thường không
được nhận thấy cho đến khi hệ thống bị chọc thủng. Bảo mật có ba khía
cạnh chính, bảo mật nội dung dữ liệu, bảo mật dữ liệu đang được truyền
(trên đường truyền) và bảo mật về mặt vật lý của vật chứa dữ liệu. Các
hoạt động bảo mật được áp dụng cho cả nội dung dữ liệu lẫn bản thân vật
lý của vật chứa dữ liệu.
Các yếu tố hay nguyên nhân tác động đến dữ liệu hoặc
trung tâm dữ liệu của hệ thống PM rất đa dạng. Đó có thể là tự nhiên hoặc
cố ý, chẳng hạn thiên tai, cháy, virus, hacker, phá hoại của chính nhân
viên công ty, ăn cắp dữ liệu, thậm chí ngày nay còn do các hoạt động khủng
bố gây ra. Trong một số tổ chức, việc bảo mật dữ liệu lưu trữ và dữ liệu
chuyển dịch được xem là vấn đề sống còn.
Một lý do gây hỏng dữ liệu rất thường gặp là dữ liệu
bị thay đổi một cách vô tình không kiểm soát được. Một khi dữ liệu đã
không đúng, điều tất yếu là hệ thống phần mềm sử dụng dữ liệu đó sẽ cho
ra những kết quả sai. Đối với người dùng, đó là một hệ thống không tốt,
thậm chí là không dùng được.
Một hệ thống PM "tốt" phải chú ý tới tất cả
những yếu tố có thể ảnh hưởng đến dữ liệu hoặc hoạt động của hệ thống.
Một hệ thống "tốt" còn phải tính đến khả năng phục hồi dữ liệu,
phục hồi hoạt động của hệ thống khi xảy ra sự cố.
8. Đào tạo/huấn luyện
Nói đơn giản, huấn luyện nhằm trang bị cho những người
phát triển cũng như sử dụng PM có đủ kiến thức và kỹ năng để thực hiện
công việc của họ.
Tất cả mọi biện pháp quản lý, kỹ thuật sản xuất, công
cụ hỗ trợ trong sản xuất PM đều trở nên vô hiệu hoặc có hiệu quả hết sức
hạn chế nếu những người tham gia phát triển và sử dụng PM không đủ kiến
thức, kỹ năng cần thiết. Liên quan đến lý do nầy, các tiêu chuẩn quản
lý chất lượng như ISO, CMM/CMMi đều xác lập khả năng, kiến thức và kỹ
năng của những người phát triển PM là một trong những yêu cầu cốt yếu
để bảo đảm các tiêu chí và mục tiêu về chất lượng.
Một khía cạnh khác thường được cho là ít quan trọng nhưng
thực ra lại mang tính quyết định, đó là khả năng hiểu để sử dụng PM của
người sử dụng. Người sử dụng thường chỉ có ý tưởng về yêu cầu đối với
PM và không biết sử dụng hoặc sử dụng không đúng cách làm PM "chạy"
sai hoặc không hết chức năng. Do vậy huấn luyện cho người sử dụng cũng
là một khâu hết sức cơ bản. Nhưng thực tế những người phát triển PM lại
không có thời gian và kỹ năng thực hiện tốt việc huấn luyện, việc nầy
thường phải do một bộ phận chuyên trách trong công ty thực hiện.
Bảng
một số tài liệu cơ bản thông dụng |
Kích thước dự án |
Tài liệu thường có |
Nhỏ |
Đặc tả yêu cầu
Tài liệu thiết kế
Kết quả kiểm tra phần mềm
Các kế hoạch của dự án |
Trung bình |
Tài liệu như dự án nhỏ, cộng thêm
Thiết kế cấp cao
Thiết kế chi tiết
Các trường hợp kiểm tra (test cases) |
Lớn |
Tài liệu như dự án trung bình, cộng thêm
Kế hoạch kiểm tra
Các yêu cầu và thiết kế giao tiếp |
Các tài liệu khác
(không phụ thuộc kích thước dự án) |
Yêu cầu và thiết kế cơ sở dữ liệu
Hướng dẫn thao tác và sử dụng phần mềm
Kế hoạch bảo trì
Kế hoạch huấn luyện
Kế hoạch kiểm soát rủi ro
Kế hoạch an toàn |
9. Quản lý người cung cấp
Trong các tổ chức PM, mua hay thuê sản phẩm hoặc dịch
vụ từ một người cung cấp thứ ba là rất phổ biến. Việc "mua"
có thể bao gồm những mặt hàng đơn giản như máy tính, máy in, cho đến những
dịch vụ thuê gia công PM. Chất lượng của sản phẩm và dịch vụ "mua"
này nếu quản lý không tốt sẽ ảnh hưởng quan trọng đến sản phẩm hoặc dịch
vụ của tổ chức cung cấp cho khách hàng của mình.
Đối tượng sản phẩm hoặc dịch vụ cần mua hay thuê rất
đa dạng, tùy mỗi loại và độ phức tạp, các tổ chức sẽ có những biện pháp
và mức độ quản lý chất lượng tương ứng.
10. Quản lý rủi ro
Rủi ro (risk) là một yếu tố tồn tại trong mọi dự án.
Quan niệm về quản trị dự án cho rằng "người quản trị dự án giỏi là
người không ngạc nhiên về các sự kiện xảy ra trong dự án", điều nầy
có nghĩa là mọi rủi ro tiềm ẩn phải được "nhìn thấy" trước,
đi đôi với kế hoạch giải quyết.
Rủi ro là một sự kiện chưa nhưng có khả năng xảy ra,
và khi nó xảy ra thường sẽ đặt một dự án vào tình huống xấu, hoặc thậm
chí là một "tai nạn" cản trở khả năng hoàn thành các mục tiêu
của một dự án. Có nhiều loại cũng như cách xếp các loại rủi ro khác nhau,
tuy nhiên nhìn chung có các loại sau:
- Về kỹ thuật: Chủ yếu xoay quanh việc có hiểu đúng và đủ các yêu
cầu đặt ra cho dự án hay không, cũng như có giải pháp đúng để giải
quyết chúng hay không. Việc hiểu sai yêu cầu cũng như đưa ra giải
pháp sai là nguyên nhân hàng đầu làm dự án thất bại.
- Về quản lý: Xoay quanh các vấn liên quan về mặt quản lý. Chúng
cũng rất đa dạng, gồm các loại rủi ro sau: kế hoạch, tài chính, con
người, thay đổi yêu cầu...
- Về thao tác-vận hành: Liên quan đến việc vận hành hệ thống, bao
gồm:
- Huấn luyện cho người sử dụng không đầy đủ
- Sử dụng sai chức năng của sản phẩm, kể cả cố ý hoặc vô tình
- Bảo trì sản phẩm không đầy đủ
- Về môi trường: Bao gồm cả môi trường phát triển, kiểm tra lẫn sử
dụng sản phẩm. Những rủi ro từ bên ngoài, sự không tương thích, virus
v.v.
- Về kiểm tra: Không đủ thời gian hoặc kiểm tra không đúng, không
quét hết yêu cầu.
Quy trình cơ bản quản lý rủi ro gồm 4 bước:
- Nhận biết các rủi ro
- Khảo sát mức tác động nếu chúng xảy ra
- Xác định các giải pháp đối phó
- Giám sát các rủi ro và thực thi các giải pháp đối phó
Có rất nhiều giải pháp khác nhau để đối phó hay giảm
thiểu tác động của rủi ro. Trong thực tế, các giải pháp thường gồm các
loại:
- Loại bỏ: Khi chi phí loại bỏ rủi ro thấp, hoặc rủi ro nếu xảy ra
sẽ gây ảnh hưởng cực kỳ nghiêm trọng.
- Phòng tránh
- Giảm thiểu thiệt hại: Khi không thể phòng tránh hay loại bỏ rủi
ro, ta có thể thực thi các biện pháp để giảm thiểu khả năng xảy ra
hoặc giảm thiểu chi phí khắc phục rủi ro nếu nó xảy ra.
- Chấp nhận: Đành chấp nhận "sống chung với rủi ro" trong
trường hợp chi phí loại bỏ, phòng tránh, làm nhẹ rủi ro là quá lớn,
hoặc mức độ tác hại của rủi ro nếu xảy ra là không đáng kể, hoặc khả
năng xảy ra của nó là cực thấp.
Trong thực tế, quản lý rủi ro là một quá trình phức tạp,
tuy nhiên đó không phải là mục tiêu của bài viết này.
Hình 4:
Mô hình tổ chức cải tiến |
|
MỘT SỐ YẾU TỐ QUAN TRỌNG KHÁC
Bên cạnh 10 yếu tố chính như đã trình bày trên, còn có
một số yếu tố quan trọng khác ảnh hưởng đến chất lượng PM.
1. Bảo trì phần mềm
Bảo trì PM nhìn chung có thể xem như là phần mở rộng
hoặc lặp lại của một chu trình phát triển PM.
Bảo trì PM bao gồm hai hoạt động chính: sửa chữa các
lỗi đã không được phát hiện trong giai đoạn phát triển và kiểm tra; nâng
cấp PM theo yêu cầu phát sinh hoặc yêu cầu đã được hiểu không đúng trong
gia đoạn phát triển.
Mỗi hoạt động bảo trì đều được thực hiện tương tự như
một hoạt động trong giai đoạn phát triển, yêu cầu để dẫn đến hành động
bảo trì chính là yêu cầu thay đổi.
Một điều cơ bản nhưng lại hay mắc phải trong giai đoạn
này là việc phớt lờ hay áp dụng lỏng lẻo các quy tắc QLCH và điều tất
yếu là nguy cơ sai sót sẽ rất lớn, nhất là trong các trường hợp thay đổi
xảy ra nhiều hay liên tục.
2. Tài liệu
Nhiều tổ chức PM do chưa hiểu đúng thường hay e ngại
áp dụng ISO hay CMM/CMMI sẽ dẫn đến việc phát sinh quá nhiều tài liệu.
Điều thiết yếu là phải hiểu rõ ý nghĩa và mục đích của tài liệu.
Mục đích của tài liệu là để ghi nhận những yêu cầu của
PM, những yêu cầu đó đã và đang được thực hiện như thế nào và làm thế
nào để sử dụng, bảo trì/nâng cấp PM - tựu chung là giúp cho bản thân dự
án và những người liên quan biết rõ tình trạng công việc đã, đang và sẽ
làm.
3. Tổ chức bộ máy
Dù bao nhiêu phương pháp quản lý chất lượng được thiết
lập đi nữa, vấn đề nhân sự và tổ chức bộ máy làm việc hợp lý trong nhiều
trường hợp lại là yếu tố quyết định tính hiệu quả của hệ thống.
Thực tế có rất nhiều mô hình tổ chức, hình 3 và 4 cho
thấy 2 trong số các mô hình thông dụng, mỗi mô hình đều có ưu nhược điểm
riêng, tùy đặc thù từng tổ chức, có thể sử dụng mô hình thích hợp.
Mô hình tổ chức như hình 3 cho ta có cảm giác tiết kiệm
chi phí, trưởng dự án sẽ chịu trách nhiệm tất cả, không có chi phí riêng
biệt cho nhân viên chỉ lo vấn đề chất lượng. Tuy nhiên, thực tế lại cho
thấy, việc trưởng dự án xoay vần để lo hết mảng này đến mảng khác lại
phát sinh chi phí đôi lúc còn cao hơn. Mặt khác, thường thì trưởng dự
án dành phần lớn thời gian cho mảng phát triển sản phẩm, các mảng khác
bị lơ là kể cả việc kiểm soát chất lượng.
Ở mô hình tổ chức như hình 4, bộ phận phụ trách chất
lượng là độc lập và có kênh báo cáo hoàn toàn độc lập với dự án, khi cần
thiết, báo cáo có thể lên thẳng đến cấp quản lý cao nhất. Thành công của
mô hình nầy phụ thuộc nhiều vào mối liên kết hợp tác hỗ trợ giữa bộ phận
chất lượng và bộ phận phát triển sản phẩm. Những công ty có độ trưởng
thành cao, mối quan hệ giữa 2 bộ phận nầy rất khăng khít.
Mặc dù có rất nhiều mô hình, tuy nhiên chúng vẫn tuân
thủ một nguyên tắc chung: Nếu nhân viên hoặc nhóm phụ trách chất lượng
ở vị trí thấp hơn nhóm đang bị giám sát (sản xuất/phát triển), hệ thống
chất lượng đó sẽ không mạnh và có vấn đề.
Tuy nhiên, một mô hình tổ chức tốt cùng các quy tắc chất
lượng cũng chưa đủ, điều quan trọng là, trong một hệ thống quản lý chất
lượng mạnh, mỗi thành viên trong hệ thống phải thực hiện thật tốt vai
trò của mình.
4. Thiết kế và vận hành hệ thống quản lý chất
lượng
Thiết kế và vận hành một hệ thống quản lý chất lượng
(HTQLCL) trước hết phải gắn liền với việc định nghĩa rõ rệt chức năng
và quyền hạn của tất cả những người tham gia, các hoạt động và trách nhiệm
cụ thể cho từng vị trí một. Kế tiếp là lập kế hoạch, thiết kế và áp dụng
các quy tắc và quy trình của HTQLCL.
4 nguyên tắc và yếu tố chính để bảo đảm sự thành công
của một HTQLCL:
- Văn hóa chất lượng "Hãy làm mọi thứ đúng ngay từ đầu"
- Định nghĩa rõ ràng trách nhiệm và quyền hạn của những người tham
gia
- Mô tả rõ ràng các bộ phận của HTQLCL
- Các tiêu chuẩn và quy trình cho HTQLCL
Những người trực tiếp sử dụng các quy trình của HTQLCL
phải tham gia càng sớm càng tốt và tham gia xuyên suốt. Việc tham gia
của họ là yếu tố quan trọng để quy trình làm ra có khả năng được chấp
nhận và giá trị sử dụng cao, giảm thiểu những yếu tố không thực tế và
không khả thi của quy trình.
Một yếu tố không thể thiếu nữa là sự kiểm soát và hỗ
trợ đầy đủ, kịp thời của quản lý cấp cao đối với tiến độ phát triển và
áp dụng HTQLCL. Sự giám sát, đôn đốc và giải quyết khó khăn của quản lý
cấp cao giúp giải quyết các ách tắc, nâng cao trách nhiệm của thuộc cấp,
và thúc đẩy tiến độ thấm nhuần văn hóa chất lượng trong toàn bộ tổ chức.
KẾT LUẬN
Một HTQLCLPM không chỉ có quy trình, kiểm tra hoặc ra
lệnh, nó là sự kết hợp gắn bó của nhiều yếu tố. Mục tiêu sau cùng của
HTQLCLPM là, dựa vào kết quả của các yếu tố cấu thành, cung cấp thông
tin làm đầu vào cho những quyết định đúng đắn về quản lý, mang lợi ích
về khi áp dụng các quy trình phát triển PM.
Chú thích:
(*) CMMI: Capability Maturity Model Integration
(**) SEI: Software Engineering Institude.
Ngô Văn Toàn
Global CyberSoft Việt Nam
(theo PC World VN) |