Agile, CMMI và ISO là ba cái tên vô cùng quen thuộc đối với các doanh nghiệp phần mềm. Vậy sự khác biệt giữa chúng là gì? Hãy cùng với Viện Phần Mềm khám phá điều này qua các tiêu chí so sánh sau đây:
Khái Niệm
Mô hình năng lực trưởng thành tích hợp – Capability Maturity Model Integration (CMMI), được phát triển tại Viện Kỹ Nghệ Phần Mềm của Mỹ (Viện SEI – nay đổi thành Viện CMMI) tại trường Đại học Carnegie Mellon ở Pittsburgh, PA, là mô hình nâng cấp của mô hình CMM trước đây quyết định mức độ trưởng thành chuyên sâu của các hệ thống phần mềm.
ISO là một tập hợp các tiêu chuẩn quản lý chất lượng được phát triển và duy trì bởi Tổ Chức Tiêu Chuẩn Quốc Tế (ISO). Ví dụ như ISO 9001 liên quan đến các tiêu chuẩn về chuỗi cung ứng, trong khi đó ISO 14001 lại liên quan đến các tiêu chuẩn về môi trường. Các thông số kỹ thuật của ISO thay đổi theo thời gian.
Agile là một phương pháp được sử dụng để thay thế các phương pháp quản lý dự án truyền thống, thường áp dụng cho việc phát triển phần mềm. Agile giúp cho các nhóm dự án có thể đối phó được với các sự cố không thể đoán trước được thông qua việc gia tăng và tương tác các thước đo công việc, thường được biết với cái tên “sprint”. Các phương pháp Agile là một sự thay thế cần thiết cho các phương pháp phát triển truyền thống như mô hình thác nước (waterfall) hay phát triển liên tục.
Sự Khác Biệt Thực Tiễn
Sự khác biệt cơ bản giữa CMMI và ISO là về khái niệm. CMMI là một mô hình quy trình, trong khi ISO lại là một tiêu chuẩn đánh giá.
CMMI là một tập hợp “các phương pháp thực thi tốt nhất – best practices” bắt nguồn từ những doanh nghiệp dẫn đầu trong ngành và liên quan đến các sản phẩm kỹ thuật và phát triển phần mềm. Các doanh nghiệp có thể đạt được CMMI từ mức độ 1 đến 5 tùy thuộc vào mức độ tuân thủ của các lĩnh vực hoạt động với các vùng quy trình theo yêu cầu của CMMI.
ISO là một công cụ đánh giá cấp chứng chỉ cho các doanh nghiệp có quy trình phù hợp với các tiêu chuẩn đặt ra.
Phương pháp Agile giúp doanh nghiệp thích ứng với mọi hoàn cảnh hơn là dự đoán các biến cố. Các phương pháp kỹ thuật có xu hướng giúp nhóm dự án lên một kế hoạch tổng quát trong thời gian dài, các phương pháp này vẫn tốt cho đến khi có các biến cố xảy ra.
Vì vậy, bản chất của chúng là kháng cự lại các biến cố. Trong khi đó, phương pháp Agile lại luôn hoan nghênh “biến cố”. Các quy trình tuân theo phương pháp Agile để có thể thích nghi và phát triển dựa trên sự thay đổi, thậm chí là khi thay đổi chính bản chất của các quy trình ấy.
Phạm Vi
CMMI chỉ được áp dụng và mở rộng cho các doanh nghiệp phát triển hệ thống phần mềm chuyên sâu. ISO linh hoạt hơn và có thể áp dụng cho tất cả các ngành sản xuất. CMMI tập trung chuyên biệt vào kỹ thuật và các quy trình quản lý dự án trong khi trọng tâm của ISO thường chung chung cho tất cả các ngành.
CMMI ủy quyền thực hiện các phương pháp thực thi chung và cụ thể, đồng thời doanh nghiệp có quyền được chọn lựa mô hình CMMI phù hợp với nhu cầu của họ từ 22 vùng quy trình chuẩn của CMMI. Trong khi đó, các yêu cầu của chuẩn ISO là giống nhau đối với tất cả các công ty, ngành nghề và mô hình kinh doanh.
Phương pháp phát triển Agile giúp cho doanh nghiệp có cơ hội đánh giá định hướng của dự án thông qua các vòng đời phát triển. Điều này đạt được thông qua việc theo dõi tiến độ công việc thường xuyên, thường được biết đến với cái tên “sprint” hoặc “iterations”, và vào những giai đoạn cuối của sự theo dõi này, nhóm dự án phải cho thấy được kết quả là sự gia tăng các sản phẩm có tiềm năng thay đổi.
Dựa vào đặc tính là tập trung vào các vòng tròn công việc cũng như chức năng của các sản phẩm mà doanh nghiệp sản xuất được, phương pháp Agile được mô tả là như là sự gia tăng lặp đi lặp lại.
Hướng Tiếp Cận
CMMI yêu cầu việc đồng bộ hóa các quy trình với nhu cầu của doanh nghiệp để chúng trở thành một phần của văn hóa doanh nghiệp và không bao giờ bị phá vỡ dưới áp lực của deadlines. ISO thường xác định sự phù hợp, tuy nhiên cũng có một số bất cập như ISO trong một vài trường hợp không giúp doanh nghiệp xác định được nó có thực sự phù hợp với chiến lược kinh doanh của doanh nghiệp hay không.
CMMI hướng đến quản trị rủi ro như là một mô hình được tổ chức và hệ thống nhằm xác định các nhân tố rủi ro, định lượng và giám sát chúng trong suốt vòng đời của dự án. ISO mãi đến gần đây mới tập trung vào quản lý rủi ro. ISO 31000 là một ví dụ điển hình khi cung cấp các hướng dẫn cơ bản để thiết kế, thực hiện và duy trì việc quản lý rủi ro quy trình trong tổ chức.
Mặc dù CMMI tập trung liên kết các quy trình tới mục tiêu của doanh nghiệp, tuy nhiên sự hài lòng của khách hàng lại không được xếp là một tiêu chí đánh giá, trong khi đó đối với ISO thì sự hài lòng của khách hàng là một phần quan trọng trong các yêu cầu.
Phương pháp Agile được định hướng thiên về con người hơn là quy trình. Mục đích của các phương pháp kỹ thuật khác là xác định một quy trình có thể hoạt động tốt đối với bất cứ ai sử dụng nó. Agile cũng giúp nhận định rằng quy trình không tạo nên kỹ năng phát triển của nhóm dự án mà nó chỉ hỗ trợ để họ phát triển hơn mà thôi.
Triển Khai
Cả CMMI và ISO đều không yêu cầu doanh nghiệp phải thiết lập quy trình mới. CMMI sẽ so sánh các quy trình sẵn có của doanh nghiệp với các phương pháp thực thi tốt nhất trong ngành, trong khi ISO thường sẽ yêu cầu điều chỉnh các quy trình đó phù hợp hơn với các yêu cầu cụ thể của ISO.
Trong thực tế, có một số doanh nghiệp có xu hướng tập trung việc viết quy trình càng rộng càng tốt khi triển khai cả CMMI và ISO. Trong khi đó, hầu hết các doanh nghiệp lựa chọn cách thành lập một nhóm viết và triển khai quy trình nội bộ sau đó thuê các chuyên gia đánh giá bên ngoài xem xét và đánh quá quy trình triển khai của họ.
Phương pháp phát triển Agile giúp doanh nghiệp sản xuất sản phẩm chính xác hơn. Thay vì phải hứa hẹn với thị trường tung ra sản phẩm phần mềm mới toanh, phương pháp Agile giúp doanh nghiệp có thể liên tục phát triển làm mới sản phẩm của mình để tối ưu hóa giá trị kinh doanh, đồng thời gia tăng giá trị cạnh tranh của họ trên thị trường một cách đáng kể.
Phát triển thông qua phương pháp Agile sẽ đảm bảo sản phẩm của doanh nghiệp luôn thích ứng nhất định với yêu cầu của thị trường và nhóm dự án sẽ cho ra được sản phẩm mà không phải tốn thật nhiều công sức.
Sự so sánh giữa CMMI và ISO cho thấy rằng trong khi CMMI chuyên biệt, phức tạp và liên quan đến các mục tiêu kinh doanh của doanh nghiệp hơn thì ISO lại linh hoạt hơn, phạm vi áp dụng rộng hơn và không liên quan trực tiếp đến các mục tiêu kinh doanh.
Tuy vậy, việc đạt được cả hai chứng chỉ ISO và CMMI sẽ giúp doanh nghiệp không những xây dựng một hệ thống quản trị chất lượng mà còn giúp họ tập trung cải tiến liên tục.
Tham khảo: www.vizteams.com
Ban biên tập: Viện Phần Mềm