Những công việc cụ thể mà một CM cần làm trong quy trình phát triển dự án
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ì?
II. Vậy làm thế nào để bạn có thể trở thành 1 CM trong tương lai?
Để trở thành 1 CM. Các bạn sẽ cần đáp ứng một số điều kiện nhất định:
- Sự tỉ mỉ và chính xác: Do làm việc liên quan tới hệ thống và các phiên bản cho nên sự tỉ mỉ và tính chính xác là những thứ bắt buộc 1 CM phải đáp ứng được.
- Sự ngắn gọn và rõ ràng: Khi trở thành 1 CM, bất cứ một process nào bạn đề ra đều sẽ được áp dụng với phạm vi rộng thậm chí cả dự án, vì vậy việc có tư duy rõ ràng, mạch lạc cùng với sự trình bày ngắn gọn là một trong những điều mà 1 CM bắt buộc phải có
- Về chuyên môn lập trình: Chắc chắn để trở thành 1 CM bạn không thể bỏ qua vấn đề về chuyên môn:
- Bạn cần có kinh nghiệm DevOps và làm việc với CI/CD
- Có kinh nghiệm và sự hiểu biết nhất định với các hệ thống server/cloud
- Có hiểu biết nhất định về Network và hệ điều hành
- Có khả năng tiếp cận tốt các ngôn ngữ và môi trường mới
- ...
- Ở level cao hơn, thậm chí CM cũng cần phải có khả năng viết/sử dụng tools để tích hợp vào quy trình dự án nhằm tối ưu hóa performance của dự án.
- Về chuyên môn quản lý:
- Bạn cần phải có kinh nghiệm về việc tạo dựng và quản lý các process để xây dựng nên một bộ máy hoàn chỉnh trong một dự án
- Có kinh nghiệm trong việc thu thập thông tin, lược bỏ thông tin và truyền đạt thông tin
- ...
=> Tất cả các yếu tố trên là những yếu tố cơ bản mà bất kì ai khi muốn trở thành 1 CM cũng đều cần phải trang bị cho bản thân. Bạn cũng có thể phát triển và bổ sung thêm nhiều skill hơn nữa vì bản thân CM cũng là một công việc không chỉ đòi hỏi lượng kiến thức sâu mà cũng cần phải rộng, cùng với đó là khả năng thích nghi cực kì tốt với sự thay đổi của dự án để có thể điều chỉnh hệ thống cho phù hợp.
III. Một số công ty đang có tuyển vị trí CM
Một số công ty về công nghệ hiện tại đang có vị trí CM:
- Fsoft: Chắc chắn là 1 cái tên không xa lạ với anh em đam mê lập trình. Fsoft có rất nhiều dự án lớn về công nghệ và độ phức tạp của nó cũng không hề nhỏ, chính vì vậy ở Fsoft cũng có tuyển vị trí CM
- VTI: Một công ty khá mới nhưng cũng khá nổi ở thị trường Việt Nam hiện nay. VTI cũng có tuyển vị trí CM cho các dự án Outsourcing ...
IV. Tổng kết
Như vậy là mình và các bạn đã cùng nhau đi hết series này và tìm hiểu được CM (Configuration Manager/Configuration Management Engineer) là gì và vai trò của nó trong một dự án phần mềm. Đây là một vai trò rất quan trọng nhưng cũng rất hiếm xuất hiện trong dự án.
Hy vọng sau series này các bạn sẽ có cái nhìn tổng quan hơn về chức danh CM và biết đâu 1 ngày nào đó các bạn cũng sẽ trở thành 1 CM trong tương lai?
Cảm ơn các bạn đã ủng hộ và theo dõi.
All Rights Reserved