We have 3083 guests and 8 members online

Home > Articles > Columns > Articles > Value of Configuration Management by Agile Professionals

Value of Configuration Management by Agile Professionals

E-mail
Written by Mario Moreira   
Monday, 09 November 2009 10:17
november-09-value200Being a strong proponent of both Agile and Configuration Management (CM), I was curious to learn if Agile professionals perceived CM to be of value in an Agile setting. Having worked in both areas for some time, my initial hypothesis was "yes" Agile professionals value CM. It should be noted that the Agile Manifesto has a value that says "People and Interactions over Processes and Tools". I interpret this to mean that the people and their interactions should drive the appropriate level of processes and tools and not have tools or processes dictate how people should work and interactions should occur. In addition, the word "over" does not mean "versus" so it does not mean that processes and tools are unimportant.

While most Agile professionals do not let CM drive their interactions, they appear to value CM. Having worked in Agile teams and hearing stories from Agile and CM professionals, I decided to exercise my hypothesis and find out if in fact Agile professionals do find CM tools and processes to be of value in their software development work and at what level. With that in mind, I conducted two studies to determine the importance of CM.

Study #1 - How Important are CM tools?
The first study was conducted in both the "Agile Journal" and on "Linkedin". Since this was the first study (and I believe the first study of its kind), I led with a very simple questionnaire where I asked Agile professionals the following question:

  • How important are CM tools (e.g., Version Control) for Agile projects?

I provided five categories as possible answers: Extremely Important; Very Important; Somewhat Important; Not very Important; and Not Important at all. While not meant to be an exact survey, it certainly provided a telling outcome.

The results from this study (based on 208 respondents) indicate that CM tools (or at least the version control function) are indeed important for Agile teams working in software development. When combining the number of respondents who answered either "Extremely Important" or "Very Important", the result was a dramatic 94%. This is quite an amazing number. Parsed out, this includes 75% of the respondents answering "Extremely Important" and 19% answering "Very Important". I wonder if there are any other tools where 75% of Agile professionals would answer as being extremely important to their work. Respondents who answered "Not Very Important" or "Not Important at all" accounted for only 2%. While there were over 200 people who responded, I do not consider this conclusive data. However, it is certainly data to "chew on". Table 1 illustrates the spread of answers across all 5 categories.

mm1109-1

Table 1: Importance of CM tools (e.g., Version Control) for Agile projects

Another interesting result from this survey is the distribution of those that answered "Extremely Important" appears to vary by age in a telling way. The chart below indicates that older Agile professionals find more importance in CM tools. About 67% of those in the 18-24 age category find CM tools extremely important. Of those in the 25-34 age category, 78% find CM tools extremely important. Of those in the 34-55 age category, 89% find CM tools extremely important. Most telling are those Agile professionals that are 55 years of age or older, 100% find CM tools extremely important. To be fair, there was a smaller sample of data for those 55+ years old, so further studies should occur to make this data more meaningful. However, it raises the question, as engineering professionals increase in age (and presumably in experience) do CM tools become more important? Have they experienced enough problems as a result of not having solid version control, where a CM tool is considered extremely important? Table 2 illustrates the age spread and importance of CM tools.

mm1109-2

Table 2: Distribution by age range of who rated CM tools "Extremely Important"

And finally the last bit of data from the survey results indicates that there may be a slight difference in the way the Agile engineers (e.g., as part of the Agile project team) perceive the importance of CM tools versus the way Product Managers do. In this case, 90% of the Agile professionals who are Engineers appear to indicate that CM tools are extremely important while only 60% of Agile professionals who are Product Managers indicate this. This may account for the fact that engineers are more severely impacted when there are problems with identifying or controlling code. However, upon further investigation, when combining the top two categories, 100% of both Engineers and Product Managers believe CM tools are either "Extremely Important" or "Very Important". Table 3 illustrates the distribution of importance by these two roles.

mm1109-3

Table 3: Distribution of Importance by Role (e.g., Engineers and Product Managers)

Study #2 - How Important are CM Functional Areas?
The second study sought to drill down further as to which CM functions are perceived to be valuable by Agile professionals and which are more valuable than others. With this in mind, I conducted a second survey in the "Agile Journal" where I asked Agile professionals within a polling questionnaire to please place a value rating on each of the following CM functional areas:

  • (CM for the project including planning activities, roles, etc.)
  • Version Control (tool with Check-out/check-in process)
  • Build Management (tool with continuous build process)
  • Branching and Merging(tool and continuous integration process)
  • Change Control (process of managing changes)
  • Problem Management (tool and process - a.k.a., defect tracking, issue mgt)
  • Audit(process - baseline, etc.)
  • Reporting/Status Accounting (process)
  • Release Engineering(tool and process - a.k.a., migration and installation)

