Continuous Integration build tools are great: they help us ensure our product works after every commit, keep historical data and metrics, build our product for all target environments, and do many more useful things. But there's one key aspect that often gets overlooked: They're fun.
This article provides an overview of various tools, integration strategies and their benefits in agile environments. These tools would come in handy in implementing key agile practices like daily builds, refactoring, continuous integration and test driven development.
Many times when managers first consider parallel development, it appears to be a very effective way to manage changes to concurrent streams of development. This is somewhat true if the project uses an SCM technology that allows for stable branching and establishes discreet project and maintenance branches. However, what is often forgotten is that while branching is a great way to separate code changes, at some point merging will have to occur. This article provides guidance for approaching and performing parallel development.