<?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.3/uma.ecore" epf:version="1.0.0" xmi:id="-X7QSjItNBz7w8603yBCv0Q" name="abstract_away_complexity,_we3F4ACpEdu8m4dIntu6jA" guid="-X7QSjItNBz7w8603yBCv0Q" changeDate="2007-02-07T16:14:04.351-0800" version="1.0.0">
  <mainDescription>&lt;p&gt;
    Software&amp;nbsp;development is a pursuit characterized by complexity. This can take many forms, such as accommodating
    complex requirements, technology, or team dynamics. Elevating the level of abstraction helps you manage this complexity
    and make measurable progress, despite the inherent difficulty of the task.
&lt;/p&gt;
&lt;p&gt;
    Suggestions for several strategies that help abstract away complexity follow.
&lt;/p&gt;
&lt;h4&gt;
    Leverage patterns
&lt;/h4&gt;
&lt;p&gt;
    Patterns help you take advantage of proven techniques for solving common problems. You can benefit from the experience
    of seasoned practitioners and avoid &quot;re-inventing the wheel,&quot; as the saying goes. The use of patterns is a crucial
    aspect of an architecture-centric approach to development, because it helps reduce the novelty and diversity of a
    solution, thus improves quality.
&lt;/p&gt;
&lt;p&gt;
    See &lt;a class=&quot;elementLinkWithType&quot;
    href=&quot;./../../../openup_basic/guidances/concepts/pattern,_0YJvUMlgEdmt3adZL5Dmdw.html&quot;
    guid=&quot;_0YJvUMlgEdmt3adZL5Dmdw&quot;&gt;Concept: Pattern&lt;/a&gt;&amp;nbsp;for more information.
&lt;/p&gt;
&lt;h4&gt;
    Design the architecture with components and services
&lt;/h4&gt;
&lt;p&gt;
    This strategy helps manage software complexity through&amp;nbsp;partitioning&amp;nbsp;a system into a set of loosely coupled
    and highly cohesive subsystems. The benefits of this approach include the ability to organize the team around a set of
    smaller, more manageable objectives, and the ability to substitute parts of the system without disturbing the overall
    cohesion of the system. Exposing services encourages re-use by making the functionality of the system easier to
    comprehend. Focusing on services makes it possible to understand what the system does from a technical perspective
    without necessarily having to understand the details of how the system works.
&lt;/p&gt;
&lt;p&gt;
    See &lt;a class=&quot;elementLinkWithType&quot;
    href=&quot;./../../../openup_basic/guidances/concepts/component,_0YP18MlgEdmt3adZL5Dmdw.html&quot;
    guid=&quot;_0YP18MlgEdmt3adZL5Dmdw&quot;&gt;Concept: Component&lt;/a&gt;&amp;nbsp;for more information.
&lt;/p&gt;
&lt;h4&gt;
    Actively promote reuse
&lt;/h4&gt;
&lt;p&gt;
    Incorporating existing software into an overall architecture helps reduce cost and improve quality by reusing proven
    working software, rather than developing from scratch. It also helps reduce the burden of maintenance by eliminating
    duplication in the software. Although often difficult to manage, a project or enterprise can reap significant benefits
    from a well-executed re-use strategy.
&lt;/p&gt;</mainDescription>
</org.eclipse.epf.uma:ContentDescription>
