Home Blogs Featured Blogs CM for Agile

Adapting Configuration Management for Agile Teams

7 - 2010-02-07 15:57:29 -

 E-mail
Thursday, 04 February 2010 15:11
The Knight bringing Agile to the Day

Once upon a time, a Knight challenged the King saying that we should provide people with what they need and not what we want to provide them. Instead of asking people for all of their needs now and not deliver until a year later, we should deliver their more important needs in shorter time periods to ensure we provide them with their needs sooner and then allow them to adapt to their needs as life changes around them.

The Knight learned that the marketplace and the customers therein drove the real needs. This gets to the heart of providing business value, value that the customer perceives, value that can change in this ever-changing world.

As the Agile Manifesto (the Knight's creed) says, Agile values working software over comprehensive documentation. Working software is where the customer sees the value. The “right” amount of documentation, neither too comprehensive nor too little, can lead us to working software more quickly.

Individuals and interactions have more value than processes and tools. This does not mean that processes and tools are not important, it is just that defined processes and tools should not determine how the individuals should interact to get their work done.

Customer collaboration is valued over contract negotiations since Agile values the continuous interaction with customers to ensure we are constantly reducing the risk and increasing the certainty of delivering what the customer really needs.

And finally, responding to change over following a plan allows us to adapt to change with collaborative control that ensures the change is both welcome, understood, and continuously validated.

Agile embraces change and accepts the fact that life is uncertain. By providing methods and techniques to minimize risk and increase certainty, this ensures we close the gap between what the customer actually wants and what we end up delivering.

With that, the Knight brought Agile into the day and people into the light.
 

Cloudy with a chance of Agility - CM predictions for 2010

 E-mail
Written by Mario Moreira   
Thursday, 21 January 2010 14:15
As we gaze in the horizon, what do we think will be hot in the CM landscape and improve our working lives? What might be some of the latest trends in the industry? My prediction is the CM weather report will be “Cloudy with a chance of Agility”. My predictions will focus on:
  • Agile in the forefront of CM
  • Extending the CM reach into ALM and beyond
  • CM “in the Clouds”
Prediction #1: Agile in the forefront of CM
I predict that we will continue to see a stronger focus on agility in the way we approach and deploy CM. This is because Agile methods are continuing to increase in adoption. With the need to adapt and change, comes the need for CM that is both lean, yet well integrated to support the Agile processes. We'll see CM tools cater more to Agile. We'll see more publications focusing on CM and Agile.

Prediction #2: Extending the CM reach into ALM and beyond
As we continue into the future, we will see CM extending into the ALM space and then see ALM extended into a more unified approach. Integration across engineering areas helps teams streamline their processes and reduces the effort of implementation and maintenance of manual integrations. We'll see Agile ALM solutions with CM as its core for organizations looking to improve and scale their Agile processes while still maintaining control. And we may see more holistic unified change and release management solutions

Prediction #3: CM “in the Clouds”
As we looking into 2010 and the future, there may be two focus areas relating to the “Cloud”. The first is ensuring that there is configuration management of the Cloud infrastructure and the second is that there will be more of a focus on hosted CM services in the clouds. Companies are looking for software as a service (SAAS) solutions to limit their infrastructure debt, but these environments also require solid configuration management so the customers of the SAAS solutions can feel confident that changes within these environments will be effectively managed. The second is providing a CM service for software development in the clouds. This way development teams do not need to incur the cost and effort of setting up a CM environment and maintaining it, but instead use a CM environment in the clouds with built in version control, build management, and defect tracking tools that already exist.

Summary
As we look into 2010, conditions may get cloudy but not in the meteorological sense. Companies are looking for “software as a service” (SAAS) solutions to limit their technology debt, but will want to ensure the infrastructure is well managed. Agility will continue to show up in various forms in both the Configuration Management (CM) and Application Lifecycle Management (ALM) contexts. Also, books such as “Adapting Configuration Management for Agile Teams” and blogs will help CM and Agile teams understand and adapt to Agile methods. Whether your forecast is sunny or cloudy (or both), consider flexibility, adaptability, and agility in driving your business! Have a productive 2010!!!

To read the full article on this, feel free to visit: http://www.cmcrossroads.com/cm-journal-articles/13187-cloudy-with-a-chance-of-agility-cm-predictions-for-2010

What are your thoughts on where CM is moving to in 2010?
Last Updated on Monday, 01 February 2010 14:07
 

Book released in the US - Adapting Configuration Management for Agile Teams

 E-mail
Written by Mario Moreira   
Saturday, 19 December 2009 15:37
Exciting news! My new book “Adapting Configuration Management for Agile Teams” has recently been released in the US market. It is the first book of its kind that combines discussions on both CM and Agile. Agile is the facilitator of change while CM is the enabler of change. When done properly, CM provides the right level of control for Agile projects to maintain and increase its high level of velocity. CM for Agile can be a very powerful combination when done effectively.

How can it help you? Aimed at all levels of professionals in the Agile, Configuration Management (CM), Project Management, Product Management, and Development fields, this book provides very tangible support for Agile teams. It focuses on how CM with its practices and infrastructure can be adapted and managed in order to directly benefit Agile projects


What are some unique features of this book that can help you?

• Provides both an Agile Primer and a CM Primer. For those experienced with CM, it provides a solid overview on Agile(or visa-versa on CM) so you can come up to speed. It can be great for someone who wants to learn both. It’s almost like a two-for-the-price-of-one book!

• Provides insightful and concrete guidance on adapting CM for Agile methods while maintaining CM principles and allowing minimal structure needed for Agile projects to continue to run fast. Adapting CM for Agile doesn't mean throwing out the CM principles of identification, control, audit and report. Instead it means that CM should be adapted to allow the lean nature of Agile. The question is how do we do this? Inside, learn how to adapt:

o Continuous Integration and Build applying notions of bit-size tasks, right-sizing branches, minimizing merging, emphasizing continuous build, and testing with teeth.
o CM Planning moving away from big-effort-up-front (BEUF) to a more evolutionary approach, applying an iteration 0 to get started, adapting CM roles and responsibilities, and using wikis and other CM formats.
o CM to support more effective Refactoring, Pair Programming, and Test Driven Development (TDD), Traceability, Baselines, Problem Management, CM Audit, and CM Reporting and lean metrics.
o CM support for Distributed Development for Agile teams when co-location is not an option by performing a distributed analysis and considering code access solutions, and supporting a Cloud infrastructure option.
o CM infrastructure for Agile thru implementing CM Envisioning for a brand new product following Agile methods or thru CM Refactoring to adapt CM for an existing product line moving to Agile methods.

• Will help you understand how the more modern CM features help with implementing Agile in an effective manner and that CM tools are a strategic Agile partner.
• Will help you understand how to more effectively support Agile when your organization, product, or project must align with standards and frameworks.

Again the book is called “Adapting Configuration Management for Agile Teams” (ISBN-10: 0470746637). This book is available on both the Agile and Wiley websites. Also, if you want the original CM book which people love as a great CM reference book, feel free to consider, “Software Configuration Management Implementation Roadmap” (ISBN-10: 0470862645).

Have a great day!
Last Updated on Monday, 01 February 2010 14:07
 

How Valuable is Configuration Management to Agile Professionals?

 E-mail
Written by Mario Moreira   
Thursday, 26 November 2009 02:17
Being a strong proponent of both Agile and Configuration Management (CM), I was curious to learn if other 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 do value CM. Having recently attended the "Give thanks for Scrum" event, both Ken Schwaber and Jeff Sutherland referenced the importance of builds and control to Agile (a CM component).

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.

The first study was conducted in both the “Agile Journal” and on “Linkedin” that focused on the importance of CM tools (e.g., version control) for Agile projects. it is interesting to note that this appears to be the first study of its kind. I provided five categories as possible answers to the question: Extremely Important; Very Important; Somewhat Important; Not very Important; and Not Important at all.

The results from this study (based on 208 respondents) was very telling and 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.

This means that 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”.

The second study sought to drill down further as to which CM practices 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 Planning (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. While I do not consider this conclusive data, it is certainly data to “chew on”.

The conclusion is 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. 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.

To see the full study on this topic, feel free to read the article the "Value of Configuration Management by Agile Professionals" found in the November 2009 edition of the Agile Journal found at: http://www.agilejournal.com/articles/columns/column-articles/2506-value-of-configuration-management-by-agile-professionals
Last Updated on Monday, 01 February 2010 14:07
 

The Chicken (CM) or the Egg (Agile)…

 E-mail
Written by Mario Moreira   
Tuesday, 20 October 2009 08:10
What came first, Configuration Management (CM) or Agile? On the one hand, I've seen articles over the few couple of years that seem to indicate that trend toward Agile creates a new type of CM (e.g., Agile CM) although they seem to be subsiding. On the other hand, I’ve seen CM professionals (CM’ers) adapt their CM practices for an Agile methodology like Scrum.

I think CM'ers have been establishing CM systems that can handle any type of methodology (e.g., waterfall, hyrid waterfall, incremental, or iterative) needed for ages way before Agile became popular. Do you want builds to occur every day, every hour, continuously? It’s a simple cron job edit and now there are specific build tools to help. Do you want to have yearly, quarterly, monthly, or weekly releases? CM can handle that.

Agile certainly can provide a focus on the iterative and incremental nature of a development process by bringing something more tangible to look at sooner than later. This is very valuable. It gets you closer to what you want. Let’s hear from some other CM experts have said on this in the past:

Mark Bools said, “Configuration Management, when implemented correctly, defines interfaces that can be "plugged" into any development process.”

Brad Appleton said, “I agree that CM has always been able to deal with iterative development and frequent (e.g., daily) integration. And I think that when there is misalignment between the two, and development is "Agile", and CM is not on board with the corresponding value-system, then the CM implementation needs to be adjusted (but development needs to "give" some too - it can't be all one way). So, where shops were previously used to non-agile development and non-agile values, when they go to "Agile", the CM implementation will most likely need a big adjustment. it does create a new mind-set for implementing CM in such an enviornment (even if the tools & techniques already existed).”

Bob Aiello said, “CM has been around a long time. Process needs to be as thick (or as my Agile friends say - have enough ceremony) as necessary to get the job done and avoid mistakes. Your process needs to help us get the job done right each and every time without wasting our time on silly practices that happen to work well at the last show that we were in.”

Note: For more on Agile and CM, consider reading the book “Adapting Configuration Management for Agile Teams” found on both Amazon.com and Wiley.com.
Last Updated on Monday, 01 February 2010 14:06
 
<< Start < Prev 1 2 Next > End >>

Page 1 of 2