Why is it everytime I hear someone talk about Continuous Integration, the word agile is usually right before or after it. I understand that the concept of CI came out of the agile methodologies, but in my opinion the two are definitely not tightly coupled as some may assert.
I see CI as a means of closing the feedback loop between the coders and the code (hmm that sounds agile). We as developers get immediate feedback on our commit, long before we forget what we just did. Powerful. For example, I add new code that depends on this shiny new open source dll, but forget to commit the dll. Within minutes the other developers are laughing and pointing at me singing Aaron broke the build. After putting my quarter in the swear jar, I can quickly fix the issue while it's still fresh. Sound agile? Sure. But in the end that commit could be part of a huge waterfall project just destined to fail, but still the feedback loop between the coders and the code is tight. There's value in that no matter your methodology, or absence there of.
Is it that everyone wants to be agile? I know I would like to work in an agile environment, and to some degree we are, but in the end we are closer to a traditional hunt, gather, and analyze shop. Yet there is still value both in our reliable builds, and the continuous integration that tests them.
/rant.. CI, although important to agile shops, can have a ton of value no matter how you develop. So don't just pass by it if you don't think your "agile", or have a nice set of unit tests to get feedback on.. (although unit tests aren't really tightly coupled to agile either ;)
Remember Me