I provided 10 value choices (from 1 to 10) where 1 is the lowest value and 10 is the highest value. While not meant to be an exact survey, it provided some interesting data.

The results from this study (based on a modest 25 respondents) indicate a range of perceived values for the various CM functions. Build Management received the overall highest average value score with 9.21 (out of 10). This is not surprising since continuous integration and build is a highly valued practice for those who implement Agile. This was closely followed by Version Control which received an average value score of 9.13. This may be because of the recognized need of control due to the high volume of code changes. The high value of the version control function correlates well with the first study where a high percentage of Agile professionals indicated that CM tools (e.g., version control) were either extremely important or very important.

Branching and Merging is next with a score of 8.33. When considering that a big part of continuous integration assumes merging, then this high score is not surprising. Most interesting is Change Control with the fourth highest score of 7.92. In the survey, there was a short description included with Change Control that said "process of managing changes". With this additional piece of information, it may be that Agile professionals align control of changes with iteration planning where change is periodically managed. Not surprisingly, CM reporting and auditing are perceived as least valuable. Agile tends to find reporting beyond the basic burn-down charts of less value and believes that auditing is just an extra step that is unnecessary when the team works continuously and closely together. Table 4 illustrates the average values of the various CM functions. While I do not consider this conclusive data, it is certainly data to "chew on".

mm1109-4

Table 4: Average value scores of the various CM functions.

Conclusion
Configuration Management (CM) appears to be valued by Agile professionals after receiving a combined score of 94% who responded with either "Extremely Important" or "Very Important" from the first survey. Why this is may be because Agile is a facilitator of change that requires change mechanisms that can handle the high volume of change. CM provides those change mechanisms to ensure the integrity of change on a software project. When drilling down one level, several CM functions appear to be of high value based on the second survey results starting with Build Management. With the continuous integration and build practice spanning both CM and Agile this may be no surprise. Being a strong proponent of both Configuration Management and Agile, I am happy to see these results. For Agile professionals who have not yet considered CM as a valuable asset to their work, it may be time to do so now. It may be to your advantage. For Agile professionals who do understand this powerful combination, more power to you and it may be worth giving some of the CM functions a second look.


About the Author
Mario Moreira is a writer for the Agile Journal, a Columnist for the CM Crossroads, an Author, an Agile and CM expert for CA, and has worked in the CM field since 1986 and in the Agile field since 1998.  He is a certified ScrumMaster in the Agile arena having implemented Scrum and XP practices at the product and organizational levels.  He has experience with numerous CM technologies and processes and has implemented CM on over 100 applications/products, which include establishing global CM infrastructures.  He holds 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 the author of the CM book entitled, "Software Configuration Management Implementation Roadmap".  It includes step-by-step guidance for implementing SCM at the organization, application, and project level. Mario has also completed a new book entitled "Adapting Configuration Management for Agile Teams" which is now out in Europe and available for pre-order in the US (due out on Dec 1, 2009). Both books can be ordered at www.wiley.com and www.amazon.com (search for Mario E Moreira)

Comments (1)Add Comment

Eddy Pauwels
...
written by Eddy Pauwels, May 21, 2010
Very interesting article. At Serena, being a leader in ALM with a strong experience in Agile, we have seen similar results in our customer base.

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, 23 November 2009 09:39
 

Agile Marketplace - Announcements and Special Offers

Rally Software Extends Agile ALM Platform to Meet the Unique Needs of Global Organizations
Rally Unlimited Edition – Promote Agile practices throughout your organization by providing a complete system-of-record of each product's status, progress and quality across the full idea-to-deployment lifecycle. Sign-up today for your free trial!

iPhone iPad Developers Conference
The iPhone iPad Developers Conference, September 27-29 in San Diego, is the world's premier independent event dedicated to building and marketing apps for Apple's iPhone, iPad and iPod Touch. The format includes 45+ technical classes, workshops and breakout classes.  It will also be the first major developer conference after the release of iPhone OS4.  CMC subscribers can receive a $100 discount off the Full Event Passport and/or gain free admission to the exhibits (first time registrants only - cannot be combined with other offers) by inserting the code MEDIASPONSOR when prompted on the eRegistration page linked from www.iphonedevcon.com

AgilePalooza - Serious Learning in a Fun Atmosphere
AgilePaloozas are community events sponsored by VersionOne and Agile Journal.  These one day conferences provide serious learning in a fun atmosphere.   Two tracks are included: Learning Agility and Advancing Agility. Speakers include internationally recognized agile coaches and trainers. The next seminar will be held August 27th in Dallas, TX – use discount code agilejournal and save $20!
Register Here


CollabNet Subversion Edge Improves Governance, Security, Administration

Quickly configure SVN, Apache, and ViewVC with one certified stack, fronted by a powerful UI.
Try our beta version and let us know what you think!