<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:PracticeDescription 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:rmc="http://www.ibm.com/rmc" rmc:version="7.5.0" xmlns:epf="http://www.eclipse.org/epf"
    epf:version="1.5.0" xmi:id="-CtyoBMfPzn2SCjU-fK3ehg"
    name="continous_integration,_rJNiMB4rEd2bS8fFOQ7WWA" guid="-CtyoBMfPzn2SCjU-fK3ehg"
    changeDate="2008-08-04T13:47:37.593-0700" version="7.5.0">
  <mainDescription>&lt;h3> The essence of continuous integration &lt;/h3>&#xD;
&lt;p> The essence of continuous integration can be described by the following activities: &#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
  &lt;li> Developers make small changes to the latest integration-tested implementation &#xD;
    in their workspaces, and they unit test them before making the changes available &#xD;
    to the team. &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;ul>&#xD;
  &lt;li> Change sets from all developers are integrated in an integration workspace &#xD;
    and tested frequently (at least daily-- ideally any time a new change set &#xD;
    is available). &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p> The first activity ensures that changes are made to a configuration that is &#xD;
  known to be good and tested before making the changes available. The second &#xD;
  activity identifies integration issues early so that they can be corrected while &#xD;
  the change is still fresh in the developer's mind. &lt;/p></mainDescription>
  <additionalInfo>&lt;h3> Books and articles&lt;br />&#xD;
    &lt;br />&#xD;
&lt;/h3>&#xD;
&lt;table width=&quot;100%&quot; summary=&quot;layout table&quot; border=&quot;0&quot;>&#xD;
    &lt;tbody>&#xD;
        &lt;tr>&#xD;
            &#xD;
      &lt;td colspan=&quot;2&quot;> Martin Fowler. &amp;quot;Continuous Integration,&amp;quot;&lt;i> &lt;/i> &#xD;
        &lt;a href=&quot;http://www.martinfowler.com/articles/continuousIntegration.html&quot; target=&quot;_blank&quot;>www.martinfowler.com/articles/continuousIntegration.html&lt;/a> &#xD;
        (2006).&lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td width=&quot;10%&quot;>&#xD;
            &lt;/td>&#xD;
      &lt;td width=&quot;78%&quot; valign=&quot;top&quot; style=&quot;PADDING-BOTTOM: 10px&quot;> Seminal paper &#xD;
        on continuous integration.&amp;nbsp;Great overview of&amp;nbsp;the benefits and &#xD;
        practices. &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &#xD;
      &lt;td colspan=&quot;2&quot;> Paul&amp;nbsp;M. Duval with Steve Matyas and Andrew Glover. &#xD;
        &lt;i>Continuous Integration: Improving Software Quality and Reducing Risk.&lt;/i> &#xD;
        Addison-Wesley (2007). &lt;/td>&#xD;
        &lt;/tr>&#xD;
        &lt;tr>&#xD;
            &lt;td width=&quot;10%&quot;>&#xD;
            &lt;/td>&#xD;
      &lt;td style=&quot;PADDING-BOTTOM: 10px&quot; width=&quot;78%&quot;> Comprehensive guidance on &#xD;
        the practice and subpractices of continuous integration (CI). Great overview &#xD;
        of motivation and benefits of the practice. Detailed discussion of more &#xD;
        than 40 CI-related subpractices, with examples of scripts and code segments. &#xD;
        Appendix provides an overview of tools available to support the practice. &#xD;
      &lt;/td>&#xD;
        &lt;/tr>&#xD;
    &lt;/tbody>&#xD;
&lt;/table></additionalInfo>
  <problem>&lt;p> The effort required to integrate a system increases exponentially with time. &#xD;
  By integrating the system more frequently, integration issues are identified &#xD;
  earlier, when they are easier to fix, and&amp;nbsp;the overall integration effort &#xD;
  is reduced.&amp;nbsp; The result is a higher-quality product and more predictable &#xD;
  delivery schedules. &lt;/p>&#xD;
&lt;p>&#xD;
    Continuous integration provides the following benefits:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
  &lt;li>&lt;b> Improved feedback. &lt;/b>Continuous integration shows constant and demonstrable &#xD;
    progress. &lt;/li>&#xD;
  &lt;li>&lt;b>Improved error detection.&lt;/b> Continuous integration enables you to detect &#xD;
    and address errors early, often minutes after they've been injected into the &#xD;
    product. Effective continuous integration requires automated unit testing &#xD;
    with appropriate code coverage. &lt;/li>&#xD;
  &lt;li>&lt;b>Improved collaboration. &lt;/b>Continuous integration enables team members &#xD;
    to work together safely. They know that they can make a change to their code, &#xD;
    integrate the system, and determine very quickly whether or not their change &#xD;
    conflicts with others. &lt;/li>&#xD;
  &lt;li>&lt;b> Improved system integration. &lt;/b>By integrating continuously throughout &#xD;
    your project, you know that you can actually build the system, thereby mitigating &#xD;
    integration surprises at the end of the lifecycle. &lt;/li>&#xD;
  &lt;li>&lt;b> Reduced&amp;nbsp;number of parallel changes&lt;/b> that need to be merged and &#xD;
    tested. &lt;/li>&#xD;
  &lt;li>&lt;b> Reduced number of errors &lt;/b>found during system testing.&lt;b> &lt;/b>All &#xD;
    conflicts&amp;nbsp;are resolved before making new change sets available and by &#xD;
    the person who is in the best position to resolve them. &lt;/li>&#xD;
  &lt;li>&lt;b>Reduced technical risk.&lt;/b> You always have an up-to-date system to test &#xD;
    against. &lt;/li>&#xD;
  &lt;li>&lt;b> Reduced management risk. &lt;/b>By continuously integrating your system, &#xD;
    you know exactly how much functionality that you have built to date, thereby &#xD;
    improving your ability to predict when and if you are actually going to be &#xD;
    able to deliver the necessary functionality. &lt;/li>&#xD;
&lt;/ul></problem>
  <application>&lt;p> The best way to read this practice is to first familiarize yourself with its &#xD;
  overall structure: what is in it and how it is organized.&amp;nbsp; Then begin by &#xD;
  reviewing the key concepts to understand the terminology. Next, review the &lt;a class=&quot;elementLink&quot; href=&quot;./../../../practice.tech.continuous_integration.base/tasks/integrate_and_create_build_6191BF5D.html&quot; guid=&quot;_kkZBgJOKEdyaRbFYa4AN4A&quot;>Integrate and Create Build&lt;/a> task &lt;a class=&quot;elementLink&quot; href=&quot;./../../../practice.tech.continuous_integration.base/tasks/integrate_and_create_build_6191BF5D.html&quot; guid=&quot;_kkZBgJOKEdyaRbFYa4AN4A&quot;>Integrate and Create Build&lt;/a>to &#xD;
  learn what needs to be done. Finally, review the associated guidelines for&amp;nbsp;more &#xD;
  information on the overall workflow. &lt;/p>&#xD;
&lt;p>&#xD;
    For step-by-step instructions on how to adopt this practice, see&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../../practice.tech.continuous_integration.base/guidances/roadmaps/how_to_adopt_continuous_integration_DBC46C5D.html&quot; guid=&quot;_4qbzQPnTEdyLA5PXdgVJXw&quot;>How to adopt the Continuous Integration practice&lt;/a>.&#xD;
&lt;/p></application>
</org.eclipse.epf.uma:PracticeDescription>
