One of the tasks that I am currently doing is providing some recommendations on implementing Continuous Integration.  CI covers many areas in the software development world, and frankly, it is more a cultural change than anything else.  The best processes can be stated but if they are not followed, CI will not be as effective as it possibly could.

Here are some main areas that I am focusing on in no particular order:

Defining Continuous integration

Of course, this is the first step right?  Each company will have a different definition of CI, however, I believe there are some best practices out there.  Check out Martin Fowler’s article on Continuous Integration

Consistency in solutions and projects

 CodePlex has a great tutorial and project on this subject by building a “developer tree”. CodePlex – Tree Surgeon project.  Also, I am looking at ways to implement recipes using the Guidance Automation Toolkit (GAT) to simplify the developers life.

Source Code Control

Managing Source Code is a task that is not for the faint at heart. I believe Eric Sink, who IMHO is a leader in SCC gives an excellent tutorial on his blog .


Of course understanding MSBuild, NAnt, CruiseControl, TeamBuild, and others are invaluable resources.  One tool I particularly like is a tool from Jay Flowers,  

CI Factory.  His ideas on continuous integration are absolutely wonderful.