<?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>Comentários Críticos sobre Tecnologia da Informação</title>
	<atom:link href="http://marcomendes.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcomendes.com/blog</link>
	<description>Informações, opiniões, discussões e comentários críticos sobre tecnologia da informação, arquitetura corporativa e tecnologias.</description>
	<lastBuildDate>Sat, 19 May 2012 16:34:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>A decisão tecnológica mais importante do arquiteto de soluções</title>
		<link>http://marcomendes.com/blog/2012/05/a-decisao-tecnologica-mais-importante-do-arquiteto-de-solucoes/</link>
		<comments>http://marcomendes.com/blog/2012/05/a-decisao-tecnologica-mais-importante-do-arquiteto-de-solucoes/#comments</comments>
		<pubDate>Sat, 19 May 2012 16:14:49 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Arquitetura de Software]]></category>
		<category><![CDATA[Plataformas]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=675</guid>
		<description><![CDATA[Phillipe Kruchten disse uma vez que a vida do arquiteto é uma longa sucessão de decisões sub-ótimas e parcialmente tomadas no escuro. Nada mais verdadeiro, em minha opinião. Mas qual seria a decisão mais importante que um arquiteto deve tomar. &#8230; <a href="http://marcomendes.com/blog/2012/05/a-decisao-tecnologica-mais-importante-do-arquiteto-de-solucoes/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Phillipe Kruchten disse uma vez que a vida do arquiteto é uma longa sucessão de decisões sub-ótimas e parcialmente tomadas no escuro. Nada mais verdadeiro, em minha opinião.</p>
<p>Mas qual seria a decisão mais importante que um arquiteto deve tomar. A decisão sobre o <strong>estilo da arquitetura</strong> é sem dúvida uma destas decisões. Alguns estilos arquiteturais incluem:</p>
<ul>
<li>Cliente-Servidor</li>
<li>P2P</li>
<li>Multicamadas (n-tier)</li>
<li>Centrado em serviços de negócio (SOA)</li>
<li>Centrado em processos de negócio (BPMS)</li>
<li>Centrado em computação paralela massiva (Grid)</li>
</ul>
<p>No que tange à tecnologia, entretanto, <strong>o conceito da plataforma é sem dúvida a decisão mais importante</strong>. A plataforma é o elemento técnico que dá vida ao estilo arquitetural.</p>
<p>Um plataforma é um arranjo de softwares e servidores organizados de forma coerente para resolver problemas comuns no desenvolvimento de software. Dois exemplos comuns de plataformas incluem o Java EE e o Microsoft .NET. Um outro exemplo de um plataforma é o LAMP, que é um arranjo composto de sistema operacional baseado em Linux, servidor Web Apache httpD, servidor de banco de dados MySql e linguagens dinâmicas como PHP, PERL ou Python.</p>
<p>O Java EE,  .NET ou LAMP são usados normalmente para sistemas de informação Web. Naturalmente existem cenários da realidade de mercado onde necessidades mais específicas surgem. Para estes cenários existem outros tipos de plataformas de mercado, muito além do Java EE e o .NET.</p>
<p>Exemplos incluem:</p>
<ul>
<li>Plataformas de ERP/MRP (<em>Enterprise Resource Planning/Material Resource Planning</em>), usadas para automatizar processos de suporte de organizações. Exemplos de produtos nesta linha são o SAP ECC, o Oracle PeopleSoft e Oracle JD Edwards.</li>
<li>Plataformas de portais usadas para a criação de sites que unifiquem informações de diversas fontes. Exemplos incluem o Microsoft SharePoint, o Oracle Portal ou o IBM WebSphere Portal.</li>
<li>Plataformas de serviços interoperáveis para estilos centrados em serviços SOA. Exemplos incluem o Microsoft WCF ou o Apache Tuscany (padrão SCA).</li>
<li>Plataformas de automação de processos de negócio (BPMS) para empresas que estejam e estágios avançados de implementações BPM. Exemplos incluem o IBM Business Process Manager ou o Oracle BPM.</li>
<li>Plataformas de serviços de decisão (BRMS) para empresas que busquem flexibilidade e responsividade extrema para as suas regras de negócio. Exemplos incluem o IBM ILOG Operational Decision Management ou o Redhat JBOSS Drools.</li>
<li>Plataformas de BI/ETL para o suporte a inteligência de negócios avançada. Exemplos incluem a suíte de produtos IBM Cognos, Microsoft SISS ou Oracle Hyperion.</li>
<li>Plataformas de integração de aplicações chamadas de ESB (Enterprise Service Bus). Exemplos incluem o SAP PI, IBM WebSphere ESB e o Microsft BizTalk.</li>
</ul>
<p>Se escolhemos uma plataforma arquitetural inadequada teremos graves problemas durante o projeto. Curiosamente, muitos &#8220;arquitetos&#8221; consideram a plataforma como dada e nem sequer pensam nisso. É a síndrome do arquiteto de uma plataforma só, que coloca a tecnologia na frente do problema.</p>
<p>Arquitetos de soluções racionais agem na direção inversa. Eles tem a mente aberta e fazem uma análise dos condutores arquiteturais. A partir destes condutores eles recomendam a plataforma mais apropriada que irá promover o melhor balanceamento dos condutores.</p>
<p>Em cenários mais sofisticados, uma solução pode exigir um conjunto de plataformas distintas. Em um caso SOA que estamos trabalhando atualmente, uma determinada empresa organizou a sua infraestrutura a partir de um conjunto de soluções integradas de BPMS, SOA e ESB.</p>
<p>Grandes fornecedores de mercado como a IBM, Oracle, TIBCO, SAP, Redhat, entre outros gigantes, possuem esquemas conceituais que nos permitem navegar neste mar de tecnologias. Deixo para os curiosos e aficionados pelo tema duas referências respectivamente da IBM e da Redhat.</p>
<p><a title="Arquitetura de Referência IBM" href="http://www.ibm.com/developerworks/br/websphere/techjournal/0904_badawi/0904_badawi.html" target="_blank">Arquitetura Referência IBM</a></p>
<p><img class="alignnone" title="Arquitetura de Referência da IBM" src="http://www.ibm.com/developerworks/br/websphere/techjournal/0904_badawi/images/image002.gif" alt="Arquitetura de Referência da IBM" width="572" height="286" /></p>
<p><a title="JBOSS Enterprise Middleware" href="http://br.redhat.com/products/jbossenterprisemiddleware/" target="_blank">Arquitetura Redhat JBOSS Enterprise Middleware</a></p>
<p><img class="alignnone" title="Arquitetura de Referência RedHat JBOSS" src="http://br.redhat.com/rhecm/rest-rhecm/jcr/repository/collaboration/sites%20content/live/redhat/web-cabinet/static-files/images/JBoss_architecture_550x599.png" alt="Arquitetura de Referência RedHat JBOSS" width="550" height="599" /></p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/05/a-decisao-tecnologica-mais-importante-do-arquiteto-de-solucoes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reduzindo a incerteza arquitetural</title>
		<link>http://marcomendes.com/blog/2012/05/reduzindo-a-incerteza-arquitetural/</link>
		<comments>http://marcomendes.com/blog/2012/05/reduzindo-a-incerteza-arquitetural/#comments</comments>
		<pubDate>Tue, 08 May 2012 16:06:14 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=660</guid>
		<description><![CDATA[Uma das grandes dificuldades no processo de criação de arquiteturas é capturar os requisitos que realmente importam para a arquitetura (Requisitos Arquiteturais). Uma técnica para auxílio neste processo é fornecida por uma ferramenta da psicologiachamada de Janela de Johari que também usada em &#8230; <a href="http://marcomendes.com/blog/2012/05/reduzindo-a-incerteza-arquitetural/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Uma das grandes dificuldades no processo de criação de arquiteturas é capturar os requisitos que realmente importam para a arquitetura (<em>Requisitos Arquiteturais</em>).</p>
<p>Uma técnica para auxílio neste processo é fornecida por uma ferramenta da psicologiachamada de <em>Janela de Johari</em> que também usada em alguns círculos de engenharia de requisitos.</p>
<p>Adapto este conceito para o contexto de arquitetura de software, exibido na figura abaixo.</p>
<p><a href="http://marcomendes.com/blog/wp-content/uploads/2012/05/JanelaRequisitos.png"><img class="aligncenter size-full wp-image-672" title="Janela de Johari" src="http://marcomendes.com/blog/wp-content/uploads/2012/05/JanelaRequisitos.png" alt="" width="656" height="489" /></a></p>
<p>A figura mostra nem todo requisito é conhecido pelo nosso time e pelos nossos usuários e este desconhecimento (nosso, dos usuários ou de ambos) é fonte de muitos problemas.</p>
<p>Vamos contextualizar o conceito em um exemplo didático de um sistema de Internet Banking. É natural (para qualquer arquiteto e para os usuários chave de um Banco de Crédito) que aspectos de segurança devem afetar a arquitetura executável do produto sendo criado. Portanto, aspectos de autenticação, autorização e transporte seguro estariam no quadrante Q1, que é o dos requisitos arquiteturais óbvios. Até agora não temos nenhum problema.</p>
<p>Vamos considerar agora alguns requisitos de qualidade interna como a manutenibilidade ou a testabilidade, que são normalmente conhecidos pelo nosso time. Normalmente aspectos de qualidade interna não são percebidos diretamente pelos usuários chave, o que os coloca no quadrante Q4. Portanto, arquitetos devem tomar cautela extrema com estes requisitos pois eles não são normalmente percebidos pelos usuários e portanto não valorizados. A consequência é que eles podem causar aos usuários a sensação de baixa produtividade na execução de código pelo time de desenvolvimento. Ainda pior, eles podem encarecer o seu projeto sem percepção de valor similar para os seus usuários.</p>
<p>Vamos agora considerar alguma norma obscura do Banco Central que lide com algum aspecto regulatório. Se a maturidade dos usuários envolvidos no projeto e da equipe de arquitetura for baixa, este requisito regulatório, que pode afetar a arquitetura, estaria colocado no quadrante Q3. A lição aqui é óbvia. Os usuários normalmente não conhecem todos os requisitos e portanto devemos buscar requisitos que podem afetar a arquitetura em outras fontes de informação.</p>
<p>Finalmente, vamos lidar os requisitos mais perigosos, que são elementos óbvios para os usuários mas não óbvios para o time. Por exemplo, o usuário pode assumir que a portabilidade entre navegadores para dispositivos móveis é dada. O time, por sua vez, pode nem ter considerado esta possibilidade. Tipicamente estes requisitos do quadrante Q2 são fontes de desgaste durante o projeto e envolvem retrabalho para o time pois afinal eles são <em>&#8220;óbvios&#8221; </em>para os usuários.</p>
<p>Em cenários ideais gostaríamos de mover todos os requisitos para o quadrante 01, mas o fato é que sempre haverá requisitos nos quadrantes Q2, Q3 e Q4 também. Naturalmente a aplicação de métodos arquiteturais de coleta de requisitos reduzirá a probabilidade que isto aconteça. Algumas dicas rápidas para isso incluem:</p>
<ul>
<li>Realizar reuniões e oficinas de trabalho para mover os requisitos do quadrante Q2 para o quadrante Q1. Técnicas de leitura ambiental também são úteis neste contexto.</li>
<li>Buscar outras fontes de informação além do ambiente e informações fornecidos pelos próprios usuários podem mover alguns requisitos do quadrante Q3 para o quadrante Q1.</li>
<li>Educar usuários sobre os requisitos que eles não conhecem pode ajudar a levar requisitos do quadrante Q4 para Q1. Em outras situações, talvez devamos remover alguns requisitos de Q4 do escopo do nosso projeto.</li>
</ul>
<blockquote>
<div><span style="font-size: small;"><span class="Apple-style-span" style="line-height: 24px;">Pensamento do dia: &#8220;O combinado não é caro&#8221;, Anônimo<br />
</span></span></div>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/05/reduzindo-a-incerteza-arquitetural/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E se Benjamin Franklin fosse um arquiteto de software?</title>
		<link>http://marcomendes.com/blog/2012/04/e-se-benjamim-franklin-fosse-um-arquiteto-de-software/</link>
		<comments>http://marcomendes.com/blog/2012/04/e-se-benjamim-franklin-fosse-um-arquiteto-de-software/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 21:06:09 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Arquitetura de Software]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=647</guid>
		<description><![CDATA[Benjamim Franklin foi um dos gênios da era moderna. Além de ser um cientista, ele também foi  jornalista, editor, autor, filantropo, abolicionista, funcionário público, diplomata, inventor e enxadrista. E se com todo este gênio, ele tivesse sido arquiteto de software? Ele &#8230; <a href="http://marcomendes.com/blog/2012/04/e-se-benjamim-franklin-fosse-um-arquiteto-de-software/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Benjamim Franklin foi um dos gênios da era moderna. Além de ser um cientista, ele também foi  jornalista, editor, autor, filantropo, abolicionista, funcionário público, diplomata, inventor e enxadrista. E se com todo este gênio, ele tivesse sido arquiteto de software?</p>
<p>Ele também teria nos ensinado diversas lições. A partir de um conjunto de pensamentos que resumem um pouco da filosofia de vida dele, coloco aqui lições dele projetadas no ramo da arquitetura de software.</p>
<p><strong>01. Faça mais e fale menos. </strong></p>
<p><strong><em>“Well done is better than well said.”</em></strong></p>
<p>Arquitetos devem fazer mais e falar menos. Isto é, arquitetos devem sair das famosas torres de marfim e dos documentos frios para a interação com as pessoas e a produção de protótipos, provas de conceitos e liberações frequentes de <em>alfas e betas</em>. Fazer em software significa: entregar valor. Entregar valor é código executável estável na mesa dos seus usuários.</p>
<p><strong>02. Não adie riscos. </strong></p>
<p><strong><em>“Don&#8217;t Procrastinate.”</em></strong></p>
<p>Arquitetos não devem adiar decisões. Isto é, eles devem identificar os fatores críticos que podem evitar o sucesso do projeto e atuar na mitigação destes riscos. Gerir riscos é uma habilidade fundamental a qualquer arquiteto.</p>
<p><strong>03.  Esteja preparado.  </strong></p>
<p><strong><em>“By failing to prepare, you are preparing to fail.”</em></strong></p>
<p>Arquitetos devem estar prontos para a ação. Conhecer métodos formais de arquitetura (tradicionais ou ágeis) e conhecer verdadeiramente os fundamentos da disciplina é fundamental para fazer um bom trabalho de arquitetura nos seus softwares. Acreditar que conhecer APIs Java EE ou .NET apenas é estar preparado é a primeira receita para fracassar como arquiteto.</p>
<p><strong>04. Somente termina quando acaba. </strong></p>
<p><strong><em>“When you&#8217;re finished changing, you&#8217;re finished.”</em></strong></p>
<p>Em média, um projeto tem 30% de seu escopo funcional mudado. Naturalmente, a arquitetura também irá mudar. Lutar contra o fato de existirem mudanças é perder tempo. Bons arquitetos entendem que  mudanças são naturais, replanejam o seu trabalho, atacam os novos riscos e renegociam os impactos desta mudança na arquitetura, seja no tempo, escopo ou financeiramente falando. Como já dizia Kent Beck: <em>&#8220;Embrace Change&#8221;</em>.</p>
<p><strong>05. Seja um líder e movimente o seu time em direção às metas</strong></p>
<p><em><strong>“All mankind is divided into three classes: those that are immovable, those that are movable, and those that move.”</strong></em></p>
<p>Arquitetos devem liderar times pragmaticamente em relação a objetivos bem estabelecidos. Bons arquitetos fogem da paralisia de análise e entregam resultados, custe o que custar. Arquitetos são seres pragmáticos.</p>
<p><strong>06. Manter-se ocupado é fácil. Ser produtivo é diferente.</strong></p>
<p><em><strong>“Never confuse motion with action.”</strong></em></p>
<p>Manter-se ocupado é fácil. Fazer da ocupação um trabalho produtivo é diferente. Bons arquitetos terminam o seu dia com pequenos produtos entregues. Eles se movimentam em relação aos seus alvos e não ficam ocupados em intermináveis reuniões infrutíferas ou documentos que não agregam valor tangível.</p>
<p><strong>07. <em>Errar é humano.</em></strong></p>
<p><em><strong>&#8220;Give Yourself Permission to Make Mistakes&#8221; </strong></em></p>
<p>Ficar na zona de conforto raramente levará um arquiteto a buscar soluções melhores para os seus software. Um excelente exemplo são as provas de conceito, que experimentam novas soluções em um projeto. Uma prova de conceito tem três resultados possíveis: sucesso, fracasso ou inconclusivo. Bons arquitetos não tem medo de fazer provas de conceito e experimentar novas soluções.</p>
<p><strong>08. <em>Seja persistente.</em></strong></p>
<p><em><strong>“Energy and persistence conquer all things.”</strong></em></p>
<p>Arquitetar bons softwares não é trivial. Requer energia alta, trabalho duro e muita persistência. Significa negociar com gerentes e usuários. Significa liderar desenvolvedores. Significar enfrentar problemas complexos a cada dia. Significar aprender todo dia. Significa aprender a ouvir nãos e lidar (com frequência) com os seres mais arrogantes ou intransigentes que a genética do DNA humano permitiu conceber. Significa seguir em frente e não desistir.</p>
<p><strong>09. Auto-conhecimento.</strong></p>
<p><em><strong>“There are three things extremely hard: steel, a diamond, and to know one&#8217;s self.”</strong></em></p>
<p>Conhecer a si mesmo é fundamental para ser um arquiteto melhor e para compor o seu time. Arquitetos que reconhecem as suas forças e suas fraquezas tem a capacidade de saber o que podem fazer sozinhos, o que podem fazer em grupo e o que devem delegar.</p>
<p><strong>10. Melhore sempre</strong></p>
<p><strong><em>“Be at war with your vices, at peace with your neighbors, and let every new year find you a better man.”</em></strong></p>
<p><em></em>Arquitetos que acreditam que já sabem tudo estão se enganando. Como diria Benjamim Franklin, esteja em guerra com os seu vícios. Se você não consegue ouvir um estagiário, pratique a técnica de <em>Escuta Ativa. </em>Se o seu documento de arquitetura tem mais erros de regência verbal e uso de orações coordenadas e subordinadas do que o filho de 14 anos do seu vizinho, seja humilde para se matricular em um curso de português.  Se você não conhece a linguagem XPTO, faça um curso e frequente DOJOs aos sábados com seus amigos <em>nerds</em>. Se você não conhece sobre segurança ou acessibilidade Web e precisa disto em seu projeto, vá estudar sobre o assunto. Sempre haverá algo que você possa aprender na profissão de arquitetura de software.</p>
<p>Adaptado livremente a partir do blog de <em>Thea Easterby &#8211; 14 Lessons From Benjamin Franklin About Getting What You Want In Life.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/04/e-se-benjamim-franklin-fosse-um-arquiteto-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A agenda moderna do arquiteto de software</title>
		<link>http://marcomendes.com/blog/2012/03/a-agenda-moderna-do-arquiteto-de-software/</link>
		<comments>http://marcomendes.com/blog/2012/03/a-agenda-moderna-do-arquiteto-de-software/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 22:02:47 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Arquitetura de Software]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=638</guid>
		<description><![CDATA[O SEI (Instituo de Engenharia de Software de Carnegie Mellon) irá promover em dois meses o maior congresso de arquitetura de software do mundo (SATURN). Este congresso terá diversas trilhas (grupo de palestras com tema específico), que fornecem ao leitor &#8230; <a href="http://marcomendes.com/blog/2012/03/a-agenda-moderna-do-arquiteto-de-software/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>O SEI (Instituo de Engenharia de Software de Carnegie Mellon) irá promover em dois meses o maior congresso de arquitetura de software do mundo (SATURN). Este congresso terá diversas trilhas (grupo de palestras com tema específico), que fornecem ao leitor uma agenda dos temas <strong>&#8220;quentes&#8221;</strong> em arquitetura de software.</p>
<p>Transcrevo estes temas aqui:</p>
<p>• Arquitetura e Colaboração: Arquitetura como um catalisador para a colaboração efetiva entre as fronteiras geográficas, culturais e técnicas.<br />
• Técnicas de Facilitação Arquitetural: Estudos de caso da aplicação de técnicas específicas para o estabelecimento de requisitos, definição, avaliação e documentação de arquitetura.<br />
• Sistemas de Larga Escala: O uso e evolução da engenharia de software centrada em arquitetura para lidar com sistemas de grande complexidade técnica.<br />
• Habilidades do arquiteto: O papel do arquiteto de software e habilidades necessárias para realizar um trabalho eficaz em projetos.<br />
• Enterprise Architecture: Arquitetura no contexto da visão de negócio e estratégia de uma organização.<br />
• Arquitetura e Métodos Ágeis: O papel da arquitetura de software em projetos de desenvolvimento ágil. Curiosamente, este tema foi marcado também como tendência no recente radar técnico da empresa Thought Works (Tech Radar 2012).<br />
• Evolução e extensibilidade: A escolha de padrões de arquitetura ou de estilos arquiteturais que permitem a evolução e manutenção de software.<br />
• Certificação e Cultura: O desenvolvimento, certificação e evolução do papel do arquiteto de software dentro das organizações.<br />
• Arquitetura e Processo: Considerações de arquitetura dentro dos processos de desenvolvimento nas organizações.</p>
<p>A mensagem é clara. Se você é um arquiteto de software  (ou quer ser um), não é suficiente pensar apenas nos detalhes cabeludos das tecnologias PHP, Java ou .NET. É preciso de uma visão mais ampla do significado de arquitetura e do ser um arquiteto.</p>
<p>Para saber mais sobre o SATURN, basta seguir <a title="SATURN 2012" href="http://www.sei.cmu.edu/saturn/2012/" target="_blank">este link</a>.</p>
<blockquote><p>The wisest mind has something yet to learn. —George Santayana</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/03/a-agenda-moderna-do-arquiteto-de-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raposas medíocres e os surpreendentes porcos-espinhos</title>
		<link>http://marcomendes.com/blog/2012/03/raposas-mediocres-e-os-surpreendentes-porcos-espinhos/</link>
		<comments>http://marcomendes.com/blog/2012/03/raposas-mediocres-e-os-surpreendentes-porcos-espinhos/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 01:31:03 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=629</guid>
		<description><![CDATA[Hoje li uma estatística assustadora, que mostra que 96% das pessoas não estão satisfeitas nos seus empregos. Ao invés de culpar erroneamente as empresas, como se elas fossem seres sencientes e dotados de vidas próprias, cada de um de nós &#8230; <a href="http://marcomendes.com/blog/2012/03/raposas-mediocres-e-os-surpreendentes-porcos-espinhos/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hoje li uma estatística assustadora, que mostra que 96% das pessoas não estão satisfeitas nos seus empregos. Ao invés de culpar erroneamente as empresas, como se elas fossem seres sencientes e dotados de vidas próprias, cada de um de nós deve pensar que o único responsável pela sua felicidade profissional e salarial é&#8230; você.</p>
<p>Jim Collins, renomado autor do excelente livro <em>Good To Great,</em> nos apresenta uma interessante metáfora sobre onde devemos focar a nossa carreira. Para isso, ele fornece dois estereótipos de profissionais.</p>
<p>Raposas são os profissionais que não gostam do que fazem, ou que não são talentosos no que fazem ou que fazem coisas que não lhe dão retorno (inclusive financeiro). Porcos-espinhos fazem apenas uma única coisa, mas o fazem muito bem.</p>
<p>A metáfora não é sobre generalistas versus especialistas, mas sobre o que determina <strong>o sucesso da nossa carreira</strong>, que é a confluência de três fatores que criam o porco-espinho profissional.</p>
<p><a href="http://marcomendes.com/blog/wp-content/uploads/2012/03/Porco-Espinho.png"><img class="aligncenter size-full wp-image-633" title="Porco-Espinho" src="http://marcomendes.com/blog/wp-content/uploads/2012/03/Porco-Espinho.png" alt="" width="449" height="425" /></a></p>
<p>A busca pelo porco-espinho é encontrar algo dentro dos nossos interesses que adoramos fazer, que fazemos muito, mas muito bem, e que pode trazer retornos financeiros interessantes. Naturalmente, a reflexão pode nos levar à conclusão que estamos vivendo a profissão errada por diversos motivos. As vezes, é necessário apenas uma mudança dentro da nossa profissão. Em outras vezes, é necessário apenas buscar um ambiente que nos valorize enquanto profissionais. Outras vezes, e sejamos francos, devemos reconhecer que simplesmente não somos talentosos no que estamos fazendo.</p>
<p>Dentro da confluência dos três círculos, talvez o mais difícil seja achar aquilo em que você é excepcionalmente bom. Não basta ser bom ou muito bom. É preciso ser mais. Como diz Jim Collins, aquilo que você é o melhor no mundo.</p>
<p>Um bom exemplo deste processo é como algumas universidades e institutos de pesquisa selecionam seus estudantes, baseado no conceito do percentil 99. Em outras palavras, se você for um estudante e quiser entrar em uma universidade como MIT ou Stanford em um programa de pós-graduação, você precisa estar no 1% dos candidatos mais bem sucedidos nos testes para ser aceito.</p>
<p>De volta ao Brasil, e aos nosso empregos, é necessário fornecer tempo para a reflexão e à prática chamada por Stephen Covey de &#8220;afinar o instrumento&#8221;, que consiste em buscar as pequenas metas semanais que nos permitem que nos tornemos cada vez melhores nas nossas profissões e nas nossas vidas.</p>
<blockquote><p>Pensamento do dia: Se você é um em um milhão na China, existem mil caras iguais a você.</p></blockquote>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/03/raposas-mediocres-e-os-surpreendentes-porcos-espinhos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bases de dados de artigos de TI, Engenharia de Software e afins</title>
		<link>http://marcomendes.com/blog/2012/03/bases-de-dados-de-artigos-de-ti-engenharia-de-software-e-afins/</link>
		<comments>http://marcomendes.com/blog/2012/03/bases-de-dados-de-artigos-de-ti-engenharia-de-software-e-afins/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 01:25:18 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=620</guid>
		<description><![CDATA[As a general rule, the most successful man in life is the man who has the best information, Benjamim Disraeli Ter acesso à informação de qualidade é um grande acelerador para o nosso dia a dia de TI, seja no &#8230; <a href="http://marcomendes.com/blog/2012/03/bases-de-dados-de-artigos-de-ti-engenharia-de-software-e-afins/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>As a general rule, the most successful man in life is the man who has the best information, Benjamim Disraeli</p></blockquote>
<p>Ter acesso à informação de qualidade é um grande acelerador para o nosso dia a dia de TI, seja no mercado ou nas universidades. Compilo aqui excelentes bases de dados com artigos científicos sobre os mais variados temas de TI.</p>
<p><img class="alignnone" title="ACM Digital Library" src="http://dl.acm.org/images/ACMDL_Logo.jpg" alt="" width="263" height="63" /><br />
<a title="ACM" href="http://dl.acm.org" target="_blank">http://dl.acm.org</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><img class="alignnone" title="IEEE Explore" src="http://ieeexplore.ieee.org/assets/img/logo.xplore.gif" alt="" width="230" height="45" /><br />
<a title="IEEE Explore" href="http://ieeexplore.ieee.org" target="_blank">http://ieeexplore.ieee.org</a></p>
<p>&nbsp;</p>
<p><img class="alignnone" title="Spring Link" src="http://t0.gstatic.com/images?q=tbn:ANd9GcQukrXOO17mC8zjxxv5x1ZI1ccN8lexTLUnzcg5nz3X87pYyFxg" alt="" width="278" height="89" /><br />
<a title="Spring Link" href="http://www.springerlink.com/" target="_blank">http://www.springerlink.com/</a></p>
<p>&nbsp;</p>
<p><img class="alignnone" title="Wiley" src="http://onlinelibrarystatic.wiley.com/images/siteLogo.gif" alt="" width="225" height="20" /><br />
<a title="Wiley" href="http://onlinelibrary.wiley.com/" target="_blank">http://onlinelibrary.wiley.com/</a></p>
<p>&nbsp;</p>
<p><img class="alignnone" title="Elsevier" src="http://t1.gstatic.com/images?q=tbn:ANd9GcTFTo3dl-_Jd0rMgBH9W6DKsibXq7QRTUvtlcQ8e4BNyJd8gyPk" alt="" width="218" height="231" /><br />
<a title="Elsevier" href="http://www.elsevier.com" target="_blank">http://www.elsevier.com</a></p>
<p>São centenas de milhares de artigos à disposição. O acesso aos resumos (<em>abstracts</em>) de todas estes artigos é gratuito. E para quem está na Internet através de um IP das boas universidades Brasil afora, o acesso ao conteúdo de todos estes artigos é&#8230; gratuito!</p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/03/bases-de-dados-de-artigos-de-ti-engenharia-de-software-e-afins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estratégias de Integração de Aplicações Java EE</title>
		<link>http://marcomendes.com/blog/2012/03/estrategias-de-integracao-de-aplicacoes-java-ee/</link>
		<comments>http://marcomendes.com/blog/2012/03/estrategias-de-integracao-de-aplicacoes-java-ee/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 22:55:18 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Arquitetura de Software]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=608</guid>
		<description><![CDATA[A maioria (senão todas) das grandes empresas que já tive contato tem graves problemas de integração de aplicações. Observo diversos colegas que trabalham com arquitetura que reportam o mesmo problema. Estas empresas integram aplicações conforme a figura abaixo. A este &#8230; <a href="http://marcomendes.com/blog/2012/03/estrategias-de-integracao-de-aplicacoes-java-ee/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A maioria (senão todas) das grandes empresas que já tive contato tem graves problemas de integração de aplicações. Observo diversos colegas que trabalham com arquitetura que reportam o mesmo problema. Estas empresas integram aplicações conforme a figura abaixo.</p>
<div id="attachment_615" class="wp-caption alignleft" style="width: 277px"><a href="http://marcomendes.com/blog/wp-content/uploads/2012/03/Fios.jpg"><img class="size-full wp-image-615" title="Fios" src="http://marcomendes.com/blog/wp-content/uploads/2012/03/Fios.jpg" alt="" width="267" height="400" /></a><p class="wp-caption-text">Topologia Ponto a Ponto</p></div>
<p>A este respeito, publiquei há cerca de três anos um artigo na Java Magazine sobre estratégias de integração em aplicações Java EE. Apesar dos exemplos contextualizados para Java, o artigo é útil para desenvolvedores .NET e de outras tecnologias que estejam vivendo problemas de integração.</p>
<p>Discutimos no nosso artigo os seguintes tópicos:</p>
<ul>
<li>Estilos de integração (Transferência de arquivos, RPC, fila de mensagens e banco de dados compartilhado)</li>
<li>Níveis de integração (Dados, API, Processos de Negócio e Apresentação)</li>
<li>Topologia (Ponto a ponto; Hub and Spoke)</li>
<li>Exemplos de tecnologias de integração em Java</li>
<li>Padrões EAI, documentados originalmente por Gregor Hohpe no site <a title="EAI Patterns" href="http://www.eaipatterns.com" target="_blank">EAIPatterns</a>.</li>
</ul>
<p>Para os interessados no problema da integração de aplicações, é um começo para organizar as ideias e praticar o racional arquitetural.</p>
<h3>O<strong> artigo completo</strong> em formato PDF pode ser baixado <a href="http://marcomendes.com/blog/wp-content/uploads/2012/03/jm-eai_v03_original.pdf">aqui</a>.</h3>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/03/estrategias-de-integracao-de-aplicacoes-java-ee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O arquiteto das nuvens</title>
		<link>http://marcomendes.com/blog/2012/02/o-arquiteto-das-nuvens/</link>
		<comments>http://marcomendes.com/blog/2012/02/o-arquiteto-das-nuvens/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 17:31:55 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Arquitetura de Software]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=588</guid>
		<description><![CDATA[A arquitetura de software existe como uma disciplina formal há quase 25 anos. Podemos destacar, ainda no início da sua base como disciplina, alguns artigos fundamentais como este: Larger Scale Systems Require Higher-Level Abstractions, da autora Mary Shaw, do ano de &#8230; <a href="http://marcomendes.com/blog/2012/02/o-arquiteto-das-nuvens/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A arquitetura de software existe como uma disciplina formal há quase 25 anos. Podemos destacar, ainda no início da sua base como disciplina, alguns artigos fundamentais como este: <em>Larger Scale Systems Require Higher-Level Abstractio</em>ns, da autora Mary Shaw, do ano de 1989.</p>
<p>Neste artigo ela escreve, de forma pioneira.</p>
<blockquote><p>Over the past thirty years, abstraction techniques such as high level programming languages and abstract data types have improved our ability to specify and develop software. However, the increasing size and complexity of software systems have introduced new problems that are not solved by the current techniques. These new problems involve the system-level design of software, in which the important decisions are concerned with the kinds of modules and subsystems to use and the way these modules and subsystems are organized. This level of organization, <strong>the software archirecture level</strong>, requires new kinds of abstractions that capture essential properties of major subsystems and the ways they interact.</p></blockquote>
<p>Desde 1989, o campo da arquitetura de software evoluiu muito e diversas outras especializações surgiram tais como o Arquiteto de Soluções, o Arquiteto de Dados ou o Arquiteto de Infra-estrutura . Destaco neste post um novo membro da fauna de arquitetos, o arquiteto das nuvens ou <em>the cloud architect.</em></p>
<p><strong>A fauna de arquitetos</strong></p>
<p><a href="http://marcomendes.com/blog/wp-content/uploads/2012/02/ArquitetoNuvens.png"><img class="aligncenter size-large wp-image-597" title="ArquitetoNuvens" src="http://marcomendes.com/blog/wp-content/uploads/2012/02/ArquitetoNuvens-1024x890.png" alt="" width="640" height="556" /></a></p>
<p>Este novo membro da fauna requer competências diferenciadas a este novo mundo da computação nas nuvens, tais como:</p>
<ul>
<li>Conhecer os novos modelos econômicos que podem ser alavancados por áreas de TI. Modelos de cauda longa (Big Tail), multi-inquilinos (Multitenancy), computação utilitária (<em>Utility Computing</em>) ou Computação Elástica (<em>Elastic Computing</em>) são exemplos destes modelos.</li>
<li>Conhecer e usar as diretrizes que influenciam e determinam que serviços de TI devem operar dentro da própria empresa (<em>On-Premises</em>) ou nas nuvens (<em>Cloud</em>).</li>
<li>Conhecer e saber comparar os diferentes tipos de nuvens tais como Nuvens Públicas, Nuvens Privadas ou Nuvens Híbridas.</li>
<li>Conhecer as principais soluções de mercado e fornecedores nos três pilares da Cloud Computing: <em>Software as a Service &#8211; SAAS, Platform as a Service &#8211; PAAS e Infrastructure as a Service &#8211; IAAS.</em></li>
<li>Aplicar todos estes conhecimentos no desenho de soluções de software que utilizem software como serviço, plataformas como serviços e infra-estruturas virtualizadas como serviços em ambientes nas nuvens.</li>
<li>Acompanhar os projetos de ponta a ponta para garantir que atributos fundamentais como baixo acoplamento, segurança, confiabilidade e sustentabilidade (Green Computing), entre outros, estejam sendo corretamente implementados pelo time de desenvolvimento.</li>
<li>Ler mais sobre qualquer outra coisa que não seja TI. Arquitetos de nuvens devem falar a linguagem do negócio para recomendarem e sustentarem suas soluções.</li>
</ul>
<p>Para os que querem adentrar no tema, é recomendável estudar na prática plataformas como o Database ou o Force, da Sales Force, o Microsoft Azure ou o Amazon AWS. Estes fornecedores, dentre outros, fornecem kits de desenvolvimento e uso gratuito de suas plataformas para provas de conceito e estudos.</p>
<p>Para uma fundamentação mais conceitual, recomendo a leitura de livros escritos na ótica de formação do conhecimento do arquiteto das nuvens. Seguem exemplos de livros nesta linha.</p>
<p>&nbsp;</p>
<p><a href="http://marcomendes.com/blog/wp-content/uploads/2012/02/LivrosCloudComputing.png"><img class="aligncenter size-large wp-image-592" title="LivrosCloudComputing" src="http://marcomendes.com/blog/wp-content/uploads/2012/02/LivrosCloudComputing-1024x420.png" alt="" width="640" height="262" /></a></p>
<blockquote><p>&#8220;In 2000, when my partner Ben Horowitz was CEO of the first cloud computing company, Loudcloud, the cost of a customer running a basic Internet application was approximately $150,000 a month&#8221;, Marc Andreessen .</p></blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/02/o-arquiteto-das-nuvens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O Scrum Master e o Screw Master</title>
		<link>http://marcomendes.com/blog/2012/02/o-scrum-master-e-o-lider-servidor/</link>
		<comments>http://marcomendes.com/blog/2012/02/o-scrum-master-e-o-lider-servidor/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 00:08:39 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=579</guid>
		<description><![CDATA[Tenho acompanhado muitos projetos que se beneficiam da filosofia ágil. Infelizmente, também tenho observado projetos batizados como  &#8221;ágeis&#8221;, mas cuja essência é fundamentalmente violada pela ausência de um Scrum Master com formação sócio-técnica adequada. É fácil reconhecer um bom Scrum &#8230; <a href="http://marcomendes.com/blog/2012/02/o-scrum-master-e-o-lider-servidor/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tenho acompanhado muitos projetos que se beneficiam da filosofia ágil. Infelizmente, também tenho observado projetos batizados como  &#8221;ágeis&#8221;, mas cuja essência é fundamentalmente violada pela ausência de um Scrum Master com formação sócio-técnica adequada.</p>
<p>É fácil reconhecer um bom Scrum Master em um projeto ágil saudável.</p>
<p><img class="alignnone" title="Scrum Master" src="http://2.bp.blogspot.com/_QjZqteWSa7E/TUdMXV_zyII/AAAAAAAAAoU/41BMobBQHuk/s320/superman.jpg" alt="" width="262" height="320" /></p>
<p>Evidências da sua boa atuação incluem:</p>
<ul>
<li>Ele está a serviço do seu time. A sua missão é limpar os impedimentos alheios, pela manhã, tarde ou noite, custe o que custar.</li>
<li>Ele assume responsabilidades. Ele sabe que ele é o responsável pelo bom andamento do sprint e pelo cumprimento do escopo nos prazos. Ele não delega os problemas para terceiros nem culpa ninguém por problemas externos.</li>
<li>Ele sabe ouvir críticas do seu time. Ele também sabe que não é perfeito e sabe que precisa do <em>feedback</em> da sua equipe para ser um líder melhor.</li>
</ul>
<p>Também é fácil reconhecer o Scrum Master Bizarro, versão feita de anti-matéria do planeta Bizarro. Vou chamá-lo carinhosamente de <em>Screw Master. </em>Infelizmente, alguns destes seres habitam as terras Brasileiras.</p>
<p><img class="alignnone" title="Bizarro" src="http://3.bp.blogspot.com/_9aY79DzUHzo/SAIsN8Df6II/AAAAAAAAAOg/MCGbMQ8PUtI/s400/Bizarro+wikipedia.jpg" alt="" width="250" height="250" /></p>
<p>Evidências da sua presença nefasta incluem:</p>
<ul>
<li><span class="Apple-style-span" style="font-size: medium;">Ele insiste no paradigma comando e controle, também conhecido como cenoura e chicote, tão comum ao modelo taylorista de gerir recursos fabris. </span></li>
<li><span class="Apple-style-span" style="font-size: medium;">Ele não assume responsabilidades. Ele é mais esguio que um porco ensebado quando os problemas lhe são apresentados. &#8220;É culpa do retardado do analista&#8221;, &#8220;É culpa do maldito desenvolvedor&#8221;, &#8220;É culpa da idiota do testador&#8221;.</span></li>
<li><span class="Apple-style-span" style="font-size: medium;">Ele não é respeitado pelo seu time. Sintoma primeiro e último de um &#8220;chefe&#8221; que não é líder.</span></li>
</ul>
<p>Se você encontrar um <em>bizarro</em> no comando do seu projeto, recomendo exorcizá-lo com a teoria de liderança servidora do Stephen Covey. Se nem isso adiantar, coloque-o em um vórtex multidimenstional e mande-o para o planeta bizarro antes que ele <em>screw</em> o seu projeto.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2012/02/o-scrum-master-e-o-lider-servidor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Esqueletos andantes</title>
		<link>http://marcomendes.com/blog/2011/11/esqueletos-andantes/</link>
		<comments>http://marcomendes.com/blog/2011/11/esqueletos-andantes/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 02:38:20 +0000</pubDate>
		<dc:creator>Marco Mendes</dc:creator>
				<category><![CDATA[Arquitetura de Software]]></category>

		<guid isPermaLink="false">http://marcomendes.com/blog/?p=535</guid>
		<description><![CDATA[Allistair Cockburn é um dos grandes pensadores de engenharia de software em atividade. É dele o melhor livro que conheço sobre casos de uso, chamado de Casos de Uso Eficazes. É dele também um conceito chave usado em arquitetura de &#8230; <a href="http://marcomendes.com/blog/2011/11/esqueletos-andantes/">Continue lendo <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Allistair Cockburn é um dos grandes pensadores de engenharia de software em atividade. É dele o melhor livro que conheço sobre casos de uso, chamado de <em>Casos de Uso Eficazes</em>. É dele também um conceito chave usado em arquitetura de software, o conceito do código mínimo que implemente uma funcionalidade fim a fim (o esqueleto andante).</p>
<p><a href="http://marcomendes.com/blog/wp-content/uploads/2011/11/Captura-de-Tela-2011-11-03-às-00.21.14.png"><img class="aligncenter size-full wp-image-538" title="Esqueleto andante" src="http://marcomendes.com/blog/wp-content/uploads/2011/11/Captura-de-Tela-2011-11-03-às-00.21.14.png" alt="" width="365" height="307" /></a></p>
<p>O<a title="Cockburn on Walking Skeleton" href="http://alistair.cockburn.us/Walking+skeleton"> esqueleto andante</a> é um conceito que permite que a funcionalidade e a arquitetura evoluam simultaneamente. Ele acomoda os principais componentes arquiteturais e é uma excelente técnica de redução de riscos em projetos complexos.</p>
<p>A fase de elaboração do RUP é um exemplo interessante da produção de esqueletos andantes, que reduzem os riscos e acomodam cenários de casos de uso críticos e complexos. Em métosos ágeis como o DAD (<em>Disciplined Agile Delivery</em>) também vemos este tipo de técnica.</p>
<p>Neste tipo de técnica, é fundamental uma boa gestão de configuração. O esqueleto andante é um código evolutivo, e não descartável. A gestão de linhas de base e mecanismos de testes de unidade e  integração contínua garante que o esqueleto possa acomodar  cartilagens, tendões, músculos, nervos e peles à medida que mais e mais código complexo seja adicionado ao sistema.</p>
<p><strong>Um exemplo real</strong></p>
<p>Tivemos a oportunidade de acompanhar um projeto, em nosso ambiente de trabalho, recentemente colocado em produção e que usou esta técnica.  A arquitetura candidata rapidamente foi evoluída para código executável que incorporou os principais componentes arquiteturais (tecnologias Microsoft, tecnologias Java, ambientes distribuídos, elemento de tempo real, BRMS, governança e elementos avançados de monitoração).</p>
<p>Neste projeto em particular, dois arquitetos e um desenvolvedor trabalharam em paralelo na criação do esqueleto. A partir do estabelecimento de linhas de bases periódicas que acomodaram cenários de uso reais, os componentes arquiteturais fim a fim foram enlaçados. Em cada rodada, mais e mais requisitos (arquiteturais) eram acomodados, dando forma ao esqueleto.</p>
<p>Após algumas semanas com esta sistemática, o esqueleto tornou-se robusto e foi autorizado para produção. Pudemos observar que uma comunicação contínua entre o time de negócio e o time de arquitetura foi fundamental para o sucesso desta técnica. O esqueleto deve ser mostrado, testado, experimentado. É apenas isso que permite a sua evolução. No fim, pudemos ver o valor da arquitetura em termos concretos.</p>
<p>Neste caso, pudemos destacar também o valor dos processos ágeis. Ao promover comunicação e criar um ambiente de colaboração para suportar a experimentação do esqueleto, o mesmo foi fundamental para suportar uma evolução contínua dos requisitos e da arquitetura.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcomendes.com/blog/2011/11/esqueletos-andantes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

