In my opinion, any organization that produces software, regardless if the software is to be sold or used internally, should be using Continuous Integration (CI) as a best practice to help improve the quality of their software, increase productivity and reduce risk.
This post does not aim to re-define CI, as there are plenty of other sources online that can give you the run-down, but it does aim to share my thoughts as to why it is so important. Let me summarize CI at a high-level, and then break down the positive impact as I see it.
What Is Continuous Integration?
Good question, and an excellent place to start. Continuous Integration, or “CI” for short, in the simplest form is a process which fully automates the compilation of your projects latest source code from source control. There are some very important points in that sentence, so let me highlight them:
- fully automated
- compilation of latest source code
- from source control
These points are very important, but often seem to be missed at some point or another. If developers are running build scripts manually (either from their machines, or on a server somewhere), that doesn’t qualify as CI. If they are still doing builds manually (not even running scripts, ouch) from their machines, then keep reading…. Read more »