Each day, many configuration management (CM) folks are asked by the IT organization to implement CM on a small team or in a new effort. You may be told (or decide yourself) that a full-blown CM implementation won’t be necessary due to the small size of the team. Your ability to “right size” will go a long way in how successful your CM efforts are.
When implementing CM for small teams, there are several questions you need to address: Is the minimalist approach of CM congruent with my duties to implement sound CM? Is there a difference between implementing CM on small and large teams? Can I pick and choose the concepts of CM—a cafeteria plan approach—and still stay true to the discipline of CM? The answer to these questions depends on how well CM is received at your organization and whether are there other efforts that you are working on that require a more structured approach and a more detailed CM implementation. As a CM practitioner, you don’t want people saying, “Why do we have to do this CM practice when the other group does not? If you don’t have answers to these questions, it could derail your CM implementations throughout an organization.
I am currently in a situation where we don’t have a CM plan for our organization. We have a process guide for our developers to use that contains our approach to CM. It spells out the processes and procedures that developers are to follow as it pertains to CM. This approach requires a great deal of trust between all of the software development staff. Some may ask how CM issues are resolved without a CM plan. It depends on your organization’s maturity and ability to operate without specific instructions. First and foremost, your team should exhibit a strong culture of CM and understand its importance and necessity.
Although it is important for large teams to have a CM plan, it isn’t essential for the success of small teams. It’s more important that the team members understand the value of their own CM efforts in the team’s success. In large teams, due to the complexity of such undertakings, a CM plan is necessary because of the sheer size of larger scale implementations. In larger undertakings, there can be more people spread out over greater distances and you lose the relationships that are usually less formal in smaller groups. Ultimately, the bulk of CM activities are performed by others, especially on small teams. On smaller teams you usually have more functions being performed by fewer people and less separation of duties.
At my organization, our Configuration Control Board (CCB) sets priority without the aid of lead developers and business analysts and configuration management input. However, not having a full CCB has not made our work any more difficult as we are able to set priorities and work on issues that the business deems important. In small teams, only one or two individuals in the organization may set the priorities, in which case a CCB is merely a “rubber stamp” that adds no value and hinders progress. In larger groups, a CCB might not be possible due to a variety of factors, such as geography, the levels of maturity needed to interact, and the need to “be there” for the team at all times and all situations. Your main priority in smaller implementations as a CM practitioner is to make sure that you are able to provide the basic CM needs of the group and be an enabler of success instead of a barrier to success.