Information Technology Reference
In-Depth Information
Establish Greater Product Confidence
Overall, effective application of CI practices can provide greater confi-
dence in producing a software product. With every build, your team
knows that tests are run against the software to verify behavior, that
project coding and design standards are met, and that the result is a
functionally testable product.
Without frequent integrations, some teams may feel stifled
because they don't know the impacts of their code changes. Since a CI
system can inform you when something goes wrong, developers and
other team members have more confidence in making changes.
Because CI encourages a single-source point from which all software
assets are built, there is greater confidence in its accuracy.
What Prevents Teams from Using CI?
If CI has so many benefits, then what would prevent a development
team from continuously integrating software on its projects? Often, it
is a combination of concerns.
Increased overhead in maintaining the CI system —This is
usually a misguided perception, because the need to integrate,
test, inspect, and deploy exists regardless of whether you are
using CI. Managing a robust CI system is better than managing
manual processes. Manage the CI system or be controlled by the
manual processes. Ironically, complicated multiplatform
projects are the ones that need CI the most, yet these projects
often resist the practice as being “too much extra work.”
Too much change —Some may feel there are too many pro-
cesses that need to change to achieve CI for their legacy project.
An incremental approach to CI is most effective; first add builds
and tests with a lower occurrence (for example, a daily build),
then increase the frequency as everyone gets comfortable with
the results.
Too many failed builds —Typically, this occurs when develop-
ers are not performing a private build prior to committing their
code to the version control repository. It could be that a devel-
 
Search WWH ::




Custom Search