Sponsors

Microsoft


TechWell

We have 980 guests and 4 members online

Home Implementation Excellence Comparing the Relative Value of CM Practices

Comparing the Relative Value of CM Practices

E-mail
Written by Mario Moreira   
Saturday, 01 May 2004 03:48
Within the world of CM, there are a number of practices, sometime called ‘best', that are implemented on a project and within an organization. The practices provide a level of structure for a workplace.

 

mmmay04-1

CM professionals define best practices for their organization, application, or project in order to improve the way CM work is done. Formal definitions for a best practice include:

  • A superior method or innovative practice that contributes to the improved performance of an organization, usually recognized as "best" by other peer organizations -
  • http://www.asq.org/info/glossary/b.html
  • The winning strategies, approaches, and processes that produce superior performance in an organization. A best practice is a by-product of a successful end-result -http://www.portalstep.com/90.1Glossary.htm

There is often great debate as to which practices are most important or have the most value-added. Some CM experts will say that certain CM practices are more important than others. Other CM experts will say it depends on the situation. This article hopes to examine the relative value of various CM practices.

CM Best Practices

Within the CM world, there are may CM practices that can be implemented. Some of the more common practices include (but not limited too):

 Audit

  • Change Control

 Release

  • Branching/Merging

 CM Plan

 Report

  • Build Management
  • Problem Management

 Version Control

The practices are defined in different ways depending on the need of the workplace. Below is an attempt to loosely define the CM practices mentioned above:

CM Planning Practice

An approach to CM that details tasks and structure for implementing consistent and effective SCM within an organization. It may include: SCM terminology; reference documents (SCM policy, processes, templates, and related application/organization documents); SCM roles and responsibilities & organizational structure (relative to SCM), and SCM activities (list of activities to be undertaken). In a nutshell, this practice provides a focal point and direction for CM.

Version Control Practice

An approach that ensures integrity to changes items. This typically includes establishing a version control infrastructure to store items and a repeatable checkout/checkin process to capture changes.

Change Control Practice

An approach to proactively control changes to a baseline or environment. This typically includes defining the baselines for control, establishing a Change Control Board (CCB) who authorizes the establishment of and changes to a baseline, defining CCB conduct guidelines, and a repeatable change control/management processes to manage changes to the baseline(s).

Branching and Merging Practice

An approach used when parallel development and/or distributed development occurs which allows various personnel and groups to work on different streams of code (a.k.a., branches specific to their development). This typically includes defining a branching structure and a repeatable merging process detailing how to merge 2 or more items, rebuild if appropriate, and test the changes.

Build Management Practice

An approach used to generate deliverables from source for migration to test and production. This typically includes defining a build infrastructure and a repeatable build/compile process that includes an official deliverables clean-room build process and a corresponding build process for developers.

Release Practice

An approach used to manage changes into production. This typically includes defining a release migration infrastructure and a repeatable release process which may label baselines, attain approvals (from the CCB), and installing deliverables into production or media.

Problem Management Practice

An approach used to identify and resolve problems in a project, application, or organizational lifecycle. A ‘problem' may be divided into (but not limited too) types such an issue, defect, and noncompliance. This typically includes establishing a problem management infrastructure and a repeatable problem management process to track problems to closure.

Audit Practice

An approach used to assess compliance to SCM policy, processes, technology usage, and determine the integrity of baselines. This typically includes defining a repeatable audit process to assess compliance, recommend improvements, and report audit results.

Report Practice

An approach used to communicate status of CM tasks to the organization. This typically includes establishing needed CM reports from a repeatable report process that will collect CM status on progress, measures, training, resources, achievements, audits, and outstanding issues.

Other Practices

It is important to understand that there may be other practices in the CM space. Others may include an Identification Practice, Global Distributed Practice, Staffing Practice, and Organization Structure Practice. It should also be noted, that typically you cannot have a Branching and Merging practice without a Version Control practice.

Study of Relative Value-Add

