|
| 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.
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:
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):
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 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
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
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:
References
http://www.perseusdevelopment.com/customersupp/WebHelpv4/surveysolutions/buzz_wor ds.htm
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
Set as favorite
Bookmark
Email this
Hits: 10207 Trackback(0)Comments (0)
|
||||||||||||||||||||||||||||
| Last Updated on Monday, 14 August 2006 07:30 | ||||||||||||||||||||||||||||



