Như vậy, qua bài viết đầu tiên trong series này, các bạn đã biết được Configuration Manager là ai và đóng góp vai trò gì trong quy trình phát triển một dự án (Bạn có thể tìm lại bài đầu tiên trong series này). Vậy 1 CM thì cụ thể cần phải làm những công việc gì? Cùng mình tìm hiểu nhé!
I. Tổng quan các công việc của CM
CM là một vai trò rất quan trọng trong các dự án quản lý và xây dựng phần mềm. Những công việc mà CM sẽ tham gia vào làm được chia theo từng giai đoạn:
- Khi mới nhận dự án, CM sẽ là người tổng hợp các yêu cầu cần thiết từ PM như:
- Tên dự án là gì?
- Dự án cần sử dụng những tools nào? Có trong blacklist bị cấm của công ty không?
- Dự án có sử dụng các sản phẩm opensource không?
- Dự án có triển khai server không? Nếu có thì triển khai ở đâu, như thế nào?
- Dự án cần lưu trữ tài liệu ở đâu?
- Dự án có sử dụng VPN không?
- ...
- Từ những dữ kiện ở bước 1, CM sẽ tiến hành khởi tạo các cấu hình cơ bản cho dự án ví dụ như:
- Tạo nơi lưu trữ tài liệu dự án (Sharepoint, Onedriver, Server, Cloud...)
- Cấu trúc thư mục lưu trữ tài liệu và phân quyền cho từng thư mục và cho từng nhóm đối tượng
- Họp với các team để đề ra chiến lược trong việc quản lý dữ liệu nhằm yêu cầu mọi người tuân thủ cách đặt tên, cách thêm/sửa/xoá các files, cách copy/paste giữa những dự án khác nhau, cách push/merge code...
- Cấu hình cơ bản cho server để tạo thành server chung cho dự án, server cho từng team hoặc phục vụ cho các mục đích cụ thể khác nhau
- ...
- Sau khi mọi người đã thống nhất cách thức quản lý cấu hình cho dự án, CM sẽ là người training, cung cấp template cho mọi thành viên trong dự án để nắm được process và cách sử dụng của từng resource cụ thể.
- Các thành viên trong dự án có nhiệm vụ yêu cầu CM tạo 1 bản đánh dấu cho tài liệu của mình sau khi đã được các thành viên kiểm tra và chấp thuận vào những mốc thời gian quy định.
- CM sẽ lưu lại tất cả các bản đánh dấu đó và báo cáo lên cấp trên về những gì các thành viên đã làm/chưa làm và độ đúng sai của việc làm đó theo từng chu kì, có thể là tuần/tháng/quý/năm.
- CM sẽ phải quản lý tất cả công việc của mình để đảm bảo đúng tiến độ dự án, hoạt động của CM phải đi xuyên suốt dự án và phải giải trình nếu không hoàn thành đúng tiến độ.
- Ngoài 6 công việc trên, CM còn là người trực tiếp theo dõi hoặc trực tiếp thực thi việc release và đóng gói sản phẩm hoàn chỉnh tới tay của khách hàng, CM là người kiểm soát chất lượng về mặt technical của sản phẩm trước khi đưa nó tới tay của tester hay khách hàng, đảm bảo rằng tất cả các sản phẩm được sinh ra phải được xử lý trên môi trường đồng bộ và không có phát sinh lỗi khách quan.
=> Nói 1 cách khác: CM là một người cảnh sát giao thông, đưa ra những quy định dành cho người tham gia giao thông, dạy cho người tham gia giao thông hiểu luật, sau đó sẽ đã đưa ra áp dụng, nếu họ đi sai theo dõi quan sát xem mọi người tham gia giao thông có đúng luật phải nhắc nhở họ, và mỗi tuần/tháng/năm phải báo cáo tình hình tham gia giao thông đúng sai như thế nào, phạt bao nhiêu người, và mỗi người bị phạt ở việc gì cho cấp trên.
Vậy nên công việc của CM là vị trí độc lập, có vai trò quan trọng trong quá trình hình thành môi trường dự án và quản lý các quy trình, ràng buộc trong dự án, nếu không có CM, dự án sẽ dễ rơi vào tình trạng hỗn loạn vì không có sự thống nhất trong cách phân chia, cách thực hiện hay thậm chí là cách để release thành công 1 sản phẩm.
Refer tài liệu: Mình có tìm thấy bài viết này trên LinkedIn nhưng nó vẫn còn thiếu một số ý nên đã bổ sung và soạn thành bài viết này. Mọi người cũng có thể tham khảo thêm tại: Configuration Management Engineer là gì?