<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arkhi &#187; atividades</title>
	<atom:link href="http://blog.arkhi.com.br/tag/atividades/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.arkhi.com.br</link>
	<description>Arquitetura Corporativa</description>
	<lastBuildDate>Mon, 30 Nov 2009 01:21:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OpenUP &#8211; Agilidade, Controle de Riscos e Disciplina Arquitetural</title>
		<link>http://blog.arkhi.com.br/2008/11/09/openup-agilidade-controle-de-riscos-e-disciplina-arquitetural/</link>
		<comments>http://blog.arkhi.com.br/2008/11/09/openup-agilidade-controle-de-riscos-e-disciplina-arquitetural/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 10:42:14 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[arquitetura de software]]></category>
		<category><![CDATA[atividades]]></category>
		<category><![CDATA[metodologias ágeis]]></category>
		<category><![CDATA[OpenUP]]></category>
		<category><![CDATA[rup]]></category>
		<category><![CDATA[UP]]></category>

		<guid isPermaLink="false">http://dearchitectura.wordpress.com/?p=329</guid>
		<description><![CDATA[Métodos ágeis são, sem dúvida, excelentes paradigmas para o desenvolvimento de software. Eles possuem excelentes premissas tais como: foco na comunicação, geração de valor para os clientes e desenho orientado à mudanças; entre outros. Por outro lado, métodos mais robustos como o RUP trazem uma forte orientação por riscos através da decomposição do processo em [...]]]></description>
			<content:encoded><![CDATA[<p>Métodos ágeis são, sem dúvida, excelentes paradigmas para o desenvolvimento de software. Eles possuem excelentes premissas tais como: foco na comunicação, geração de valor para os clientes e desenho orientado à mudanças; entre outros. Por outro lado, métodos mais robustos como o RUP trazem uma forte orientação por riscos através da decomposição do processo em fases temporais, onde os requisitos mais prioritários e complexos são identificados, detalhados e implementados nas fases iniciais (concepção e elaboração).</p>
<p>O Open-UP, que detalhamos <a title="OpenUP" href="http://dearchitectura.wordpress.com/2008/11/09/as-atividades-de-arquitetura-do-openup/" target="_blank">em um artigo anterior</a>, é um processo de domínio público e aberto para extensões que mescla a escola de agilidade de métodos ágeis como o <a href="http://www.extremeprogramming.org/" target="_self">XP </a>com o rigor do ataque aos riscos do <a title="RUP" href="http://dearchitectura.wordpress.com/2008/10/30/as-atividades-de-arquitetura-do-processo-unificado/" target="_blank">RUP</a>.</p>
<p>O OpenUP é baseado em quatro princípios básicos:</p>
<ul>
<li>Balanço: Balanceamento entre as prioridades conflitantes do projeto (custo, tempo, qualidade, escopo) de forma a maximizar o valor para os clientes.</li>
<li>Colaboração: Colaboração para alinhar os interesses e fomentar o entendimento comum da missão e prioridades do projeto.</li>
<li>Foco: Desde o início, foco na arquitetura para mitigar riscos e organizar o desenvolvimento de software.</li>
<li>Evolução: Evoluir através de feedbacks contínuos dos stakeholders e através da demonstração de valor agregado regularmente.</li>
</ul>
<p>O gráfico abaixo com a espinha dorsal do Open-UP mostra o rigor do ataque a riscos neste processo ágil.</p>
<div id="attachment_330" class="wp-caption aligncenter" style="width: 514px"><a href="http://dearchitectura.files.wordpress.com/2008/11/riscosopenup.png"><img class="size-full wp-image-330" title="riscosopenup" src="http://dearchitectura.files.wordpress.com/2008/11/riscosopenup.png" alt="Perfil de Riscos do OpenUP" width="504" height="159" /></a><p class="wp-caption-text">Perfil de Riscos do OpenUP</p></div>
<p style="text-align:center;"><em>Fonte: </em><a href="http://epf.eclipse.org/wikis/openup/"><em>OpenUP</em></a><em> &#8211; Licença </em><a href="http://www.eclipse.org/legal/epl-v10.html"><em>EPL</em></a></p>
<p>A fase de elaboração é normalmente finalizada por volta do 3/10 temporal de um projeto e deve apresentar um perfil de riscos muito baixos para que seja dada como encerrada. Para que os riscos estejam mitigados, é fundamental um foco permanente em atividades arquiteturais.</p>
<p>No OpenUP, diferentemente do RUP, a arquitetura é enfatizada como um produto coletivo e não como um produto do arquiteto. A arquitetura não deve ser arremessada para a equipe pelo <a href="http://www.agilemodeling.com/essays/agileArchitecture.htm" target="_blank">arquiteto da torre de marfim</a>. Além disso, a arquitetura é considerada evolutiva, embora ela tenha suas linhas de base salvas dentro do ciclo de vida do projeto (prática da Arquitetura Evolutiva).</p>
<p>O OpenUP produz apenas um único e ligeiro documento para a &#8220;disciplina&#8221; de arquitetura, chamado de Caderno Arquitetural (Architectural Notebook). Este documento compila as decisões realizadas pelo time, liderado pelo arquiteto de software, e formaliza as decisões técnicas tomadas para facilitar comunicações futuras.</p>
<p>A disciplina arquitetural do OpenUP pode ser observada também na lista de verificação do Caderno Arquitetural, colocada abaixo, e também na lista de atividades que documentamos <a href="http://dearchitectura.wordpress.com/2008/11/09/as-atividades-de-arquitetura-do-openup/" target="_blank">anteriormente</a>.</p>
<p><strong>Lista de Verificação de Arquitetura do OpenUP</strong></p>
<ul>
<li>A arquitetura está totalmente compreensível para todos os envolvidos do projeto?</li>
<li>Os objetivos da arquitetura, restrições de desenho e implementação e os requisitos foram descritos e endereçados?</li>
<li>Os mecanismos arquiteturais foram identificados e descritos?</li>
<li>As <a href="http://dearchitectura.wordpress.com/2008/10/26/desmistificando-a-decomposicao-em-camadas/" target="_blank">partições do sistema</a> foram suficientes definidas?</li>
<li>Os elementos chave da arquitetura foram definidos adequadamente?</li>
<li>As interfaces com sistemas externos foram representadas?</li>
<li>Os pontos de reuso foram identificados?</li>
<li>A arquitetura foi feita para evoluir?</li>
<li>A arquitetura conseguirá ser entregue pelo time nas restrições de tempo e custo do projeto?</li>
<li>O software foi mapeado adequadamente para o hardware?</li>
</ul>
<div style="display:none;">
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr valign="top">
<td>
<ul>
<li> Is it clear when each <a class="elementLink" href="http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/concepts/arch_mechanism_2932DFB6.html">Architectural Mechanisms</a> should be applied?</li>
<li> Is there a clearly defined design pattern in place to support each mechanism?</li>
<li> Does each mechanism adequately address the requirements it is intended to meet?</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="display:none;">
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr valign="top">
<td>
<ul class="noindent">
<li> Is partitioning approach clearly described and applied consistently?</li>
<li> Does the partitioning approach reduce complexity and improve understanding?</li>
<li> Have the partitions been defined to be highly cohesive within the partition, while the partitions themselves are         loosely coupled?</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="display:none;">
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr valign="top">
<td>
<ul>
<li> Have the <a class="elementLink" href="http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/concepts/key_abstractions_1474DBF2.html">Key Abstractions</a> adequately defined?</li>
<li> Have the the key design elements (i.e., <a class="elementLink" href="http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/concepts/component_CB167D48.html">Component</a>s) adequately defined?</li>
<li>
<ul>
<li> Do the components have well-defined interfaces?</li>
<li> Have the system’s responsibilities been allocated to the components?</li>
<li> Are the number and types of components reasonable?</li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div style="display:none;">
<div class="stepContent">
<table class="stepTable" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr valign="top">
<td>See <a class="elementLinkWithType" href="http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/guidelines/repres_interfaces_to_ext_systems_51A34F6E.html">Guideline: Representing Interfaces to External Systems</a></td>
</tr>
</tbody>
</table>
</div>
</div>
<p>O OpenUP foi originalmente desenhado para times pequenos (&lt; 10 pessoas), embora acreditemos na sua escala até mesmo para projetos maiores. De toda forma, por ser um processo público, ágil e com forte ênfase em controle de riscos através de atividades arquiteturais, este processo é sem dúvida uma excelente escolha para desenvolvimento de software na realidade brasileira.</p>
<p>Um artigo bem interessante sobre o OpenUP, inspirou o método de trabalho usado para criar o Eclipse, pode ser encontrado <a href="http://www.ibm.com/developerworks/rational/library/edge/08/jul08/vanVelzen/index.html" target="_blank">na Rational Edge</a>.<em><br />
</em></p>
<p><em>Curiosidade do Dia: O criador do OpenUP é o <a href="http://www.eclipsecon.org/2006/Presenters.do?id=all#289" target="_blank">Ricardo Balduíno</a>, um brasileiro que trabalha como Engenheiro de Software Sênior pela IBM Rational.</em></p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.arkhi.com.br/2008/11/09/openup-agilidade-controle-de-riscos-e-disciplina-arquitetural/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>As Atividades de Arquitetura do OpenUP</title>
		<link>http://blog.arkhi.com.br/2008/11/09/as-atividades-de-arquitetura-do-openup/</link>
		<comments>http://blog.arkhi.com.br/2008/11/09/as-atividades-de-arquitetura-do-openup/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 00:44:41 +0000</pubDate>
		<dc:creator>Eros Viggiano</dc:creator>
				<category><![CDATA[arquitetura de software]]></category>
		<category><![CDATA[atividades]]></category>
		<category><![CDATA[metodologias ágeis]]></category>
		<category><![CDATA[OpenUP]]></category>
		<category><![CDATA[rup]]></category>
		<category><![CDATA[UP]]></category>

		<guid isPermaLink="false">http://dearchitectura.wordpress.com/?p=324</guid>
		<description><![CDATA[Conforme abordamos anteriormente, o OpenUP é uma derivação do Processo Unificado e, assim como este, é centrado na arquitetura de software. Ao mesmo tempo que aplica os princípios do ciclo de vida do RUP, o OpenUP adota uma &#8220;filosofia pragmática e ágil que foca no colaboração natural&#8221; para o desenvolvimento do software.
Diferentemente das outras abordagens [...]]]></description>
			<content:encoded><![CDATA[<p>Conforme abordamos <a href="http://dearchitectura.wordpress.com/2008/10/30/as-atividades-de-arquitetura-do-processo-unificado/">anteriormente</a>, o <a href="http://epf.eclipse.org/wikis/openup/">OpenUP</a> é uma derivação do Processo Unificado e, assim como este, é centrado na arquitetura de software. Ao mesmo tempo que aplica os princípios do ciclo de vida do RUP, o OpenUP adota uma &#8220;filosofia pragmática e ágil que foca no colaboração natural&#8221; para o desenvolvimento do software.</p>
<p>Diferentemente das outras <a href="http://agilemanifesto.org/">abordagens ágeis</a>, como o <a href="http://www.extremeprogramming.org/">XP</a>, a forte orientação à mitigação de riscos do OpenUP (premissa do UP, claro) enfatiza o trabalho arquitetural no início do ciclo de desenvolvimento. Ao balancear o ataque aos riscos técnicos com as práticas ágeis, o OpenUP adota a Arquitetura Evolucionária (Evolutionary Architecture), uma influência da Arquitetura Ágil (<a href="http://www.agilemodeling.com/essays/agileArchitecture.htm">Agile Architecture</a>) de Ambler. A Arquitetura Evolucionária se baseia em: realizar o trabalho arquitetural &#8220;just in time&#8221;, isto é, na medida que é necessário; documentar principais premissas arquiteturais; implementar e testar capacidades-chave através de protótipos.</p>
<p>As tarefas cujo principalmente responsável é do arquiteto são &#8220;Esboçar a Arquitetura&#8221; (Outline the Architecture) e &#8220;Refinar a Arquitetura&#8221; (Refine the Architecture). Basicamente, a tarefa de &#8220;Refinar a Arquitetura&#8221; complementa com maiores detalhes as informações identificadas em &#8220;Esboçar a Arquitetura&#8221;.</p>
<div id="attachment_325" class="wp-caption aligncenter" style="width: 399px"><a href="http://dearchitectura.files.wordpress.com/2008/11/architect_performs.jpg"><img class="size-full wp-image-325" title="architect_performs" src="http://dearchitectura.files.wordpress.com/2008/11/architect_performs.jpg" alt="Relacionamentos do Arquiteto de Software (OpenUP)" width="389" height="159" /></a><p class="wp-caption-text">Relacionamentos do Arquiteto de Software (OpenUP)</p></div>
<p style="text-align:center;"><em>Fonte: </em><a href="http://epf.eclipse.org/wikis/openup/"><em>OpenUP</em></a><em> &#8211; Licença </em><a href="http://www.eclipse.org/legal/epl-v10.htm"><em>EPL</em></a></p>
<p style="text-align:left;">Abaixo apresentamos uma correlação entre os passos das tarefas arquiteturais:<br />
<strong><br />
</strong></p>
<table border="1" cellspacing="2" cellpadding="2" width="100%">
<tbody>
<tr>
<td valign="top"><strong>Passos de &#8220;Esboçar Arquitetura&#8221;<br />
</strong></td>
<td valign="top"><strong>Passos de &#8220;Refinar Arquitetura&#8221;</strong></td>
</tr>
<tr>
<td valign="top">Identificar objetivos arquiteturais.</td>
<td rowspan="2" valign="top">Refinar os objetivos arquiteturais e os requisitos arquiteturalmente significativos.</td>
</tr>
<tr>
<td valign="top">Identificar requisitos arquiteturalmente significativos.</td>
</tr>
<tr>
<td valign="top">Identificar restrições sobre a arquitetura.</td>
<td rowspan="4" valign="top">Identificar elementos de design arquiteturalmente significativos.</td>
</tr>
<tr>
<td valign="top">Identificar mecanismos arquiteturais.</td>
</tr>
<tr>
<td valign="top">Identificar interfaces com sistemas externos.</td>
</tr>
<tr>
<td valign="top">Identificar abstrações-chave.</td>
</tr>
<tr>
<td valign="top">Identificar oportunidades de reuso.</td>
<td valign="top">Identificar oportunidades adicionais de reuso.</td>
</tr>
<tr>
<td valign="top">Definir abordagem para particionamento do sistema.</td>
<td rowspan="2" valign="top">Mapear o software ao hardware.</td>
</tr>
<tr>
<td valign="top">Definir abordagem para implantação do sistema.</td>
</tr>
<tr>
<td valign="top">Verificar a consistência arquitetural.</td>
<td valign="top">Validar a arquitetura.</td>
</tr>
<tr>
<td valign="top">Capturar e comunicar decisões arquiteturais.</td>
<td valign="top">Comunicar decisões.</td>
</tr>
<tr>
<td valign="top">N.A.</td>
<td valign="top">Definir arquitetura de desenvolvimento e arquitetura de testes.</td>
</tr>
</tbody>
</table>
<p>Apesar de ser um processo minimalista, as tarefas arquiteturais indicadas pelo OpenUP são suficientes para suprir as necessidades de modelagem da arquitetura de grande parte dos projetos de software. Ambas tarefas fornecem insumos para o preenchimento do &#8220;Caderno de Arquitetura&#8221; (&#8220;Architecture Notebook&#8221;, também traduzido por &#8220;Descrição Arquitetural&#8221; no OpenUP 0.9 em português). O Caderno de Arquitetura, único artefato da disciplina, registra todos os apontamentos relevantes do time de arquitetura. Não é pretensão do OpenUP documentar toda a atividade de arquitetura &#8211; para isto, conta com o valor ágil de &#8220;Comunicação&#8221;.</p>
<p>Para maiores informações aos interessados, seguem referências.</p>
<ol>
<li><a href="http://dearchitectura.wordpress.com/2008/10/30/as-atividades-de-arquitetura-do-processo-unificado/">As Atividades de Arquitetura do Processo Unificado</a> </li>
<li><a href="http://epf.eclipse.org/wikis/openup/">OpenUP</a></li>
<li><a href="http://agilemanifesto.org/">Agile Manifesto</a></li>
<li><a href="http://www.agilemodeling.com/essays/agileArchitecture.htm">Agile Architecture: Strategies for Scaling Agile Development</a></li>
<li><a href="http://www.agilemodeling.com/essays/initialArchitectureModeling.htm">Architecture Envisioning: An Agile Best Practice</a></li>
<li><a href="http://www.agiledata.org/essays/enterpriseArchitecture.html">Agile Enterprise Architecture</a></li>
<li><a href="http://www.sei.cmu.edu/architecture/essays.html#paradox">Architecture Paradox</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.arkhi.com.br/2008/11/09/as-atividades-de-arquitetura-do-openup/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
