<?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; estratégia</title>
	<atom:link href="http://blog.arkhi.com.br/tag/estrategia/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>Estabelecendo a estratégia arquitetural</title>
		<link>http://blog.arkhi.com.br/2009/04/21/estabelecendo-a-estrategia-arquitetural/</link>
		<comments>http://blog.arkhi.com.br/2009/04/21/estabelecendo-a-estrategia-arquitetural/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 23:32:13 +0000</pubDate>
		<dc:creator>Eros Viggiano</dc:creator>
				<category><![CDATA[arquitetura de software]]></category>
		<category><![CDATA[estratégia]]></category>

		<guid isPermaLink="false">http://dearchitectura.wordpress.com/?p=554</guid>
		<description><![CDATA[Entendemos que o arquiteto de software é o estrategista técnico do produto de software. O arquiteto de software (ou time de arquitetura) deve ser capaz de estabelecer, planejar e executar uma estratégia técnica para o software para atingir a visão do produto. Neste post, iremos discutir sobre o desenvolvimento da estratégia arquitetural.
Há algum tempo discutimos [...]]]></description>
			<content:encoded><![CDATA[<p>Entendemos que o arquiteto de software é o estrategista técnico do produto de software. O arquiteto de software (ou time de arquitetura) deve ser capaz de estabelecer, planejar e executar uma estratégia técnica para o software para atingir a visão do produto. Neste post, iremos discutir sobre o desenvolvimento da estratégia arquitetural.</p>
<div id="attachment_567" class="wp-caption aligncenter" style="width: 610px"><a href="http://dearchitectura.files.wordpress.com/2009/04/estrategia-arquitetural3.png"><img class="size-full wp-image-567" title="estrategia-arquitetural3" src="http://dearchitectura.files.wordpress.com/2009/04/estrategia-arquitetural3.png" alt="Do desenvolvimento da estratégia à execução" width="600" height="100" /></a><p class="wp-caption-text">Do desenvolvimento da estratégia à execução</p></div>
<p>Há algum tempo discutimos sobre a necessidade de <a href="http://dearchitectura.wordpress.com/2009/01/24/a-primeira-atividade-de-um-arquiteto-de-software-em-projetos-de-ti/">definir uma visão da arquitetura do software</a>, isto é, onde a arquitetura pretende chegar e como ela irá contribuir para concretizar a visão do produto. A visão arquitetural declara os objetivos pretendidos com a arquitetura. Também é interessante que a visão contemple <a href="http://dearchitectura.wordpress.com/2009/01/29/principios-arquiteturais/">princípios arquiteturais</a> a serem seguidos, norteando os arquitetos e disciplinando suas atividades. A visão deve ser suficiente para provar que a equipe é capaz de desenvolver o projeto e conseguir o patrocínio.</p>
<p> </p>
<p>Em seguida, convém que o time de arquitetura realize uma análise estratégica e descubra quais são as questões-chave para a arquitetura &#8211; as quais chamaremos de diretrizes arquiteturais. O time deve promover discussões com os stakeholders, investigando os interesses envolvidos, e analisar o contexto do projeto e organizacional de forma a revelar todas as forças quem podem influenciar o produto. Nesta análise, é imprescindível identificar e tratar riscos técnicos &#8211; cuja mitigação deve envolver o gerente do projeto. Invariavelmente o contexto dos projetos de desenvolvimento de software é permeado por oportunidades e ameaças como, por exemplo, prazos políticos, restrições tecnológicas, expertise do time de desenvolvimento, patrocínio, etc. Ao final desta atividade, o time deve contar com um conjunto de diretrizes arquiteturais. Ou, até mesmo, indicar que um projeto é inviavel tecnicamente dentro de tal contexto.</p>
<p>De posse das diretrizes arquiteturais, o time de arquitetura deve formular a estratégia. Atualmente a formulação de uma estratégia arquitetural pode ser considerada uma arte, dependendo muito da experiência da equipe. De uma forma geral, é importante identificar uma estratégia que atenda às diretrizes. Ao formular a estratégia, o arquiteto de software ou o time de arquitetura deve levar em consideração as experiências pregressas e se perguntar &#8220;qual estratégia melhor poderá responder às diretrizes arquiteturais?&#8221;  Estilos e padrões arquiteturais, sejam públicos ou de conhecimento do arquiteto, podem conduzir a escolha pois aproveitam experiências bem sucedidas. O principal produto desta atividade é a escolha dos principais mecanismos arquiteturais seguida de orientações sobre como desenvolvê-los.</p>
<p>O planejamento da definição arquitetural permite que a estratégia seja traduzida em ações culminando em um plano detalhado. O plano de definição arquitetural organiza a decomposição dos subsistemas, módulos ou componentes do sistema de software. Este plano deve ser fomentar à <a href="http://pt.wikipedia.org/wiki/Wbs">Estrutura Analítica do Projeto</a> (EAP ou WBS, em inglês), auxiliando o gerente de projeto à organizar as atividades de um <a href="http://dearchitectura.wordpress.com/2009/01/22/projetos-dirigidos-por-arquiteturas-de-software-o-diretor-e-o-produtor-de-software/">projeto dirigido pela arquitetura</a>.</p>
<p>Enfim, a execução da estratégia arquitetural é caracterizada pelas atividades de gestão de requisitos arquiteturais, modelagem arquitetural e avaliação de arquiteturas. Note que o ciclo formado tem forte relação com o ciclo de <a href="http://en.wikipedia.org/wiki/PDCA">PDCA</a>. Na execução, o emprego de táticas arquiteturais &#8211; sejam de mercado, acadêmicas ou conhecidas pelo arquiteto &#8211; consolida a definição arquitetural. Mas isto já é uma outra (longa) história&#8230;</p>
<div id="attachment_557" class="wp-caption aligncenter" style="width: 310px"><a href="http://dearchitectura.files.wordpress.com/2009/04/planejamento-execucao.png"><img class="size-medium wp-image-557" title="planejamento-execucao" src="http://dearchitectura.files.wordpress.com/2009/04/planejamento-execucao.png?w=300" alt="Planejamento e execução arquiteturais" width="300" height="258" /></a><p class="wp-caption-text">Planejamento e execução arquiteturais</p></div>
<p>Referências:</p>
<ol>
<li><a href="http://goliath.ecnext.com/coms2/gi_0199-1648156/Michael-Porter-What-is-Strategy.html">What is Strategy?</a> - Michael Porter</li>
<li><a href="http://www.thepalladiumgroup.com/ABOUT/Pages/ExecutionPremium.aspx">The Execution Premium</a> &#8211; Kaplan e Norton </li>
<li><a href="http://www.bredemeyer.com/pdf_files/vision_input.pdf">Creating An Architectural Vision</a> &#8211; Malan e Bredemeyer</li>
<li><a href="http://www.gaudisite.nl/CustomerObjectivesViewPaper.pdf">The customer objectives view</a> &#8211; Gerrit Muller</li>
<li><a href="http://www.gaudisite.nl/SystemArchitectureBook.pdf">System Architecting</a> &#8211; Gerrit Muller</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.arkhi.com.br/2009/04/21/estabelecendo-a-estrategia-arquitetural/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Princípios Arquiteturais</title>
		<link>http://blog.arkhi.com.br/2009/01/29/principios-arquiteturais/</link>
		<comments>http://blog.arkhi.com.br/2009/01/29/principios-arquiteturais/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 23:38:42 +0000</pubDate>
		<dc:creator>Eros Viggiano</dc:creator>
				<category><![CDATA[arquitetura de software]]></category>
		<category><![CDATA[estratégia]]></category>
		<category><![CDATA[princípios]]></category>
		<category><![CDATA[visão]]></category>

		<guid isPermaLink="false">http://dearchitectura.wordpress.com/?p=450</guid>
		<description><![CDATA[Quase sempre, concretizar uma visão não é uma tarefa fácil. Atingir objetivos exige planos que norteiam em direção à visão pretendida. E um elemento importante de um plano é o entendimento dos princípios que o dirigem. Os princípios norteiam o caminho, tornam as decisões mais disciplinadas e validam alterações no plano. Neste texto, discutiremos como [...]]]></description>
			<content:encoded><![CDATA[<p>Quase sempre, concretizar uma <a href="http://en.wikipedia.org/wiki/Vision_statement#Mission_statements_and_vision_statements">visão</a> não é uma tarefa fácil. Atingir objetivos exige planos que norteiam em direção à visão pretendida. E um elemento importante de um plano é o entendimento dos princípios que o dirigem. Os princípios norteiam o caminho, tornam as decisões mais disciplinadas e validam alterações no plano. Neste texto, discutiremos como princípios arquiteturais definidos podem deixar claro o caminho para uma <a href="http://dearchitectura.wordpress.com/2009/01/24/a-primeira-atividade-de-um-arquiteto-de-software-em-projetos-de-ti/">visão arquitetural</a>.</p>
<p>Antes de entrarmos nos princípios arquiteturais propriamente ditos, convém introduzirmos brevemente o que significa ser centrado em princípios. Citando Covey:</p>
<p><cite>&#8220;Em primeiro lugar, você não está agindo levado por pessoas ou circunstâncias. Escolhe proativamente o que considera a melhor alternativa. Toma a decisão conscientemente, com clareza.</cite></p>
<p><cite>Segundo, sabe que a sua decisão é a mais eficaz, porque se baseia em princípios, com resultados a longo prazo previsíveis.</cite></p>
<p><cite>Terceiro, o que você escolhe fazer reforça seus valores fundamentais da vida. (&#8230;)</cite></p>
<p><cite>E, finalmente, você se sentirá confortável quanto à sua decisão.&#8221;</cite></p>
<p>- Stephen Covey em &#8220;Os 7 Hábitos das Pessoas Altamente Eficazes&#8221;</p>
<p>Em se tratando de princípios arquiteturais, as escolhas do processo arquitetural são orientadas por eles. Quando a equipe de arquitetura opta por definir uma lista de princípios arquiteturais para um projeto, tipicamente eles são influenciados por:</p>
<ul>
<li>valores da empresa; </li>
<li>princípios arquiteturais que o time adota (sim, a arquitetura de referência também pode ser orientada por princípios); </li>
<li>objetivos do projeto. </li>
</ul>
<p>Como exemplo, seguem os princípios arquiteturais que costumamos empregar com nosso time.</p>
<div class="mceTemp" style="text-align:center;">
<dl class="wp-caption alignnone">
<dt class="wp-caption-dt"><a href="http://dearchitectura.files.wordpress.com/2009/01/principios.png"><img class="size-medium wp-image-452" title="principios" src="http://dearchitectura.files.wordpress.com/2009/01/principios.png?w=300" alt="Nossos Principios Arquiteturais" width="300" height="261" /></a></dt>
<dd class="wp-caption-dd">Nossos Princípios Arquiteturais</dd>
</dl>
</div>
<ol>
<li><strong>Alinhamento ao negócio</strong>: primariamente a arquitetura deve satisfazer integralmente as necessidades de negócio do produto.</li>
<li><strong>Flexibilidade</strong>: para garantir um longo ciclo de vida útil para o produto, a arquitetura deve contemplar mecanismos flexíveis.</li>
<li><strong>Simplicidade</strong>: a arquitetura deve priorizar as soluções mais simples salvo quando diminuirem a flexibilidade do produto.</li>
</ol>
<p>Observe que simplicidade e flexibilidade nem sempre caminham numa mesma direção. A tentativa de deixar uma solução mais flexível aumenta a tendência de complicá-la. Num impasse como este, nossas alternativas são:</p>
<ul>
<li>Se consideramos flexibilidade mais importante para o projeto, damos preferência a ela. Mas, no caso de duas opções igualmente flexíveis, optamos pela mais simples. </li>
<li>Caso entendamos simplicidade com um princípio mais forte que flexibilidade, ficamos com a primeira. E, da mesma forma, entre duas opções simples, a vencedora será a mais flexível. </li>
</ul>
<p>Geralmente buscamos o equilíbrio ideal entre simplicidade e flexibilidade a fim de otimizarmos resultados a curto e longo prazos.<br />
Os princípios arquiteturais guiam a arquitetura em direção à visão arquitetural. Mas como isto acontece na prática? Imaginemos duas situações:</p>
<ul>
<li>Suponha que você está em dúvida na adoção de um entre dois mecanismos. Ao recorrer aos princípios arquiteturais, pergunte “qual mecanismo melhor atende aos princípios?” </li>
<li>Outra situação é possível é a refatoração para acomodar um pattern. Considerando os princípios que exemplificamos, pergunte:  “O pattern atende melhor ao negócio?”  “O pattern é a solução mais simples?”  “O pattern aumenta a flexibilidade?”  Caso não responda positivamente a alguma das questões e nenhum requisito o justifique, o pattern pode ser desconsiderado. </li>
</ul>
<p>Como sugestão para o seu próximo projeto, sugerimos uma experiência: considere declarar a visão e os princípios na sua estratégia arquitetural. Possivelmente suas escolhas se tornarão mais claras.</p>
<p><cite>&#8220;The simplest architectures are best.&#8221;</cite> &#8211; Grady Booch</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.arkhi.com.br/2009/01/29/principios-arquiteturais/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
