Most professionals in the software development industry recognize the need for Configuration Management (CM). CM has been around long enough for people to have experienced problems when CM was either not in place or when the level of CM was insufficient for the needs of the work. CM values of identification, control, audit, and report are meant to ensure integrity of the product under development. These days, almost everyone has, at least, version control practices which include a version control tool and a simple checkout/checkin process. However, as with any engineering discipline, the level of the CM implementation (since CM is much more than just version control) will depend greatly on the culture along with the methods and governance that exist within the company.
Think of it as having several gauges: the main gauge for culture, with two minor gauges for methods and governance. What methods and governance an organization has does contribute to the culture, but they also indicate the level of importance an organization places on these areas.
Visibility into these three areas can help you gauge how readily the organization will accept CM, the level of CM they will accept, and the best approach for implementing CM into the organization. Avoiding the mistake of introducing too much CM at one time can help with the acceptance of additional CM practices over time.
For example, if the culture is a closed one, the methods used are mostly ad hoc, and governance is lax, then it will be challenging to introduce CM practices into the organization. Even if the culture is open, but governance is lax and methods are ad hoc, then it still can be challenging to introduce or improve CM practices. If the culture is somewhat open, the current methods used are mature, and the governance is somewhat strong, then introducing CM will be easier. In this case, there can be advantages in aligning CM with the current methods.
Seeing CM through the lens of Culture
Culture may be described as the set of shared values, goals, and practices within an organization that make up patterns for the way people behave and work. Within a culture, patterns may be introduced in an ad hoc manner or driven by leaders within a company and most often somewhere in between. In very young companies, these patterns are being invented and constructed by the way people interact and based on the needs of the company. In older organization, these patterns have been well established and often times continue to exist even when people recognize a need for change. In effect, inertia sets in. When people enter existing cultures, most attempt to identify the patterns and align with the culture while only a few will attempt to change the culture because of the effort needed to do so. The ability in which to change is directly proportional to how open or closed a culture is to accepting change.
When configuration management is introduced into a culture, it can take many forms. By this I mean the amount of CM functionality that can be introduced. As mentioned, version control is readily accepted. However, there is much more to CM than just version control. There is CM planning, build management, change control, problem management, branching and merging, release engineering, CM auditing, and CM reporting. It is important to identify what the culture can handle and also what it needs. Therefore, the form CM takes depends on three very important ingredients. The first is the person introducing CM (a.k.a., the CM professional) and second is the current state of the culture, and the third is the organizational or product CM need.
The CM professional will come with their own set of experiences in implementing CM.A wide range of experience in implementing CM is very helpful in implementing future CM systems. The goal of this person should be to identify the CM needs of the organization and then the type of culture that exists and how open the culture is to change. Then the CM professional should provide a form of CM that can be absorbed within that culture so that actual CM adoption will occur. It is best when a CM professional is flexible and has strong assessment skills so that they can determine the best form and level of CM and the best way to implement that level of CM. The biggest danger in implementing CM is when there are unrealistic expectations by either the CM professional or those within the culture. There are times when a CM professional is too enthusiastic and wants to implement the full array of CM functionality when the organization is not capable of adopting this level. On the other hand, there are times when an organization wants to implement a rigorous set of methods and standards (e.g., CM for CMMI level 2 or ITIL CM) without realizing that the culture may not be ready or without initiating general steps to move the culture into this direction.
Seeing CM Through the Lens of Governance
Governance may be described as a specific way in which leaders steer an organization .Governance implies defining mechanisms to help drive future direction and implies defining mechanisms that verify and validate that the direction of the company and goals therein are being met. Both pieces (mechanisms for driving direction & mechanisms for verification and validation) must be in place to have a strong governance process.
The more rigorous (or strong) the governance process, the more likely the goals of the organization will be met based on a long-term strategy. The more lax (or weak) the governance process, the more likely that chaos will rule and ad hoc decisions get made that will lack long-term cohesion and direction. A governance process also helps assure the clients that the organization is under control and managing to their goals. Rigor in a governance process does not always equate to bureaucracy, but often times this is the result. The goal in establishing and implementing a governance process is to keep it as lean as possible, avoiding too many levels of approval, too many process steps, and too much paperwork whether it is physical or virtual papers. While there may be some level of budget oversight on IT, a lack of IT governance typically implies that the organization can acquire and implement any type of technology or IT process they want with little oversight. This is neither cost effective nor efficient since it typically results in increasing cost without an understanding of the benefit.
The way this relates to CM is that when there is governance in IT, this can be a natural conduit for driving CM change and ensuring change occurs. The value of CM as a whole or in parts can be determined and then deployed based on a managed approach. Having governance ensures that CM is part of the big picture as it relates to using IT to the advantage of the company.
Seeing CM through the Lens of Methods
A method is defined as a systematic or structured way of implementing or accomplishing something. In the IT field, methods (aka methodology), refers to defined project lifecycle methodologies, practices, standards, and techniques that guide organizations in the way they should perform their work. The simple form of a method is a structure with phases (e.g., the more traditional methods) or iterations (e.g., the agile methods) to get you from point A to point B. More complex implementations of methods include standards and practices that help you do specific things, templates that include the detail that is needed, and tools that help you perform certain tasks and functions.
The way this relates to CM is that CM is seen as an overall approach to controlling changes within a product line and project's therein used in context with most project lifecycle methods (both phased and iterative).CM includes various practices, some of which are used by most projects (e.g., version control, build management, problem management, and release engineering) because of their perceived value and other CM practices (e.g., CM planning, audit, and reporting) are used by those organizations that have follow methods and standards (such as CMMI, ITIL, IEEE, etc.) because of the value they place on such industry standards.
The more mature the use of the methods within an organization, the more likely the organization is willing to adopt new value-added practices. Also, the more mature the methods are in the organization, the more likely there is a recognized need and acceptance of practices that ensure integrity of the product, in this case CM practices. With more maturity comes a likelihood that someone knowledgeable in the method will understand the importance of CM and be willing to help champion the CM change. In general, if an organization has mature uses of methods, it is very likely that they already have a form of CM.
The less mature the methods, the more likely there is a cowboy Wild West attitude. This cowboy mentality abhors structure in any way implying that CM practices will be ad hoc or perceived to be a nuisance. The only bright side here is that even those companies with immature methods often see the value of at least basic version control and typically build management. The form of the CM will vary greatly from group to group, though, making it hard for the CM professional to leverage reuse in any way.
Avoiding Mistakes in CM Adoption
As you consider the adoption of CM, it is important to evaluate the culture of an organization, the strength of the governance structures in place, and the maturity of the methods being use. Mistakes are made when these factors are not considered that can impact the success of the CM adoption. This data becomes valuable input into determining whether to initiate a CM adoption effort or at what form of CM should be implemented.
If the culture is not open, then adoption effort will often fail before they can start. If governance is weak, the adoption effort will be ad hoc and something that is valuable can get mired in personal bias versus prioritized organizational needs. If methods are immature, then even if there is a good reason to adopt a good practice, the cowboy mentality may overrule any need for structure.
In order to avoid starting in a bad position and incorrectly assuming certain factors within an organization, the evaluation of culture, governance, and methods by a CM professional can give you a strong basis from which to start. This can help you determine the form of CM that the organization can handle. The more the three gauges indicate a lower level, the more likely you want to focus the CM efforts on specific CM needs. The more the three gauges indicate a higher level, the more likely it is possible to initiate a more complete CM deployment focusing on several CM functions.