How distributed version control systems help me for agile software development
This way you can work on each user story separately without having to worry about side-effects. Another advantage is that different branches for each user story can be useful when the release date gets closer and time runs out. Because you can decide which branch to merge and which to hold back. Though the typical workflow is to merge a branch back into the main line as soon as you're done. But still different feature branches give you the flexibility and choice.
Now, subversion users often say that this can be done easily in subversion, too. The problem is, imho, that in subversion every developer sees every branch. But sometimes I really just want to try something out and maybe I do not want to show my crazy weird thoughts to everyone. Also, merging in a DVCS preserves history. Because a DVCS merges each commit point. Subversion, however, simply applies the difference between the two branches. Think of doing a diff between the feature branch and trunk and then apply the patchfile onto trunk. Looking at the history of trunk you will only see one big commit with lots of changes.
Your Comment
Don't be shy. Please feel free to add your comment.