Where does the person responsible for managing a configuration (the CM manager) belong in relation to a product development life cycle? Whether or not CM activities take place in one or more stages of the life cycle is NOT the question.
For reference, please make two assumptions:
1) The life cycle consists of the following stages or states:
> Requirements
> Design
> Development (and unit testing)
> Testing
> Operations (or Production)
> Removal
> Archiving
2) There is a team lead or manager for each stage; for example: Requirements Manager, Lead Designer, Senior SW Engineer, etc.
this depends upon the industry and the (potentially) regulatory requirements. For example, in a bank the CM function needs to be separate from development. In an engineering organization this may not be necessary. A lot depends upon the culture of the organization and industry.
For example, in a bank you typically need a separation of controls and CM function should not report into development to avoid the "fox guarding the hen house".
Can you provide more details?
Bob
No further details, Bob. It was an open question. The only specific is that we are talking about the person/position of Configuration Management Manager, NOT CM activities.
I inferred from your first paragraph that the CM Manager's position in the organization is driven by the external environment (regulations) and internal culture.
I have worked in several different industries and have been "assigned" to different groups, both under Development, and in organizations that are siblings of Development. I am currently assigned under Quality Assurance, yet due to the culture of my company, am almost autonomous.
Based on these experiences, my recommendation would be to have the CM manager assigned outside of, but sibling to the Development and QA groups, to avoid the Fox/hen scenario Bob mentions above.
As I have read here in CM Crossroads and elsewhere, CM is the only group outside of PMO that has any concern about the entire ALM of a given system/application/project, from inception to post-retirement (you may have to recover that app).
Thank you JG.
You stated. "CM is the only group outside of PMO that has any concern about the entire ALM of a given system/application/project, from inception to post-retirement..."
Does that tell us anything about the placement of the CM Manager's organizational position?
You stated: "...my recommendation would be to have the CM manager assigned outside of, but sibling to the Development and QA groups..."
If the CM Manager must answer to the Development lead, does that not create a potential conflict with the leaders of other ALM/PDLC stages (i.e., Requirements lead, lead design engineer, etc.)
In other words, what is the assurance that the CM Manager will have eqitable concern about all the stages of the entire ALM?
I don't see the CM Manager "answering to" the Dev Lead, but is responsible for coordinating with the Dev Lead, as required, for the builds, SCC, etc. I envision the CM Manager being a peer of the DevLead's boss. IMHO, the functions of the CM Manager are coordination with the various leads, and does not, nor should, report to any one of them.
In like manner that CM not report to Development, nor should it report to QA/QC, again due to those various conflicts of interest. Afterall, he who serves multiple masters does well for one while shirks for the other, or vice versa.
In my experience, as long as CM has a equal position in collaborating with the other teams to achieve the best result - which is always a balancing act! - who CM reports to is less important.
But this depends on the organization's culture. If the organization puts strict reporting structures above collaboration, it is very important that CM is positioned so it is an equal at the table to get the best results.
JG,
I think I understand what you are saying, but with that explanation, [i]where does the CM Manager belong [b]in relation to the life cycle[/b]?[/i]
Veroamore,
Would not the "equal positon in collaborating" be at risk if the position of the CM Manager were not defined?
and
If the CM Manager is "positoned so it is an equal at the table," then, again,[i]where does the CM Manager belong [b]in relation to the life cycle[/b]?[/i]
I think I understand what you are saying, but with that explanation, where does the CM Manager belong in relation to the life cycle?
At the same spot as the Product Owner/Manager is located in the lifecycle. CM cares about the WHOLE - from initiation to retirement (and typically beyond retirement).
Can't get any plainer than this.
I think I understand what you are saying, but with that explanation, where does the CM Manager belong in relation to the life cycle?
At the same spot/point as the product owner/manager. The CM manager cares about the product from the moment requirements are first established through some time after the product is retired. (You are keeping previous software for some period of time, right?)
Can't make it any plainer than that.
Remember that I am looking at this from an ALM perspective.
JG,
I really wasn't trying to ruffle your feathers and please accept my apologies if I did so.
You were hitting all around your last answer, but I felt it would be presumptious of me to jump to the conclusion you presented. I have found too often that an assumed conclusion was not the intended one.
No offense taken. Glad you have your answer.
Actually, so far I have three answers and my opinion (which may or may not agree with any of those answers).
JG’s answer pretty strongly implies that the CM Manager, in relation to the life cycle, is on the outside looking in (as part of the management umbrella over the entire product).
Veroamore's answer seems to be that the CM Manager position is largely determined by the organization’s culture, but the location of the position is not really very important as long as there is an "equal position in collaborating with the other teams."
Bob's answer is that the position depends on the industry and regulatory environments and on the organization/industry culture.
So far, those are the only opinions expressed.
CMCrossroads is a TechWell community.
Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.