
1) First responsibility of CM is to own the SCM plan it has to derived based on the project need or can be taken inputs from historical projects ,CM is responsible for planning, monitoring , executing and reporting of entire CM plan. Plan should say every thing about all the CM aspects.
2) CM mostly deals with the configuration items and activities around it, CM should identify all the possible configurable items(CI) in planning stage with the help of respective leads and previous project implementations. In some of the project documents like Release notes are considered as CI.
3) Very important aspect of CM role is to define version control policies and the naming convention and ensure that it will not collapse during branching and merging activities and easy to understand, follow and track.
4) Defining directory structure for respective projects to accommodate all the possible CI according to project need it should be with the help of project lead or CC .if you are planning to accommodate multiple projects in the same repository then classification can be done at the root level and also have to define the user access rights policies for respective projects/root
5) House keeping and CM library maintenance activities should be taken care by CM himself or some one from the CM team.
6) After every release CM should have track and log of release baseline in separate documents or in system which will be useful for tracking, merging, monitoring and audit purpose .
7) CI register maintaining out side the CM tool is optional since CI history is available in CM tool and can be extracted for specific release .in some of the project CI register data shared as quality and verification process. According to me it's a overhead if you are already maintain the data in CM tool .
8) Best practice is to tag / baseline release so that any defect fixing will not effect on going development.
CM should ensure baselines is properly done for all the intended release and can it can be branch out whenever any fixing is required.
9) Once the Directory structure and access rights policies has been defined, time to decide the code check-in check-out policies ,Branching ,Merging code promotion guidelines ,CM own the responsibility for training and giving guidelines to the team members. Also support them to adhere the policies and in trouble shooting.
10) CM is accountable to ensuring all CI in CM tool is authorized for specific release and have approval for the same.
11) Constant monitoring of all CM process and activities is the key role of CM and also responsible for raising "Red Alert" in case of discrepancy or process breach.
12) CM take care of the physical configuration audit before release and also responsible to comply with organization or project quality process matrix.
13) CM is solely responsible for ensuring to take regular backup for CM repositories and restore it and validate the backup as per project backup policy ,In big organization technical infrastructure team will take care of defining backup and restoration policy at organizational level, in that case CM has to co-ordinate for the backup and restorations.
14) CM also maintain the inventory of security token ,user id creation, server IP ,static IP list for project etc.
Role and responsibilities of the CM can be alter based on the project need and delivery methodology as long as objective is to prevent the CM syndrome
By : Dharmesh Patel
Post a Comment