blob: feb689084e95c1b382ddf7e876f6808b6961df38 [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.3/uma.ecore" epf:version="1.0.0" xmi:id="-I2j8LuHkworb0Y3EIlWfDQ" name="core_principles,_HEu9QBOHEduCNqgZdt_OaA" guid="-I2j8LuHkworb0Y3EIlWfDQ" changeDate="2006-11-13T10:02:46.356-0800" version="1.0.0">
<mainDescription>&lt;h3&gt;
OpenUP Core Principles
&lt;/h3&gt;
&lt;p&gt;
OpenUP is based on four mutually supporting core principles:
&lt;/p&gt;
&lt;h4 style=&quot;MARGIN: 12pt 0in 3pt&quot;&gt;
Collaborate to align interests and share understanding
&lt;/h4&gt;
&lt;p&gt;
Software is created by people with different interests and skills who must work together to create software
effectively.
&lt;/p&gt;
&lt;p&gt;
Therefore, practices that foster a healthy team environment are key to success. A healthy team environment enables
effective collaboration that align the interests of project participants (development team, quality assurance, product
stakeholders, customers) and helps project participants develop a shared understanding of the project.
&lt;/p&gt;
&lt;h4 style=&quot;MARGIN: 12pt 0in 3pt&quot;&gt;
Balance competing priorities to maximize stakeholder value
&lt;/h4&gt;
&lt;p&gt;
Systems need to be developed by balancing different, and sometimes competing,&amp;nbsp;perspectives. For example, do you
want to minimize cost by reusing an existing capability, or by custom developing the capability to get it to do exactly
what you want?
&lt;/p&gt;
&lt;p&gt;
Therefore, project participants and stakeholders must collaborate to develop a solution that maximizes Stakeholder
benefits and is compliant with constraints placed on the project. Achieving balance is a dynamic process, because, as
both the stakeholders and project participants learn more about the system, their priorities and constraints change.
&lt;/p&gt;
&lt;h4 style=&quot;MARGIN: 12pt 0in 3pt&quot;&gt;
Focus on articulating the architecture
&lt;/h4&gt;
&lt;p&gt;
Without an architectural foundation, a system will evolve in an inefficient and haphazard way. Such a system often
proves difficult to evolve, reuse, or integrate without substantial rework. It’s also difficult to organize the team or
communicate ideas without the common technical focus that the architecture provides.
&lt;/p&gt;
&lt;p&gt;
Therefore, use the architecture as a focal point for developers to align their interests and ideas by articulating the
essential technical decisions through the growing architecture.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;
&lt;h4&gt;
Evolve to continuously obtain feedback and improve
&lt;/h4&gt;
&lt;p&gt;
It is usually not possible to know all stakeholders needs, be aware of all project risks, comprehend all project
technologies, or know how to effectively work with your colleagues. Even if it were possible to know all of this, some
of it is likely to change over the life of the project.
&lt;/p&gt;
&lt;p&gt;
Therefore, divide the project into short, time-boxed iterations to demonstrate incremental value and to get early and
continuous feedback.&lt;span style=&quot;mso-spacerun: yes&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;/p&gt;</mainDescription>
</org.eclipse.epf.uma:ContentDescription>