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