CM (Configuration Management Engineer) là ai? Có vai trò gì trong quy trình phát triển của một dự án?

CM/Configuration Manager (Hay còn có cách gọi khác là Configuration Management Engineer) có thể là một thuật ngữ hay chức danh khá xa lạ đối với hầu hết tất cả mọi người thậm chí là các anh chị lập trình viên kì cựu hay các leaders của các dự án. Vậy CM là gì hay là ai mà lại bí ẩn như vậy, chúng ta cùng tìm hiểu một chút qua bài viết này nhé!

image.png

Trước hết, các bạn cần phân biệt rõ Configuration Manager (Hay còn có cách gọi khác là Configuration Management Engineer) và Software Configuration Management, 2 khái niệm này hoàn toàn khác nhau.

Chắc hẳn các bạn lập trình viên đã khá quen hoặc đã nghe đâu đó với cụm từ Software Configuration Management, tuy rằng chúng thật sự có liên quan nhưng trên thực tế lại là 2 khái niệm/vị trí hoàn toàn khác nhau. Cụ thể như sau:

1. Configuration Management Engineer: Configuration Management Engineer là một cá nhân có vai trò nhất định trong một dự án hoặc tổ chức cụ thể. CM chịu trách nhiệm thiết kế, triển khaim giám sát và duy trì các quy trình thực hành quản lý cấu hình trong tổ chức. Họ có vai trò đảm nhiệm cho việc cấu thiết nên môi trường, đảm bảo tất cả mọi điều kiện nhằm tiến tới một mục đích chung là quản lý dự án với các công cụ và theo các quy trình cụ thể, rõ ràng và đồng bộ. Ngoài ra họ cũng đồng thời quản lý các phiên bản, giúp xây dựng các quy trình tự động hoá, khai thác tài nguyên của dự án một cách hiệu quả.

2. Software Configuration Managerment: Software Configuration Management đề cập đến tập hợp các thực tiễn, quy trình và công cụ được sử dụng để quản lý các thay đổi đối với phần mềm, tài liệu và các tạo phẩm liên quan khác trong suốt vòng đời phát triển phần mềm. SCM bao gồm các hoạt động như kiểm soát phiên bản, quản lý thay đổi, quản lý xây dựng và phát hành, quản lý môi trường, v.v. Mục tiêu của SCM là đảm bảo rằng việc phát triển phần mềm luôn có tổ chức, được kiểm soát và nhất quán ngay cả khi có những thay đổi được đưa ra. SCM giúp ngăn ngừa các vấn đề liên quan đến xung đột phiên bản, bản dựng không nhất quán và những thay đổi không được kiểm soát.

=> Tóm lại, Software Configuration Management là khái niệm rộng hơn, bao gồm tất cả các quy trình và thực tiễn để quản lý cấu hình, trong khi trình **Configuration Manager/Configuration Management Engineer** là người chịu trách nhiệm triển khai và giám sát tất cả các quy trình này trong một dự án hoặc một tổ chức cụ thể

Qua sự so sánh trên, chắc hẳn các bạn cũng mường tượng ra được một chút CM rốt cuộc là ai, và sẽ có vai trò như thế nào trong một dự án. Tuy nhiên vai trò của CM sau sự so sánh trên vẫn còn khá mơ hồ, vì vậy chúng ta hãy cùng đi sâu thêm một chút để tìm hiểu vai trò của CM trong một dự án lập trình, cụ thể sẽ là gì nhé?

Trước tiên, các bạn hãy xem thử ví dụ dưới đây:

Hãy giả sử bạn đang làm ở một dự án triển khai theo mô hình Agile. Các quy trình hay phân đoạn sẽ được lặp đi lặp lại (Interation hoặc Sprint), ở mỗi sprint dự án của bạn sẽ cần phải thực hiện đầy đủ các quy trình từ lập kế hoạch, phân tích yêu cầu, thiết kế hay triển khai và kiểm thử để có thể có được sản phẩm cụ thể là một phần của sản phẩm cuối cùng => Lúc này CM sẽ có vai trò chính trong các nhiệm vụ bên dưới:

=> Tóm lại, đối với các dự án lớn, đặc biệt là các dự án liên tục sản xuất ra sản phẩm và sử dụng lượng tài nguyên lớn, triển khai trong môi trường rộng, thì CM là một vai trò cực kì cần thiết và là chủ trốt trong các nhiệm vụ:

Như vậy, qua 2 phần ở trên, có lẽ các bạn cũng đã hiểu được CM là ai, và họ đóng vai trò gì trong quy trình phát triển của một dự án rồi phải không nào? Nếu bạn có hứng thú với CM, có lẽ bạn sẽ cần tìm hiểu thêm, rốt cuộc thì công việc cụ thể mà 1 CM cần phải làm là gì? Hãy tiếp tục tìm hiểu ở phần 2 của series này nhé. Cảm ơn các bạn rất nhiều!

Link nội dung: https://melodious.edu.vn/cm-la-vi-tri-nao-trong-cong-ty-a60315.html