blob: e27b4b655d84bb17fdd6021d0174f4cfa62aba0c [file] [log] [blame]
<?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="-wH64MmEefS0O2enDXTIv4A"
name="minimal_complete_extensible,_Nm5vUK__EduMeuOwJ2MpeQ" guid="-wH64MmEefS0O2enDXTIv4A"
changeDate="2007-07-19T15:52:07.570-0700" version="1.0.0">
<mainDescription>&lt;h3>&#xD;
Introduction&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
A good way to understand OpenUP is to think of it as targeted to teams that have the following objectives:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Apply the minimally necessary process that brings value.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Avoid being overloaded with unproductive formal work products.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Use a process that can be tailored and extended for additional needs that may arise during the software development&#xD;
lifecycle.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
In order to be applied to as many project environments as possible, OpenUP is a process that has the following&#xD;
characteristics:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Minimal - only fundamental content is included&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Complete - it can be manifested as an entire process to build a system&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Extensible - it can be used as a foundation on which process content can be added or tailored as needed&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
Minimal&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
OpenUP is considered an agile, lightweight process that promotes software development best practices such as:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
iterative development&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
team collaboration&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
continuous integration and tests&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
frequent deliveries of working software&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
adaptation to changes, and so on.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Other factors also count when determining the size of process material, such as the number of method elements like&#xD;
roles, tasks, artifacts and guidance.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
OpenUP provides descriptions of responsibilities, skills and competencies of the fundamental roles in a team. See the&#xD;
list of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/rolesets/openup_roles.html&quot;&#xD;
guid=&quot;_TZIJ0O8NEdmKSqa_gSYthg&quot;>roles&lt;/a> for more details.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
OpenUP provides the essential artifacts needed to capture and communicate decisions. Ultimately, the process is not&#xD;
governed by artifact creation. For example, thinking about design is more important than documenting the design;&#xD;
assessing and planning an iteration is about promoting team collaboration instead of creating plans that are written in&#xD;
stone. In addition, for each artifact, OpenUP suggests informal representations or provides informal templates as&#xD;
starting points for teams that do not need to create their own. The team decides what the most appropriate form to be&#xD;
applied is. See the list of &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../openup/domains/openup_wp.html&quot;&#xD;
guid=&quot;_s4Z9AMWXEdqWePvIjHInwg&quot;>work products&lt;/a> organized by domains.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Tasks in OpenUP are clear and focused on results. Text is usually short and objective, describing how individuals&#xD;
should collaborate to achieve objectives. Steps are short descriptions of what to achieve, and point to external&#xD;
guidance on how to do it. See the list of &lt;a class=&quot;elementLinkWithUserText&quot;&#xD;
href=&quot;./../../../openup/disciplinegroupings/openup_disciplines.html&quot; guid=&quot;__BZycP1UEdmek8CQTQgrOQ&quot;>tasks&lt;/a> organized&#xD;
by disciplines.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
OpenUP recommends the least amount of process guidance a team should use in order to be successful. Teams may have&#xD;
different names or responsibilities for roles, may perform tasks in or have different representations for artifacts,&#xD;
but they still want to follow the principles and practices described in OpenUP to increase the chances of project&#xD;
success.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
Complete&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
OpenUP is considered a complete process because it covers the essential &lt;a class=&quot;elementLinkWithUserText&quot;&#xD;
href=&quot;./../../../openup/disciplinegroupings/openup_disciplines.html&quot; guid=&quot;__BZycP1UEdmek8CQTQgrOQ&quot;>disciplines&lt;/a> in&#xD;
a software development lifecycle by guiding the team in the following high level activities:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Customer needs and requirements are elicited and captured, with continuous customer involvement.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
A robust architecture for the system is evolved, addressing technical risks and promoting team organization.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
For each requirement, a technical solution is designed, implemented and tested, which conforms to the architectural&#xD;
decisions.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
The system is evaluated by tests that validate customer requirements.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Defects and enhancements feed back into development.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Work is prioritized, iterations are planned and assessed, and team members take on work to be done.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
However, OpenUP assumes that the project team is not responsible for certain activities and decisions that are assigned&#xD;
to other areas of the organization, such as:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Creation of the business case is dealt with by management who decides whether or not the project is worth investing&#xD;
in, what is the return on investment, and so on.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Environment setup - some organizational issues may not be in the scope of the team, such as: installation,&#xD;
configuration and licensing of development tools and configuration management tools; development process&#xD;
customization and publishing, etc.&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Deployment and operation - addressed at an organizational rather than a team level.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
Other areas of concern are also not present in OpenUP, because small teams do not need to deal with the formality or&#xD;
overhead of these areas. They include, but are not limited to:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Advanced configuration management&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Advanced requirements management&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Program and portfolio management&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;h4>&#xD;
Extensible&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
OpenUP can be adopted by projects as it is, out-of-the-box, because it's minimal and complete.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
However, different projects may have different needs. Organizations may be interested in customizing some aspects of&#xD;
OpenUP to adapt it to their projects. These are some examples of possible customization:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
&lt;li>&#xD;
Add new or rename existing roles&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Add steps to existing tasks&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Create new guidelines on a given technique&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Remove a given content area&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Modify existing or add new templates to artifacts&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Modify or create a new process lifecycle&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Add or remove process content&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Add guidance on how to achieve compliance&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Add guidance specific to a technology being used&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Replace or augment&amp;nbsp;one of the layers with new&amp;nbsp;content (e.g. by changing&amp;nbsp;or adding material to how&#xD;
management is performed)&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Etc.&#xD;
&lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
OpenUP can be customized and extended by using the EPF Composer tool, which allows you to author, configure and publish&#xD;
methods. With EPF Composer, you can add, remove and change elements according to your team needs, then publish the&#xD;
content to serve as guidance for your team.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
See more information about customization in &lt;a class=&quot;elementLinkWithType&quot;&#xD;
href=&quot;./../../../openup/guidances/supportingmaterials/resources_for_modifying_methods.html&quot;&#xD;
guid=&quot;_omneEMX4EduywMSzPTUUwA&quot;>Supporting Material: Resources for Modifying Methods&lt;/a>.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>