A key purpose to this article was to determine the CM practices that CM professionals perceive to have the most value within their workplace. As mentioned, there is often great debate as to which practices are most valuable. This article includes a brief study on this topic.

With that in mind, I prepared short survey on the topic. The focus was to ask CM professionals to ‘rank order' a list of 9 CM practices (the nine practices listed in the "CM Best Practices" section above). My hypothesis is that CM professionals would rank the CM practices is a variety of orders depending on their situation. In other words, the value of a CM practice will be relative to the industry a CM professional works in, the level of training and/or experience this person has, and how much time is being allotted to work on CM tasks within the workplace.

Survey

Below is survey question I asked along with the context that surrounded it:

I would be interested in knowing which CM practices you perceived to have the biggest added-value to your organization. In other words, if your time is limited, which practice would you would on first work on implementing and in what order thereafter.

By perceived, this is your personal perception, a combination of what CM practice you think is important, what your management/organization requests/demands, and what the people in the organization (you support) think they need.

Please take a moment to rank order the following CM practices:

___ Change Control (for managing baselines)

___ Problem Management (defect/issue tracking)

___ Version Control (checkout/checkin)

___ Build Management (build/compile)

___ Branching/Merging (parallel development)

___ Release (installation to production)

___ Audit (baseline, process)

___ Reporting (for CM status)

___ Planning (CMP)

The sample (or group) the survey was targeted was CM professionals across the world but primarily from those who read the "General Discussions" groups under the "Discussion Forums" in the CM Crossroads website (www.cmcrossroads.com).

Results

Overall, there were 23 respondents to the survey. Depending on whom you ask, the minimum number of responses you need to make a survey statistically meaningful is between 30 and 50. While more is better, it is always advantageous to work with existing data. Moreover, we will see that the results of the survey do lend themselves to support the hypothesis.

The Mean

The first result focuses on the mean. The mean is the statistician's average. More simply, it can be defined as the sum of scores divided by the number of scores. If you ask 100 people to rate something on a scale of 1 to 10, you would add up all the scores, and divide by 100 to get the mean. This is effectively what was done in this survey. Below is a chart that provides a rank order of the mean of each CM practice from the respondents.

Mean per CM

mmmay04-2

Mean Ranking Practice

CM Practice

From all of the survey responses, Change Control (3.09 mean) and Version Control (3.35 mean) practices are perceived to be the biggest added-value to an organization. Since one of the core functions of CM is control, it may be no surprise that these two top the list. Change Control allows the CM professional to proactively authorize a change prior to the change occurring and Version Control ensures each change is capture to ensure integrity of a product.

The third in order is the Branching/Merging (3.83 mean) practice. As mentioned above, the Branching/Merging practice is closely aligned with Version Control so this may account for the closeness in ranking. However, given that it is ranked third, it may be because of the recent increase in moving development work offshore. The branching and merging practice may have more importance due to the distributed development that is occurring.

A distance fourth in mean order is the CM Plan (4.87 mean) practice. Typically, this practice is thought of as one of the fundamental building blocks to consistent CM within an application team or across an organization. My guess is while many believe it is important, it becomes challenging to perform this practice in the time that CM professionals are given to perform their tasks.

It is not surprising that the Audit (6.87 mean) practice came up last. Typically, reporting is not done unless there is time allotted to this effort by management and not done unless it is required because of a certification or regulation.

In addition, while the Report (6.57 mean) practice can be an excellent way to communicate information to management on areas that need focus, it ranked second-to-last. This may be due to no time being allotted to this effort, but it should be recognized that reporting could lead to recognition of areas of improvement.

The Standard Deviation

Standard deviation can be described as a measure of how spread out a group of numbers is in relation to the mean. Technically, it involves looking at the square of the difference between each number in a group compared to the mean. However, the important thing to understand is the wider the range of numbers, the higher the standard deviation. A higher deviation typically implies that there are a wide range of differing opinions as to the rank order of a CM practice. Knowing the standard deviation may help further understand the responses. The following are the standard deviations from the responses.

Std Dev per

