Configuration is a term that is commonly used especially in working professions. Configuration is the set of characteristics that constitute a finished product or deliverable. This covers both technical and physical criteria. In terms of physical characteristics, it includes the colour, weight, height, form, and materials while the technical aspects may include the capacity of a product to accomplish a viable outcome. The configuration of all the project’s main products and properties is handled by project configuration management which covers any end items deliverables and management products, such as the project management plan (PMP) and the successful management benchmark.
Since most companies or working places utilize technology to ease their workloads and operations, configuration ought to be applied to maintain the consistency of the systems used. In this article, we are going to look deeper into the definition of configuration especially in terms of configuration management. The other main focus that is going to be covered in this article is on how to develop an effective configuration management plan that could be applied in your company. This article would be summed up with a list of tools or software that is widely used for configuration management.
What is Configuration Management?
Configuration management refers to the process of systems engineering for the purpose of establishing and ensuring the consistency of any product’s features, functions, and performance which need to be on par with the requirements, designs, and information set for the said product. In the past, configuration management term could be applied to a wider range of contexts, however, as time passes, this term is most commonly used in technology and IT aspects. Configuration management is conducted to ensure that all the computer systems, servers, and software operating in a company work well as required.
Configuration management could be defined as the overall framework subsystem of project management. It is a series of systematic recorded protocols for implementing technological and administrative guidance and surveillance to identify, and track the functions and physical features of a product, outcome, service or component. Besides, configuration management is implemented to monitor any changes to those characteristics mentioned earlier, aside from noting and tracking the status of adjustments and implementation done. The other thing revolving around configuration management is on how it could assist in auditing the products, performance, or materials to ensure that they meet the specifications established. Configuration management comprises required paperwork, monitoring mechanism, and specified approval thresholds for approving and managing changes.
There are several steps in the configuration management process which include planning, identification, control, status accounting, and auditing. Planning is important as a configuration management plan sets out how you will monitor, manage, and inspect configuration. This configuration management plan will be used as the quality control strategy of a project hence proper and strategic planning is highly fundamental. The second process is on identification. All of the project’s configuration specifications should be defined and recorded including the standards of usability, the structure, and so forth. The configuration baseline of a project will be established once this process is done.
The next process is on control. Whenever the scope of the project is changed, the effect on the configuration must be reviewed, accepted, and recorded. This step is commonly implemented for the change control process within the project. Following the step is the status accounting. The configuration of the project must be monitored at all times and it is ought to be fully aware of the current version used for the configuration, while also keeping records of the previous ones. These records are indispensable to keep track of all the changes done throughout the project. The last step is auditing which refers to evaluation showing that the products achieve the configuration specifications. This step is most commonly performed after the main project stages were completed with the purpose to detect issues early.
Why is Configuration Management Important?
Configuration management is important to keep records of all the changes happening in the system, regardless of the scale size of the changes. Any undocumented changes may disrupt the performances of operations in the organization as well as leading to inconsistencies which will lead to negative effects on the company’s operations and security. Besides, changes made towards systems or servers that are not recorded may also result in instability and inactivity aside from hindering the process of reviewing the updates done. If errors were to occur after the update was done, it may be difficult to trace back the root cause of the problem without efficient management in the configuration.
There are countless benefits if configuration management is performed efficiently. First and foremost, it could help to ease the process of recovery. Keeping records in managing configuration allows the managers or staff the reinstate the software or applications before they were updated in case errors or issues were to arise after changes were done. This smooth recovery for the organization’s assets is essential to prevent small issues from worsening which may hinder the other processes operating in the organization.
The other benefit of configuration management is related to the system uptime and reliability. This refers to how effective configuration management could minimize or avoid loss which could occur in cases of downtime. In certain cases, downtime is inevitable hence it is fundamental to be well prepared for these scenarios and be handled well.
Another benefit of configuration management is when provisioning is planned to be done to the organization, which refers to increasing the resources or servers to the application. A well-managed configuration will provide the information on what state or conditions work best for the operation.
What is Configuration Management Plan?
The main aim of a Configuration Management (CM) Plan is to record and educate project partners about the configuration management within a project, including which tools will be utilized and how they will be implemented. The configuration management plan outlines how the Program Manager (PM) and systems engineer can handle software documentation and the programme context in terms of technical, practical, and allocation. That aside, the plan also describes how the project manager and systems engineer can retain oversight of programme documents and benchmarks. To ensure correct practices are implemented, the configuration management plan could be revised regularly to incorporate improvements in policies, rules, legislation, and best-practices.
The configuration management plan specifies the framework and methods of the project which includes identifying and creating the basis for configuration items. It also provides information on the release and alteration control of the project aside from reporting and tracking the state of configuration items, including the requested changes. It could also ensure that the items are complete, reliable, and correct and the last thing includes the control of the preparation, handling, and distribution of the items.
How to Write a Configuration Management Plan?
As we can see, configuration management is an important aspect of a product and planning is one of the key steps underlying this. Now, we are going to look deeper into how to write a configuration management plan.
You may find examples of configuration management templates on the internet as references. Here are some of the key components needed to be included in a configuration management plan which is listed after researching some examples of templates used online.
- Purpose of the Configuration Management Plan
- Definitions, Acronyms, and Abbreviations
- Configuration Management
- Environment and Infrastructure
- Configuration Management Activities
- Configuration Items
- Configuration Identification
- Identification method
- Project Baselines
- Artifact Life Cycle
- Configuration Control
- Procedures for Change
- Change Request Processing and Approval
- Change Control Board (CCB)
- Responsibilities for change control
- Interfaces, overall hierarchy, and responsibilities
- Level of control
- Document revisions
- Automated tools used
- Configuration Status Accounting
- Storage, handling, and release
- Release process
- Reports on accounting processes
- Configuration Auditing/Reporting
- Number of reports to be done and when is necessary to report
- Roles of the configuration management and other organization
- Reviews on configuration management support
- Subcontractor and Vendor Software Control
- Clear Case Administration Procedures
- Key terms
All of these topics and sub-topics are necessary to be included in the configuration management plan. However, you may omit some of the sub-topics or replacing them with different terms depending on the necessity or requirements of your project. This list serves as the rough guidelines for a configuration management plan.
Configuration Management Software / Tools
It is recommended to utilize configuration management software or tools to ease work in your company or organization. The functions of software configuration management (SCM) include identifying changes that occur in the technology as well as notifying about them in real-time with automaticity. The other function of software configuration management is to track any unauthorized changes that were done to the systems or servers.
There are several concepts sought in configuration management software which are automaticity, coding, accessibility, feedback sharing, and improvements permittance. Software configuration management is mostly equipped with enforcement features which allows configuration to be done automatically depending on the requirements set by the manager. Another feature that is often sought in software configuration management is the cooperating enablement which allows the change done is applied to the whole system in the organization without the need to tend to each system one by one. A software configuration management should also be user and control-friendly to be easily utilized and customized. Another highly sought feature is broad visibility and quick troubleshooting time.
These are several examples of the tools for configuration management:
- Organize and control structure and classifying them into groups or sub-groups.
- Changing base structures from a central point
- Applying the latest settings to every applicable system
- Automating detection, patching, and updating of the applications
- Recognizing configurations that are outdated, underperforming or non-compliant
- Setting goals for actions
There are several available and recommended configuration management tools which include both paid and free ones:
- SolarWinds Server Configuration Monitor
- CFEngine Configuration Tool
- Puppet Configuration Tool
- CHEF Configuration Tool
- Desktop Central
- Server Configuration Tool
- Ansible Configuration Tool
- PowerShell DSC
- Octopus Deploy
- TeamCity Configuration Tool
- JUJU Configuration Tool
- SaltStack Configuration Tool
- Bamboo Configuration Management
It should be noted that these tools may help to solve certain issues in certain ways aside from their main purpose in automating processes. However, it is important for the person handling them to be knowledgeable as well to maximise the functions of the tools used. Hence, if you are responsible to manage these tools, it is highly recommended to review which applications work best and suit the needs of the organization you are working as for as well as test running the application to learn about the features equipped in the software or tools mentioned. In choosing the best application, it is important to consider these factors; cost, review, support, and update policy, hardware or software requirements, quality, and coaching.
To conclude, configuration management is essential to handle complex computing systems. Failure to manage or implement configuration will wreak the systems or servers’ stability, uptime, and scaling ability. Today’s software and applications are integrated with features to ease configuration management and this article provided several examples of software available in the market. While the list has been some of the most favourite configuration management tools, it is important to keep up to date with any new rising applications which may be more helpful to be used in the future as well as keeping up with the ever-evolving features in easing configuration management.
Click here to download Configuration Management Plan Template.