How do I perform a Software Configuration Management Assessment?

aristocrat's picture
aristocrat asked on November 2, 2011 - 4:01am | Replies (7).

I am interested in starting a discussion on how to perform "SCM/CM Assessments".

I would like to develop a plan and set of activities that can help review and assess any existing processes and providing improvement suggestions to the cause. I am not aware of any documents that can give me this insight, and I am looking for a deep set of information to support this cause.

7 Answers

Bob Aiello's picture
Bob Aiello replied on November 2, 2011 - 4:21am.

I have done a lot of assessments in my consulting practice and I describe some of my experiences in my book on Configuration Management Best Practices.

The first thing that you need to clarify is what you are assessing to. Do you have regulatory requirements? Are you required to comply with the guidance in industry standards (e.g. IEEE 828, EIA 649-B, ISO etc) or frameworks (e.g. ITIL, Cobit, CMMI). Another software form of assessment is to use industry best practices, although I recommend that you embrace standards and frameworks in every assessment.

Be careful too. I have seen some consultants who were really not qualified to conduct CM assessments and they worked from their own narrow experience without including the guidance in standards and frameworks.

Tell us more about your environment and start thinking about a dance card for your assessment.

aristocrat's picture
aristocrat replied on November 2, 2011 - 4:28am.

Hi Bob,

I did come across this book but feared that I might not get all that I am looking for?

And as you mentioned, I do not want to be one of those consultants who practice wrong assessments.

I am looking for the right approach to identify and improve any existing or non existing SCM process. This includes adhering to the different frameworks that the organization should have been working with.

How would you suggest that I do this correctly? I am open to your suggestions, as I need to grow as an expert consultant.

Bob Aiello's picture
Bob Aiello replied on November 2, 2011 - 11:19am.

I would like some of the other folks to give their opinions on this.

I think that you need to start by obtaining and reading the various standards and frameworks, although we do have lots of articles online that will get you started. When I assess, I group the CM functions into six categories:

1. source code management
2. build engineering
3. environment management
4. change management (seven types)
5. release management (including engineering)
6. deployment

What industry is the client in?

Bob

bglangston's picture
bglangston replied on November 2, 2011 - 7:35pm.

Aristocrat,

Would you first define/describe what you mean by SCM?

To many of us, SCM is CM as practiced when Software is the product. To others, "SCM" has various other meanings.

To further muddy the waters, there seems to be two major camps of CM: those who think of CM as applying in the development/build/testing stage of product creation and others who think in wholistic product terms (i.e., CM resides over the entire life cycle rather than in a single stage).

Without that clarification, it will be difficult to address your subject with any degree of effectiveness.

jptownsend's picture
jptownsend replied on November 3, 2011 - 10:47am.

Aristocrat,

I have one more thing to add to Bob and Billy's posts. You state that you want to grow as an expert consultant. From this statement I am assuming you have been in the CM/SCM position or field. Now your ready to take it to the next level.

There are different types of experts, I think it would be safe to say that Bob and Bill are both experts with vast experience and a breadth of knowledge that is unmatched in this industry, there are a few others out here as well such as Mark Bools, Brad Appleton, Joe Farah, etc. that have such a deep understanding of this field. Read what they write and apply the principles they espouse. Now this knowledge and expertise does not come from just knowing all the right words or standards to quote it comes from implementing them in real life situations.

Add to the dialougue here as well. The only way you will become an expert and be respected is to throw your ideas out there, let people ask questions, disagree, and agree with you and soon you will be on your way.

Regards,

Joe

aristocrat's picture
aristocrat replied on November 4, 2011 - 12:02am.

I understand that SCM/CM idea are different across many organizations. But I would like to focus on the Software Development and IT Service Delivery sides of SCM.

I have worked around ALM with SCM, and I would like to expertise around this side of SCM. Worked with a few tools that support this too.

So if I were to improve myself in doing this, what would be my correct approach to assess and improve software delivery. What are the standards I need to review and implement, and how do I implement it correctly?

Is there any deep dive books which can support me on Assess and Implement an SCM Practice? What are the standards and frameworks I should concentrate on initially for implementation?

(I understand this is going to be a messy topic as with the different views of SCM but maybe lets clear that up here.)

bglangston's picture
bglangston replied on November 4, 2011 - 5:01pm.

You might want to start with EIA-649B and/or IEEE-828 to get the necessary principles and definitions for CM. Worked with a good management book (I suggest something by Koontz and O'Donnell), you get a better idea of managing configurations and its relationship with the management discipline in general.

For assessments, a good place to start would be the CM section of the "CMMI for Development." It gives a pretty good presentation of the goals, principles, and practices of the discipline. Also, it provides examples of the types of work products, artifacts, and data that show evidence that the practices are being conducted.

With that said, it is very important to remember the phrase "an appropriate level of CM."

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.