Tuesday, August 4, 2009

Don't you love Continuous Integration?

Done right, Continuous integration (CI) can make your software development efforts to be more fun and enjoyable. Some bassic thought we should keep in mind about it:

  • Avoid any guess work by using an authoritative version control repository. Don't leave anything to the mind of any person. They may not be with us tomorrow.
  • Stop doing tedious tasks manually (stop wasting time)... Instead, automate, automate and automate all you can. Automate compilating, testing, code inspections and installers creation.
  • Think in deploy since the first day.
  • Be sure to have trustworthy and frequent feedback about your code base.
But also! Don't forget the human touch of manual testing. After all the code has being compiled, tested, inspected and deployed automatically, use the software as a real user will do. Check the layout, images and the stuff that real users will pay attention to.

I've being reading a lot about CI lately, so, I just wanted to make a brief about what I should keep in mind while designing a new CI environment.

Finally, you may want to take a look at this funny but clear video about CI. Got any comments?


Mr. Hericus said...

The video didn't come through (chrome/firefox), but I agree with your sentiments. Automate, automate, automate, and let the computers and the software do all of the repetitious work for you.

Oscar Centeno said...

Thanks for your comment, Mr Hericus.

jtf said...

Oscar, I love this point: "Think in deploy since the first day". I see plenty of teams who've gotten sophisticated about their continuous builds but continuous deployments are still much more rare than they should be.