<?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.6/uma.ecore" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="--dByCrR1PiKA-JrdNIjebw" name="how_to_adopt_doc_training,_2OLFEKBGEeCRzIAAKeJxvA" guid="--dByCrR1PiKA-JrdNIjebw" changeDate="2011-07-30T13:25:06.810-0700" version="7.2.0">
  <mainDescription>&lt;h3>&#xD;
    Getting started with this practice&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The goal of the Documentation and Training practice is to ensure that end users of a product receive quality&#xD;
    information about the product (in comprehensive documentation) and have been adequately trained regarding how to use&#xD;
    the product.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Common pitfalls&#xD;
&lt;/h3>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;strong>Inadequate documentation:&lt;/strong> No one likes to rigorously document a product, least of all the team&#xD;
        members who developed it. Historically, product documentation often has been an afterthought, if given thought at&#xD;
        all. In the Agile world, because the goal is to deliver high quality, working software to end users more quickly,&#xD;
        realize that part of the quality component is adequate documentation that enables end users to use the product more&#xD;
        effectively.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;strong>Non-existent or inadequate training:&lt;/strong> Like documentation, training often is an afterthought. When&#xD;
        product budgets are reduced, training often is the first line item to be eliminated. However, in fairness to the&#xD;
        end user community, proper training about how to use the product is critical to the overall success of product&#xD;
        deployment in terms of enabling end users do their jobs effectively.&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h3>&#xD;
    Considerations&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    The following is a list of points to consider when adopting this practice:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        &lt;strong>Training depends on documentation:&lt;/strong> The better the documentation, the easier it is to develop&#xD;
        training materials. If your team skimps on the quality and quantity of product documentation, the cost of training&#xD;
        materials development will significantly increase.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;strong>Documentation can be developed in many ways:&lt;/strong> The more varied the documentation media (e.g., Help&#xD;
        files, Wizards, PowerPoint presentations, video vignettes, etc.), the easier it will be to use those forms of&#xD;
        documentation and convert them into robust training modules. Also, multiple forms of documentation will appeal to a&#xD;
        broader audience because people internalize information differently: what works for one person might not resonate&#xD;
        with another.&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        &lt;strong>Training can be delivered in many ways:&lt;/strong> Like documentation, training delivery media should be&#xD;
        varied to appeal to different audiences. Not only can training be delivered by a live instructor in a classroom,&#xD;
        other options include:&#xD;
    &lt;/li>&#xD;
    &lt;li style=&quot;LIST-STYLE-TYPE: none&quot;>&#xD;
        &lt;ul>&#xD;
            &lt;li>&#xD;
                Computer-based training where users complete modules on their own time&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                On-line instructor-led modules delivered over the Internet at scheduled times&#xD;
            &lt;/li>&#xD;
            &lt;li>&#xD;
                Just-in-time training modules (either live or on-line instructor-led) for incremental learning&#xD;
            &lt;/li>&#xD;
        &lt;/ul>&#xD;
    &lt;/li>&#xD;
&lt;/ul></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