Standard Deviation CM Practice

mmmay04-3

CM Practices

CM Plan Practice: Standard Deviation Analysis

As you can see, the CM Plan practice has the highest degree of standard deviation. While it ranked fourth overall as a value-added practice, the standard deviation provides us with some interesting insight into the responses. This implies that there is a wide degree of differing opinion as to the order ranking. Some analysis include:

. While the mean for the CM Plan practice is 4.87, the rank order ranged from 1 to 9.

Order

  • . In fact, 5 people ranked it a "1" (e.g., the highest value-added practice) while 4 people ranked it a "9" (e.g., the lowest value-added practice).
  • . Only 9% (e.g., 2 of 23) of the responses are within four standard deviations of the mean - 2.87 to 6.87.

The chart below illustrates the fact that there is a wide range and high standard deviation for the CM Plan practice (see solid green line). Note: the doted green line is the mean.

Change Control

Version Control Branching/Merging CM Plan Build Management Problem Management Release Reporting Audit

What is clear from this study is that CM professionals have different opinions as to the value of CM practices. While some will state firmly what is the most value-added practice (CM Plan practice may be an example of this), the reality is that it depends on the situation. While not specifically explored in this study, it may be hypothesized that the situational differences stem from the industry a CM professional works in (some certification and regulation is demanded), the level of training and/or experience the person has, management's perspective on CM practice, and how much time is allotted for CM tasks within the workplace.

Finally, what might be a good CM practice to start with? While the rank ordering indicates that the Change Control and Version Control practices top many people's list, I would suggest you determine the best approach for your specific situation. Potential steps to follow include:

.

Define what CM practices may be applicable to your organization.

.

Identify which CM practices are already in play (and to what degree of implementation and maturity).

.

Discuss the value-add per practice amongst the CM professionals you work with or within the field specific to your industry, discuss it with your management, and discuss it with your customers (developers, analysts, project managers, QA/testers, etc.).

.

From there, rank order the CM practices based on the perceived value from the discussions.

.

Starting with the highest value-added CM practice, identify tasks for implementation and/or

 

improvements.

.

Utilize the CM Report practice to communicate the plan, the progress, and the achievements.

References

  • . Best Practices Definition
  • American Society for Quality (ASQ) -http://www.asq.org/info/glossary/b.html
  • PortalStep -http://www.portal-step.com/90.1Glossary.htm
  • . Mean & Standard Deviation
  • University of Missouri - Kansas City School of Medicine
  • http://research.med.umkc.edu/tlwbiostats/variability.html
  • Perseus Survey Solutions

http://www.perseusdevelopment.com/customersupp/WebHelpv4/surveysolutions/buzz_wor ds.htm

  • . CM Practices
  • "Software Configuration Management Implementation Roadmap" by Mario E. Moreira, 2004, Wiley
  • . Thank You to the 23 professionals who contributed their rank ordering and additional thoughts to make this article/study possible.



Mario Moreira



Mario Moreira

 



Mario Moreira is a contributing editor/writer for CMCrossroads Journal, a Director/Architect of Technology, an author of CM publications, and has worked in the SCM field since 1986. He has experience with numerous SCM technologies and processes and has implemented SCM on over 100 applications/products which include establishing global SCM infrastructures. He has an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience.

 

Mario is releasing a new SCM book entitled, "Software Configuration Management Implementation Roadmap". It can be found at http://www.wiley.com/WileyCDA/WileyTitle/productCd0470862645.html and can also be found at www.amazon.com (search for Mario Moreira under the ‘Book' category).

You may reach Mr. Moreira by email at Mario.Moreira@cmcrossroads.com

Trackback(0)

Comments (0)add comment


Write comment

You must be logged in to post a comment. Please register if you do not have an account yet.

busy
Last Updated on Monday, 14 August 2006 07:30
 
509 Bandwidth Limit Exceeded

Bandwidth Limit Exceeded

The server is temporarily unable to service your request due to the site owner reaching his/her bandwidth limit. Please try again later.