February 7, 2012 Leave a comment
Config Manager or if you prefer Configuration Manager is a key role in the middle of the Configuration Management process. The CM supports all phases of a project, from starting a new branch, through testing, delivery and support for production.
However the functions and responsibilities performed by the CM depend on the current phase of a project, the position of CM remains the same, located between three groups: developers, project management and administrators. CM is somehow like a glue that connects the work of developers, managers and administrators.
The CM’s relations include:
- Works with managers to deliver application/changes according to the schedule.
- Provides development environments for developers, resolves code conflicts, merges code, builds and develops applications, and in generally assists and gives developers a head start, so they can focus mainly on code changes.
- Works with administrators to deliver and deploy applications in tests/pilot/production environment, resolve any unexpected issues, might also communicate unscheduled issues with deploying/starting/stopping applications.
CM prepares workspaces for developers and prepares corresponding branches in version repository. Depending of the environment it is recommended to prepare scripts that will automate the process for developers and will help them to load and build developer’s workspaces from repository branches. It is recommended to keep any configuration files for the workspaces in the corresponding branches.
Once the configuration is ready and is the time to start development, the CM communicates the procedures and technical specification of the new workspace and branch to deve
Developing & tests
When the developers are busy building an application and commit changes to a repository, the CM collects code from the repository and builds the application according to a scheduled set by project manager. Should there be any issues like conflicts or compiling errors, the CM works close with developers to resolve the problems.
After building an application CM sends it to administrator with request for deployment to a specific region according to project manager requests. In some cases the CM might be given a sufficient privileges to deploy an application to a Test region, so the CM can perform limited administration tasks with regards to an application in a test region.
The production delivery is significant for CM not only due to the importance of the production environment. There are also special tasks for CM that are part of the process. Some time before the production delivery the CM communicates with project manager and developers to confirm the final date when the development will finish and then CM closes the development branch used by developers for committing changes. And at the time of production delivery CM merges the development branch to trunk..
After delivering to production CM keeps track of fixes that project manager approved for production. CM has to build the updated versions, send request for delivery to administrator and keep track of the changes in branches performing retrofit merges to another branches when necessary and merging to trunk.
The function of CM requires a unique combination of professional skills. It should be a person with high professional standards and good culture of work, capable to resolve technical issues but primary thinking ahead to avoid them, familiar with technical aspects of coding and with technical knowledge of server side aspects for delivering application, person with good communication skills, who can work under stress and be patient for repeating technical tasks with high accuracy, person who can pay attention to details.