• Thứ Tư, 25/11/2009 16:05 (GMT+7)

    Kỹ sư chất lượng phần mềm – Anh là ai?

    Dù đã có mặt trong không ít dự án và công ty phần mềm (PM) tại VN, vai trò của các kỹ sư (KS) chất lượng (Quality Assurance - QA) vẫn còn mơ hồ đối với một số người. Ngay cả trong giới CNTT vẫn hiểu nhầm các KS này là một dạng hoặc tên gọi khác của KS kiểm định PM (Tester). Vậy KS chất lượng - họ là ai? Làm những công việc gì? Cần những kỹ năng gì? Và họ giúp ích gì cho các dự án?

    Sự khác nhau giữa KS chất lượng và KS kiểm định

    KS kiểm định (Tester) có nhiệm vụ khảo sát, chạy thử để bảo đảm PM thỏa mãn các yêu cầu về chức năng và khả năng vận hành mà nó phải có, báo cáo các lỗi nếu có để các bộ phận liên quan chỉnh sửa. Công việc của KS kiểm định liên quan đến sản phẩm (product). Còn KS chất lượng (QA) có nhiệm vụ giám sát để bảo đảm các tiêu chuẩn và quy trình sản xuất PM được định nghĩa và tuân thủ nghiêm túc, hướng đến mục tiêu các sản phẩm (SP) trung gian cũng như SP sau cùng của dự án thỏa mãn các tiêu chuẩn và yêu cầu đã định trước đó. Công việc của KS chất lượng liên quan đến quy trình (process). Ví dụ: Kiểm tra để bảo đảm các giải thuật khi viết code phải được chú thích rõ ràng, các Yêu cầu khách hàng được xem xét cẩn thận và mọi người hiểu giống nhau, các tài liệu đi kèm SP được kiểm tra trước khi gửi cho khách hàng…

    Nhóm QA tại công ty Global Cybersoft làm việc với khách hàng

    Thông thường, trong một dự án PM, khách hàng chỉ trả tiền cho lưc lượng sản xuất trực tiếp như developer và tester, do đó đầu tư vào lực lượng QA là một đầu tư mang tính nội bộ và nền tảng, giúp công ty cải tiến và kiểm soát các quy trình đảm bảo chất lượng. Chi phí cho lực lượng QA do đó trước mắt sẽ làm tăng một phần chi phí cho dự án, tuy nhiên nếu được vận hành tốt, nó sẽ giúp các dự án và công ty giảm tổng chi phí sản xuất do giảm thiểu các sai sót.

    Một khi quy trình sản xuất được tuân thủ nghiêm túc, lỗi xuất hiện ở các khâu sản xuất sẽ được nhận diện và ngăn chặn sớm, SP sau cùng (ở chặng kiểm định) sẽ ít lỗi và khả năng thành công của dự án được bảo đảm hơn, do đó tổng chi phí sẽ thấp hơn.

    Tiêu chuẩn và quy trình

    Đầu tư vào lực lượng QA mang tính nội bộ và nền tảng, giúp công ty kiểm soát và cải tiến các quy trình đảm bảo chất lượng. Một công ty PM vận hành theo mô hình CMMi sẽ cần lượng QA chiếm 2-3% tổng số nhân viên tham gia dự án.

    Tiêu chuẩn và quy trình là những vấn đề liên quan chặt chẽ đến các hoạt động kiểm soát chất lượng. Một dự án PM không thể thành công và kết quả của nó không thể đạt các mục tiêu đề ra nếu chỉ đơn giản dựa vào kỹ năng của từng cá nhân, mà nhất thiết phải được kiểm soát trong một hệ thống chặt chẽ với các tiêu chuẩn và quy trình tích hợp.

    Các tiêu chuẩn thường gặp gồm: Tiêu chuẩn về tài liệu; thiết kế; viết code; và các tiêu chuẩn kiểm soát khác (báo cáo tiến độ, tiêu chuẩn quản lý tài khoản sử dụng (user accounts), tiêu chuẩn lưu dự phòng (backup) tài liệu dự án…)

    Hình 1: Hoạt động giám sát quy trình chất lượng diễn ra xuyên suốt dự án

    Quy trình bao gồm các biểu mẫu, các bước và hướng dẫn cụ thể giúp thành viên dự án thực hiện một công việc nào đó một cách nhất quán và có kiểm soát. Có rất nhiều quy trình khác nhau được thiết kế tùy theo nhu cầu của một dự án như Quy trình phát triển yêu cầu SP (Requirement); Quy trình thiết kế SP (Design); Quy trình triển khai và viết code (Coding); Quy trình kiểm định SP (Testing); Quy trình cài đặt và hỗ trợ (Delivery); Quy trình bảo trì SP (Maintenance); Quy trình quản trị dự án (Project management); Quy trình quản lý cấu hình (Coonfiguration management); Quy trình đảm bảo chất lượng (Quality Assurance)

    Có nhiều mô hình khác nhau về công việc cụ thể của các KS QA, tùy theo tổ chức và yêu cầu công việc. Tuy nhiên, về cơ bản, họ là người tham gia phát triển quy trình hoạt động ở cấp công ty và ở cấp dự án, đánh giá các tài liệu, SP kể cả SP trung gian của dự án theo các tiêu chuẩn đã định trước. Ngoài ra, họ còn phải giám sát và kiểm tra (audit) các hoạt động được thực hiện trong dự án xem chúng có tuân thủ các quy trình (process) đã được định ra; xác định các điểm không tương thích với quy trình (process noncompliance – gọi tắt là NC) và báo cáo cho những người liên quan và các cấp quản lý đồng thời giám sát để bảo đảm chúng được giải quyết đến khi hoàn tất. Nhân sự QA cũng có thể phản hồi về những bất cập của quy trình và đề xuất cải tiến quy trình.

    Để các hoạt động về QA được tiến hành thuận tiện và bám sát tiến trình thực hiện dự án, việc bổ nhiệm nhân sự QA thường được thực hiện rất sớm, đôi khi sớm hơn cả việc bổ nhiệm một số thành viên khác trong dự án.

    Khung kiến thức và kỹ năng cần có của KS chất lượng

    Hình 2: Các hoạt động của KS chất lượng trong 1 dự án

    Tại Việt Nam hiện không có các trường chuyên nghiệp đào tạo KS QA. Mặt khác, công việc QA liên quan đến quy trình làm việc nên bị ảnh hưởng khá nhiều văn hóa và môi trường làm việc đặc thù của từng công ty. Do đó, hầu hết các công ty phải tự huấn luyện cho đội ngũ QA của mình hoặc tuyển chọn nhân sự QA đã có kinh nghiệm từ các công ty khác rồi đào tạo thêm. Cũng không có giới hạn về kiến thức và kỹ năng của một KS chất lượng. Càng nhiều kiến thức và kinh nghiệm thực tế về quản trị dự án và phát triển PM càng giúp ích cho công việc của KS QA.

    Các chương trình đại học hiện nay chỉ cung cấp cho các KS các kiến thức rất cơ bản và nặng lý thuyết về các quy trình và mô hình sản xuất PM. Hầu hết các KS mới ra trường không có nhiều khái niệm về công việc của một KS QA.

    Để giúp các KS chất lượng chuẩn hóa khung kiến thức nhằm định hướng cho việc phát triển nghề nghiệp, xin giới thiệu một trong những khung kiến thức nổi tiếng nhất là CSQA do tổ chức QAI Ấn Độ phát triển và hỗ trợ (website: http://www.qaiglobalinstitute.com). Các KS chất lượng có thể dựa vào khung kiến thức trên để có kế hoạch tự học, hoặc tham gia các khóa huấn luyện. QAI cũng tổ chức các khóa huấn luyện và cấp chứng chỉ CSQA cho các ứng viên đạt yêu cầu. Để có thể tham gia thi chứng chỉ CSQA, yêu cầu đầu vào bắt buộc của QAI đối với ứng viên khá cao (có bằng đại học/cao đẳng và/hoặc 2-6 năm kinh nghiệm trong lĩnh vực các dịch vụ thông tin).

    Thay lời kết

    Mặc dù KS chất lượng có ý nghĩa quan trọng và không mới trong các mô hình phát triển PM, nhưng vai trò của lực lượng này vẫn còn khá mới, chưa rõ hoặc chưa được đầu tư thích đáng tại một số công ty PM trong nước. Tại Việt Nam, một số công ty lớn áp dụng chính sách lương không phân biệt giữa nhân sự QA, QC và Developer cho nhân viên ở cùng mức độ, một số công ty nhỏ hơn áp mức lương KS QA ngang bằng QC và thấp hơn chút ít so với Developer. Mức độ lương cao tỷ lệ với mức độ kinh nghiệm và kết quả công việc, thông thường dao động trong khoảng 3,5 – 10 triệu đồng. Một số trường hợp xuất sắc, KS cao cấp hoặc ở cấp bậc quản lý, mức lương có thể cao hơn nhiều.

    Việc hiểu đúng vai trò và lợi ích của lực lượng này sẽ giúp các công ty cân nhắc đầu tư thích đáng, từng bước giúp công ty hoàn thiện và nâng cao năng lực của quy trình làm việc, đồng thời độc lập giám sát việc thực thi quy trình trong các dự án, giúp việc quản trị dự án ngày càng hoàn thiện và chuyên nghiệp hơn, đáp ứng các tiêu chuẩn và mô hình quốc tế.

    Người đưa ra cảnh báo...

    “Bề ngoài, nghề QA có vẻ “dễ thở” hơn các vị trí khác như Developer hay Tester, tuy nhiên thực sự nó không đơn giản. Mỗi KS QA phải luôn trau dồi cập nhật kiến thức về kỹ thuật để có thể hiểu những gì đang thực sự diễn ra trong các dự án, từ đó mới có thể đưa ra những cảnh báo đúng đắn về những yếu tố vi phạm có thể ảnh hưởng xấu đến dự án. Ngoài ra, người KS QA cũng cần phải mềm mỏng, linh hoạt và được rèn luyện những kỹ năng mềm thiết yếu như kỹ năng thuyết phục và trình bày để có thể thực hiện công việc một cách hiệu quả nhất. Theo tôi, nghề QA đòi hỏi sự kiên trì, kỹ lưỡng, óc quan sát, phân tích và đánh giá được những vấn đề đang và sẽ xảy ra, cũng như kỹ năng để diễn đạt những vấn đề đó”, bà Lê Diệp Cẩm Bình, 5 năm kinh nghiệm, phụ trách nhóm QA, công ty Global Cybersoft.

    “Các KS QA thường phạm phải một số lỗi như sa đà vào việc định dạng và tân trang tài liệu thay vì chú trọng các hoạt động thực tế xảy ra trong dự án; giải quyết “chuyện đã rồi” trong khi lẽ ra phải thấy trước những hiện tượng vi phạm quy trình; mất vai trò độc lập do bị ảnh hưởng bởi trưởng dự án. Với các nhân sự QA thiếu kinh nghiệm, họ thường không hiểu thực trạng và đặc thù dự án do đó dễ làm xuất hiện tình trạng bất hợp tác giữa nhóm QA và các thành viên dự án. Một KS mới ra trường, thông thường phải qua đào tạo lý thuyết và thực tế (on-the-job training) trên các dự án ít nhất 3 tháng trước khi có thể làm việc. Một KS QA có kinh nghiệm thông thường mất từ 2-4 năm làm việc trên các dự án khác nhau. Một điểm cần lưu ý là do đặc thù công việc, kỹ năng kỹ thuật là chưa đủ, một KS QA giỏi phải có các kỹ năng mềm để có thể làm việc hiệu quả với các lực lượng khác nhau trong các dự án”, ông Ngô Văn Toàn, phó giám đốc công ty Global Cybersoft Việt Nam.

    Đình Phong

    Từ khóa: QA, quality Assurance
    ID: B0911_62