Agile adoption of Continuous Integration (CI)

We Agilists talk a lot about the importance of Continuous Integration (CI) as a practice and we talk about it like it assumed; however, when adopting CI in what was a waterfall, iterative or undisciplined environment there will be a lot of hurdles to adoption that have to be planned as part of the CI roll-out. Here are just a few to consider:

Is your code structured in such a way so that different sub-systems can be compiled and tested without the need to compile and test other sub-systems. If is isn’t you will need to refactor your code to remove the dependencies, create proxy classes, interfaces, and interface simulators for the dependent sub-systems.

Is your code organized in the source code repository in such a way that you can check-out entire trees/directories and compile test? If not, you will need to spend time (task stories) to reorganize your code. Be sure to look for opportunities to separate business classes from helper, utility, and other common code.

Are you using a source code repository that will even support the role of a Committer? If not, you will have to spend time migrating to such a source code control (SCC) tool. Why a Committer instead of everyone being able to commit code to the baseline? Simple, Code Committers are responsible for what actually is committed to the baseline. They perform such tasks as code-reviews, architectural compliance, and making sure the code conforms to style and quality standards. Think of it as a nice CMMI kind of practice that improves your product’s quality. You are performing peer reviews, right? What about overall code reviews?

Related

About devinhedge

Devin Hedge is a change agent focused on enabling businesses to deal with complexity and changing market conditions. Devin Hedge brings almost two decades of experience working in the IT Industry in his role as an Executive Coach, Organizational Agility Consultant and Lean Product Development specialist. Devin lives in Apex, NC with his wife and two daughters. When not helping businesses change, Devin spends his volunteering to help those that are forced homeless back on their feet and back into a home. You can find Devin running, biking or hiking all over the South.