During the product development phase, you create a lot of changes. Sometimes there’s no way to keep track of what changes were made, who approved them, or why a bug occurred. You may also be struggling to provide consistency in multiple environments.
That’s why configuration management is such a crucial part of modern software development. Otherwise, you’re left in the dark about how items impact each other, if they are compliant with security standards, or if there are errors that could disrupt the system.
In this article, you will learn what configuration management is, what the process looks like, and what tools you can use to implement it within your product team.
Configuration management is a process to properly track changes to a system’s configuration through its whole lifecycle. It collects data like date of change, version number, status, product owner, components, and more. It’s an important part of DevOps.
Without a configuration management process, it’s difficult for organizations to complete tasks like testing, installing, or maintaining a system. You may even struggle with understanding how configurations impact operations or how they affect other systems. Overall, it’s an important part of DevOps and shouldn’t be overlooked by product managers.
It may seem menial to track all of the functional and physical specifications of your system, but it can help prevent issues due to improper configuration. Here are a few situations that might happen if you let inconsistencies or misconfiguration errors exist:
Configuration management can help prevent these issues by ensuring consistency and accuracy when your systems are documented and maintained. Otherwise, your system may look a lot like a cluttered office space with important notes strewn everywhere with no clear organization. Configuration management essentially arranges this information into a central location and makes it easier to identify data.
Here are some additional benefits of properly implementing configuration management:
There are a couple of ways configuration management can affect how efficiently a product manager can work.
Configuration management can have a significant impact on development, test, and production environments. Improper configuration or undocumented changes can lead to an environment breaking and interrupting your workflow. You may also find your engineers unavailable to work on other projects if they are constantly fixing misconfigurations.
The configuration management plan is also something that needs to be part of your own product plan. You should be prepared to ensure changes are documented while you are in development and testing mode. Otherwise, your team may find themselves in a scenario where they can’t determine how an item change will affect the entire system or are unable to recreate environments where bugs are happening.
An efficient configuration management process is crucial to having your teams’ ability to optimize their time and resources.
There are five stages of the configuration management process. Each stage ensures the process is intentional and accurate:
The configuration management plan details how your organization intends to record, track, control, and audit the specified system or project. It may be part of the wider project quality management plan.
The comprehensive plan should include the following details:
Now that we’ve identified the plan, it’s time to move on to the next four stages which are also sometimes referred to as the four elements of the configuration management plan.
You need to specify which documents or products require configuration management and what data should be tracked. All configuration elements should be identified and recorded. This includes functionality, design, and other specifications.
Once this identification process is complete, it creates the configuration baseline. Think of it as the first rough draft of a project.
As you begin to develop a product or create new features, it will change the configuration of the project. Every change has an impact, and it should be assessed by managers and given their approval or rejection.
Once the change is implemented, it will be documented based on the configuration management plan specifications. This phase may be part of your overall project change control process.
Financial accounting often keeps track of every change in an account. Likewise, product managers should keep track of every change in their projects. Every change in the configuration should always be documented.
Not only do you have a record of your current configuration version, but you have a record of every past version. It’s important to have historical records of older versions since it can make it easier to identify when changes occurred during your project or product development.
Audits and checks are usually part of the completion process of every major project phase to identify any issues. This can include tests to prove that the project is meeting configuration requirements and compliance standards. Some organizations choose to have an independent audit, but others may opt to review their project themselves, depending on the situation.
You may be in an organization where there is a configuration manager. The role of a configuration manager is to define the scope and objectives of the configuration management process. They may also have responsibilities like:
Overall, the main task of configuration management is to ensure changes to the configuration are tracked and nothing unapproved makes its way to the environment.
Configuration is often an extremely complex task, especially with large systems. Configuration management can involve possibly hundreds or thousands of components and each one needs proper documentation and validation.
Due to the size of the task at hand, configuration management is often handled by automation. Ultimately, an organization needs to use the right tools to properly track configuration changes. A quality configuration management stack should accomplish these tasks:
Ideally, the use of the right tools and a configuration management plan will lead an organization down the road of establishing a single source of truth. It enables clear visibility to managers since it can track every change in the system.
Some of the tools you might consider using include:
When it comes to configuration management for product managers, you should focus on creating a plan to ensure changes are accurately tracked. A product plan should reference the configuration management plan or directly incorporate it.
Here are a few other tips when managing configurations:
Implementing a configuration management system can take some time and work. Ideally, you’ll have started tracking your configuration changes from the beginning of your organization. If not, you can invest now to prevent issues in the future.
If you have a complex system, then you need configuration management to handle it. Otherwise, you put your organization at risk of experiencing downtime, unreliability, and security issues. It also makes it harder to scale.
Configuration management is a crucial component of DevOps and ensuring your product can function optimally. It leaves behind a trail that you can use to go back to functional versions or discover where issues began to happen. It makes it a lot easier to fix any issues your product development may face.
Featured image source: IconScout
LogRocket identifies friction points in the user experience so you can make informed decisions about product and design changes that must happen to hit your goals.
With LogRocket, you can understand the scope of the issues affecting your product and prioritize the changes that need to be made. LogRocket simplifies workflows by allowing Engineering, Product, UX, and Design teams to work from the same data as you, eliminating any confusion about what needs to be done.
Get your teams on the same page — try LogRocket today.
Authentic leadership occurs when you’re genuine and act consistently with your principles and values, as well as with honesty and integrity.
Ajoy Krishnamoorthy, Chief Product Office at Cin7, discusses data-driven decision-making and his experience launching v1 products.
In our pursuit of innovation, we must be aware of the crucial aspect of letting go — the decision to shut down a product feature.
Justin Kim, VP, Product at Vimeo, discusses the importance of applying ruthless prioritization across the board and curating a clear vision.