Being 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.
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