| <?xml version="1.0" encoding="UTF-8"?> |
| <org.eclipse.epf.uma:ContentDescription xmi:version="2.0" |
| xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore" |
| xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-dhAMzNZNWufBnW0fPYQtBA" |
| name="continuous_integration,_NApSVdtxEdq7ovUqqSoGBQ" guid="-dhAMzNZNWufBnW0fPYQtBA" |
| changeDate="2007-06-14T10:04:57.895-0700"> |
| <mainDescription><p>
 |
| Continuous integration is an implementation practice where team members integrate their work with completed&nbsp;<a class="elementLink" href="./../../../openup/guidances/concepts/change_set_430BF233.html" guid="_1QU9MAIoEdyLh7vsrHZ4YA">Change Set</a>s from other developers, and test the application, before making their
 |
| work available to others. This&nbsp;enables detection of&nbsp;integration errors&nbsp;as&nbsp;early as possible, either
 |
| from compiler errors,&nbsp;configuration management&nbsp;system notifications,&nbsp;or&nbsp;failures reported by the
 |
| test suite. Ideally the integration is done automatically prior to <a class="elementLink" href="./../../../openup/guidances/guidelines/promoting_changes_9087B764.html" guid="_SM4YIL6dEdqti4GwqTkbsQ">Promoting Changes</a>.
 |
| </p>
 |
| <p>
 |
| Continuous integration provides the following benefits:
 |
| </p>
 |
| <ol>
 |
| <li>
 |
| Improved feedback. Continuous integration shows constant and demonstrable progress.
 |
| </li>
 |
| <li>
 |
| Improved error detection. Continuous integration enables you to detect and address errors early, often minutes
 |
| after they’ve been injected into the product. Effective continuous integration requires automated unit testing with
 |
| appropriate code coverage.
 |
| </li>
 |
| <li>
 |
| Improved collaboration. Continuous integration enables team members to work together safely. They know that they
 |
| can make a change to their code, integrate the system, and determine very quickly whether or not their change
 |
| conflicts with others.
 |
| </li>
 |
| <li>
 |
| Improved system integration. By integrating continuously throughout your project you know that you can actually
 |
| build the system, thereby mitigating integration surprises at the end of the lifecycle.
 |
| </li>
 |
| <li>
 |
| Reduced&nbsp;number of parallel changes that need to be merged and tested.
 |
| </li>
 |
| <li>
 |
| Reduced number of errors found during system testing. All conflicts&nbsp;are resolved prior to making new change
 |
| sets available, by the person who is in the best position to resolve them.
 |
| </li>
 |
| <li>
 |
| Reduced technical risk. You always have an up-to-date system against which to test.
 |
| </li>
 |
| <li>
 |
| Reduced management risk. By continuously integrating your system you know exactly how much functionality that
 |
| you’ve built to date, improving your ability to predict when and if you’re actually going to be able to deliver the
 |
| necessary functionality.
 |
| </li>
 |
| </ol></mainDescription> |
| </org.eclipse.epf.uma:ContentDescription> |