<?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>Edgard Davidson</title>
	<atom:link href="http://edgarddavidson.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://edgarddavidson.com</link>
	<description>&#34;Compartilhando Conhecimento&#34;</description>
	<lastBuildDate>Wed, 08 Sep 2010 04:31:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>eXtreme Programming em Cinco Minutos</title>
		<link>http://edgarddavidson.com/?p=1163&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=extreme-programming-em-cinco-minutos</link>
		<comments>http://edgarddavidson.com/?p=1163#comments</comments>
		<pubDate>Wed, 08 Sep 2010 04:31:40 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Mestrado]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=1163</guid>
		<description><![CDATA[A eXtreme Programmig (XP) proposta por Kent Beck [BECK, 2004] tem o objetivo de propor uma metodologia ágil para equipes de tamanho pequeno a médio, onde o desenvolvendo de software está inserido em um contexto de requerimentos vagos ou que mudam rapidamente.  O próprio autor descreve a Programação eXtrema como: “A XP é uma maneira [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-1165" style="margin: 10px;" title="xp" src="http://edgarddavidson.com/wp-content/uploads/2010/09/xp-300x217.jpg" alt="" width="300" height="217" />A <em>eXtreme Programmig</em> (XP) proposta por Kent Beck [BECK, 2004] tem o objetivo de propor uma metodologia ágil para equipes de tamanho pequeno a médio, onde o desenvolvendo de <em>software</em> está inserido em um contexto de requerimentos vagos ou que mudam rapidamente.  O próprio autor descreve a Programação eXtrema como: <em>“A XP é uma maneira leve, eficiente, de baixo risco, flexível, previsível, científica e divertida de desenvolver </em>software<em>”. </em>[BECK, 2004].  Ainda segundo [BECK, 2004], a XP reconhece que os projetos precisam dedicar-se à obtenção da redução dos custos e tirar vantagem daquilo que foi economizado. Além disso, defende a não especialização dos membros do time, ou seja, todos participam de todas as atividades, em pares e com sistema de rodízio dos pares o desenvolvimento de infra-estrutura e <em>frameworks</em> durante o desenvolvimento da aplicação, e a comunicação face a face ou por meio de testes eficientes e código cuidadosamente escrito.</p>
<p>Segundo [BECK, 2004], a XP se distingue das outras metodologias por:</p>
<ul>
<li>Seu <em>feedback</em> antecipado;</li>
<li>O planejamento incremental, que gera rapidamente um plano geral que evolui com o decorrer do projeto;</li>
<li>Sua habilidade de implementar as funcionalidades de forma flexível considerando as necessidades mutáveis do negócio;</li>
<li>Sua confiança nos testes automatizados;</li>
<li>Sua confiança em comunicação oral;</li>
<li>Sua confiança em um processo de projeto evolutivo que dura tanto quanto o sistema;</li>
</ul>
<p><strong>Risco: O Problema Básico </strong></p>
<p>A principal motivação da Programação eXtrema parte do princípio que o desenvolvimento de <em>software</em> tem falhas na entrega e falhas nos produtos entregues caracterizando o problema básico – o risco, portanto, produz-se <em>software</em> de baixa qualidade. Segundo [BECK, 2004], existem vários riscos associados ao desenvolvimento do <em>software</em>, como: (i) cronograma irreal; (ii) cancelamento do projeto por vários atrasos no cronograma; (iii) o sistema é descontinuado pelo alto custo de se fazer modificações ou a taxa de erros cresce tanto que o sistema deve ser substituído; (iv) o negócio é mal compreendido e o <em>software</em> desenvolvido não resolve o problema original; (v) as regras de negócio mudam antes que o <em>software</em> seja finalizado; (vi) funcionalidades inúteis. A missão da XP é aceitar o risco como problema a ser resolvido, onde o objetivo é encontrar a solução. Nesse sentido, a necessidade é criar um modelo de desenvolvimento de <em>software</em> que trate desses riscos.</p>
<p>Além de mitigar ao máximo os riscos, a metodologia XP advoga que quatro variáveis têm de ser controladas no projeto – custo, tempo, qualidade e escopo. Dessa forma, o modelo desenvolvimento de <em>software</em> é dirigido sob a perspectiva de controlar as referidas variáveis. Em um projeto, as referidas variáveis são restrições inerentes ao produto final. Eventualmente se o custo e/ou o tempo forem escassos, é muito provável que a qualidade do produto entregue possa estar muito inferior àquela esperada no escopo do projeto.  A XP cria valores, princípios de atividades básicas e práticas para tentar conduzir bem os problemas correlacionados à efetivação dos riscos do projeto. Esses valores podem ser caracterizados em:</p>
<p><em> </em></p>
<ol>
<li><strong>Comunicação:</strong><em> deve ser extremamente aberta e franca. A XP dá uma ênfase especial à comunicação e é essencial para tudo o que acontece no contexto</em> de um projeto. Segundo [BECK, 2004], <em>“Os problemas nos projetos podem ser invariavelmente rastreados a alguém não ter conversado com alguém mais sobre alguma coisa importante</em>”.</li>
<li><strong>Simplicidade: </strong>é representada na XP pela busca pela “<em>coisa mais simples que possa funcionar”</em> [BECK, 2004]. O propósito é construir algo simples e direto que solucione problemas de hoje e ter certeza de que isso seja suficientemente flexível para ser refinado e expandido de modo a solucionar os problemas de amanhã, mas fundamentalmente não se preocupa hoje com os problemas de amanhã.<strong> </strong></li>
<li><strong><em>Feedback</em>: </strong>seu objetivo é criar ciclos<strong> </strong>de realimentação que atuam em intervalos de tempos pequenos como dias e minutos, em relação aos testes de unidade, e, grandes semanas (dias, semanas) em associação a teste de aceitação de usuário, e,  planejamento e cronograma de projeto. <strong> </strong></li>
<li><strong>Coragem: </strong>é o valor que permite aos participantes da XP se aventurarem em projetos de alto risco e alta recompensa nas tarefas de desenvolvimento. Isso muitas vezes se manifesta na forma de desenvolvedores que constroem protótipos descartáveis durante a codificação.<strong> </strong></li>
</ol>
<p><strong> </strong></p>
<p><strong>Princípios Fundamentais da XP </strong></p>
<p>De acordo com [BECK, 2004] os princípios fundamentais da XP são:</p>
<ol>
<li><strong><em>Feedback</em> rápido: </strong>o princípio é obter o <em>feedback</em>, interpretá-lo e aplicar o que é aprendido no sistema o mais rápido possível, realimentando o que foi aprendido em dias ou semanas, em vez de meses ou de anos.<strong> </strong></li>
<li><strong>Simplicidade presumida: </strong>este<strong> </strong>princípio dita que a equipe deve pressupor que todo problema tem uma solução razoavelmente simples. Como conseqüência, o tempo poupado na maioria dos problemas para os quais isso é válido pode ser usado para abordar problemas que realmente necessitem de soluções complexas.</li>
<li><strong>Mudanças incrementais: </strong>parte do princípio que grandes modificações feitas de uma só vez têm grandes chances de não dar certo. Assim, qualquer problema é resolvido por meio de uma série de mudanças menores.</li>
<li><strong>Aceitação das mudanças: </strong>este princípio se apóia na premissa da XP que de desenvolver <em>software</em> no contexto de requerimentos vagos ou que mudam rapidamente. As idéias é que os membros da equipe devem simplesmente aceitar as mudanças como algo natural, diário, em vez de algo que ocorre eventualmente.</li>
<li><strong>Alta qualidade: </strong>ninguém<strong> </strong>gosta de fazer um trabalho de baixa qualidade. Todos gostam de fazer um bom trabalho. A XP defende que se você não vai fazer algo bem, então não faça independentemente das restrições de cronograma e orçamento.</li>
</ol>
<p><strong> </strong></p>
<p><strong>Atividades Básicas do Desenvolvimento </strong></p>
<p>[BECK, 2004] define quatro atividades básicas associadas ao desenvolvimento de <em>software</em> utilizando XP, sendo elas:</p>
<ol>
<li><strong>Codificar: </strong>as práticas da XP utilizam o código como um mecanismo para atingir objetivos secundários incluindo o aprendizado rápido e uma melhor comunicação. Algumas das práticas citadas no tópico a seguir estão ligadas à codificação: refatoração, programação em pares e integração continua.</li>
<li><strong>Testar: </strong>está fortemente relacionada à codificação. Os desenvolvedores devem escrever códigos de teste de unidade antes escrever o código e verificar se o código passa por todos esses testes antes de se tornar um sistema. O cliente também é envolvido nos testes funcionais, onde os mesmos devem confirmar se o sistema satisfaz as regras de negócio.</li>
<li><strong>Escutar: </strong>refere-se à necessidade de estruturar a comunicação de modo que as conversas, sempre que possível, envolvam os problemas de hoje, não os de amanha, em um nível de detalhe apropriado.</li>
<li><strong>Projetar: </strong>está associado a necessidade de criar uma estrutura que organiza a lógica dentro do sistema de modo a torná-lo robusto e possível de manter. Nesse contexto, a prática utilizada é projetar simples.</li>
</ol>
<p><strong>Práticas do XP</strong></p>
<p><img class="alignleft size-medium wp-image-1173" style="margin: 10px;" title="xpPractices" src="http://edgarddavidson.com/wp-content/uploads/2010/09/xpPractices-300x225.jpg" alt="" width="300" height="225" />[BECK, 2004] lista algumas práticas que devem ser seguidas pela equipe de desenvolvimento para que os valores, princípios e atividades básicas da metodologia sejam alcançados, são elas:</p>
<ol>
<li><strong>O jogo do planejamento: </strong>determinar o escopo da próxima versão de forma que os requisitos mais importantes sejam contemplados e a entrega possa ser um praza não muito longo. Quando o planejado fugir do realizado, então o plano deve ser reajustado.</li>
<li><strong>Entregas freqüentes: </strong>dividir o desenvolvimento em pequenos módulos de acordo com as funcionalidades de forma que possa ser rapidamente colocado em produção.</li>
<li><strong>Metáfora: </strong>conduzir o desenvolvimento por meio de histórias simples, compartilhada por todos os envolvidos, sobre como o sistema deverá funcionar.</li>
<li><strong>Projeto Simples: </strong>o sistema deve ser pensado e projetado de maneira simplista. Complexidades desnecessárias são removidas assim que descobertas.</li>
<li><strong>Testes: </strong>os programadores escrevem os testes de unidade durante todo o desenvolvimento, o qual deve ser executado sem falha para o desenvolvimento continue.</li>
<li><strong>Refatoração: </strong>os programadores se preocupam sempre em deixar o código estruturado removendo códigos redundantes, simplificando e aumentando a flexibilidade.</li>
<li><strong>Programação em pares: </strong>todo o desenvolvimento é realizado por programadores trabalhando em pares.</li>
<li><strong>Propriedade coletiva: </strong>todos podem alterar o código em qualquer trecho e em qualquer momento.</li>
<li><strong>Integração contínua: </strong>integre e atualize as versões do sistema várias vezes por dia, cada vez que uma tarefa fora terminada.</li>
<li><strong>Semana de 40 horas: </strong>como regra, trabalhe no máximo quarenta horas por semana, evitando fazer hora extra por duas semanas consecutivas.</li>
<li><strong>Cliente presente: </strong>mantenha o cliente o mais próximo possível para responder a questões.</li>
<li><strong>Padrões de codificação: </strong>os programadores escrevem código respeitando as regras que enfatizam comunicação através do código.</li>
</ol>
<p>Referência:  BECK, Kent (2004). <em>Programação eXtrema explicada: escolha as mudanças</em>, Bookman, 2004.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=1163</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Princípios do Pensamento Lean</title>
		<link>http://edgarddavidson.com/?p=1070&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=principios-do-pensamento-lean</link>
		<comments>http://edgarddavidson.com/?p=1070#comments</comments>
		<pubDate>Tue, 07 Sep 2010 20:58:08 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Mestrado]]></category>
		<category><![CDATA[Lean]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=1070</guid>
		<description><![CDATA[O nome &#8220;Pensamento Lean&#8221; nasceu nos anos 90 com o lançamento do best seller The Machine That Changed the World : The Story of Lean Production.  Os princípios de demanda puxada, just-in-time, qualidade total, melhoria contínua e flexibilidade aplicados na indústria japonesa, mais precisamente na Toyota e conhecidos como Toyota Way inspiraram também a indústria [...]]]></description>
			<content:encoded><![CDATA[<p><em><img class="alignleft size-full wp-image-1073" style="margin-left: 20px; margin-right: 20px;" title="Lean Software Development" src="http://edgarddavidson.com/wp-content/uploads/2010/09/LeanSoftwareDevelopment.jpg" alt="" width="210" height="279" /></em></p>
<p>O nome &#8220;<a href="http://www.poppendieck.com/papers/LeanThinking.pdf" target="_blank">Pensamento Lean</a>&#8221; nasceu nos anos 90 com o lançamento do <em>best seller</em><span><span> <a href="http://www.amazon.com/Machine-That-Changed-World-Production/dp/0060974176" target="_blank">The Machine That Changed the World : The Story of Lean Production</a>.  Os princípios de demanda puxada, just-in-time, qualidade total, melhoria contínua e flexibilidade aplicados na indústria japonesa, mais precisamente na Toyota e conhecidos como <a href="http://en.wikipedia.org/wiki/The_Toyota_Way" target="_blank">Toyota Way</a> inspiraram também a indústria de software e fez surgir a abordagem do </span></span><a href="http://en.wikipedia.org/wiki/Lean_software_development" target="_blank"><em>Lean Software Development</em></a></p>
<p>O<em> Lean Software Development</em> provê uma série de princípios sobre a aplicação de um conjunto de técnicas oriundas da indústria e aplicadas em desenvolvimento de software. Esses princípios foram amplamente adotados na manufatura japonesa aonde <span id="result_box"><span>vieram a ser conhecidos como &#8220;<a href="http://www.1000ventures.com/business_guide/lean_production_main.html" target="_blank"><em>Lean Production</em></a>&#8220;.<br />
</span></span></p>
<p>Nesse contexto, Mary e Tom Poppendieck identificaram sete princípios fundamentais denominados &#8220;<em>Lean Principles</em>&#8221; e mostraram como eles podem ser aplicados em abordagens de desenvolvimento de software ágil.  Ao longo dos princípios, eles introduziram também e vinte e dois &#8220;<em>thinking tools</em>&#8221; para traduzir cada princípio em práticas ágeis, em particular eles apresentaram um <em>toolkit</em> para gerentes, lideres  técnicos e gerentes de tecnologia que esperam adicionar valor ao invés  de criarem barreiras para suas equipes de projetos, como os a seguir:</p>
<ul>
<li>Melhoria contínua em direção à excelência: desenvolvimento de software é como um exercício de descoberta.</li>
<li>Gerenciando incertezas: &#8220;decidir o mais tardio possível&#8221; para adicionar mudanças dentro do sistema.</li>
<li>Reduzindo o fluxo de valor: desenvolvimento rápido, <em>feedback,</em> e melhorias contínua.</li>
<li>Dê autonomia ao time e ao indivíduo sem coordenação e comando-controle.</li>
<li>Software com qualidade: promovendo coerência, usabilidade, alta coesão, manutenabilidade e adaptabilidade.</li>
</ul>
<p><img class="alignleft size-medium wp-image-1091" style="margin: 10px;" title="Desperdício" src="http://edgarddavidson.com/wp-content/uploads/2010/09/Desperdício-300x200.jpg" alt="" width="300" height="200" /><strong>Princípio 1: Elimine o Desperdício</strong></p>
<p>Elimine qualquer coisa que não agregue valor ao produto e que não são percebidos pelo cliente. No pensamento Lean, o conceito de desperdício é um grande obstáculo. Se um programador implementa mais funcionalidades do que o necessário de imediato, isso é um desperdício.  Se a equipe produz documentação de análise apenas para estar em concordância com o processo, isso é um desperdício. Se o time entrega funcionalidades incompletas, isso é um desperdício. O ideal é perceber o que os clientes precisam para então desenvolver e entregar exatamente o que eles querem o mais rápido possível. Qualquer outra coisa que fica e que não satisfaça as necessidades do cliente é um desperdício.</p>
<p><strong><img class="alignleft size-medium wp-image-1099" style="margin: 10px;" title="aprendizado" src="http://edgarddavidson.com/wp-content/uploads/2010/09/aprendizado1-300x240.jpg" alt="" width="300" height="240" />Princípio 2: Amplifique o Aprendizado</strong></p>
<p>Desenvolvimento é um exercício de descoberta, enquanto produção é um exercício de redução de variações, e por essa razão, aprender a abordagem de desenvolvimento resultam em práticas que são bastante diferentes do que aprender abordagens de práticas de produção.</p>
<p>Desenvolvimento é como fazer uma nova receita, enquanto produção é como fazer um prato. Receitas são formuladas a partir da experiência de chefes de cozinha. Desenvolver uma receita é um processo de descoberta, onde o chefe utilizando de toda sua experiência e dos ingredientes a sua disposição faz iterações, experimentações, até encontrar a melhor combinação de ingrediente para o melhor sabor. Não se espera que os chefes obtenham uma receita perfeita na primeira tentativa; espera-se produzir diversas variações como parte do processo de aprendizagem. Desenvolvimento de software é concebido de forma melhor com um processo de aprendizado similar ao de criar uma nova receita. A melhor abordagem para melhorar o ambiente de desenvolvimento de software é pelo conhecimento amplificado, em um <a href="http://edgarddavidson.com/?p=950" target="_blank">espiral de criação do conhecimento</a>.</p>
<p><strong><img class="alignleft size-medium wp-image-1103" style="margin: 10px;" title="Decisão" src="http://edgarddavidson.com/wp-content/uploads/2010/09/Decisão-300x261.jpg" alt="" width="300" height="261" />Princípio 3: Decida o Mais Tarde Possível</strong></p>
<p>Práticas de desenvolvimento que assegurem a tomada de decisão tardia são mais eficazes em domínios que envolvem incertezas. Decidir o mais tarde possível significa manter suas opções aberta o maior tempo possível. O principal conceito deste princípio é diminuir as incertezas retardando as decisões até que possam serem feitas com base em acontecimentos mais firmes, previsíveis e conhecidos. Decisões tardias tendem a ser mais acertadas porque as melhores decisões são feitas baseadas em fatos, e não em suposições ou especulações. A principal estratégia de atrasar as decisões em um desenvolvimento de um sistema complexo é construí-lo com a capacidade de suportar mudanças.</p>
<p><strong><img class="alignleft size-medium wp-image-1105" style="margin: 10px;" title="Postman - Letter delivery" src="http://edgarddavidson.com/wp-content/uploads/2010/09/fastDelivery-300x300.jpg" alt="" width="300" height="300" />Princípio 4: Entregue o Mais Rápido Possível</strong></p>
<p>Sem entregas rápidas é impossível haver decisões tardias durante o desenvolvimento. Sem entregas rápidas não haverá <em>feedbacks</em> confiáveis no curto prazo.  <span id="result_box"><span>No desenvolvimento o ciclo de descoberta é fundamental para a aprendizagem: estórias, implementação, <em>feedback</em> e melhorias. Quanto menor esse ciclo, mais pode ser aprendido. </span></span></p>
<p><span id="result_box"><span> </span><span>Uma vez que os clientes decidam o que querem, seu objetivo</span><span> deve ser para criar esse valor tão rapidamente quanto possível. Entregas rápidas garantem que o cliente vai ter o que ele precisa hoje, e não o que ele precisa amanhã.</span></span></p>
<p><span id="result_box"><span> </span><span>Em uma organização madura em desenvolvimento de software, tudo isso acontece em um</span><span> fluxo rápido em resposta a uma necessidade dos clientes.</span></span></p>
<p><strong><img class="alignleft size-medium wp-image-1107" style="margin: 10px;" title="COOPERAÇÃO" src="http://edgarddavidson.com/wp-content/uploads/2010/09/COOPERAÇÃO-300x147.jpg" alt="" width="300" height="147" />Princípio 5: Dê autonomia à Equipe</strong></p>
<p>&#8220;<em>Construir projetos ao redor de indivíduos motivados. Dando a eles o  ambiente e suporte necessário, e confiar que farão seu trabalho.</em>&#8221; Esse já é um dos doze princípios por atrás do manifesto ágil. <span><span>A equipe de  trabalho deve ter autonomia para adequar seus próprios processos de engenharia, assumir os seus próprios  compromissos e reunir as informações necessárias para alcançar seus  objetivos e cumprir as suas metas. Equipes autônomas são multidisciplinares, possuem indivíduos multidisciplinares, trabalham bem com a interdisciplinaridade  e promovem a auto-organização. A esse  tipo de equipe mais um princípio ágil é adicionado: <em>&#8220;</em></span></span><em>em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.&#8221;</em></p>
<p><span id="result_box"><span>Nesse ambiente, a equipe de desenvolvimento está em melhor posição para saber</span><span> responder a problemas difíceis e a pedidos urgentes. </span><span>A melhor maneira de ter certeza de estar </span><span>fazendo as coisas corretas é trabalhar diretamente com o cliente para entender suas necessidades, colaborar com</span><span> os colegas para descobrir como satisfazer essas necessidades, e, frequentemente apresentar os resultados aos interessados para ter certeza de que estamos no caminho certo. </span><span style="background-color: #e6ecf9; color: #000000;"><br />
</span></span></p>
<p><strong><img class="alignleft size-medium wp-image-1110" style="margin: 10px;" title="ok" src="http://edgarddavidson.com/wp-content/uploads/2010/09/ok-300x225.jpg" alt="" width="300" height="225" />Princípio 6: Construa com Integridade</strong></p>
<p>Qualidade é inegociável. Entregue qualidade intrínseca e explícita aos seus clientes, se eles perceberem isso, significa que foi uma entrega de qualidade. Mary e tom Poppendieck em seu livro identificaram duas dimensões de integridade: <em>integridade percebida</em> e<em> integridade conceitual</em>. A integridade percebida significa que a totalidade do produto alcança um equilíbrio entre as funções, usabilidade, confiabilidade, economia e isso encanta o cliente. A integridade conceitual significa que <span id="result_box"><span style="background-color: #e6ecf9; color: #000000;"> </span></span>os conceitos centrais do sistema de trabalho em conjunto são facilitados e coesos. Essa última é fator crítico de sucesso para a <em>integridade percebida</em>.</p>
<p>Um produto possui integridade percebida quando o cliente o experimenta e diz: Isso! Era exatamente isso que eu queria! Esse exemplo acontece com frequencia em aplicações do google. Eu particularmente senti isso quando experimentei o novo recurso de <a href="http://mail.google.com/mail/help/intl/pt-BR/priority-inbox.html" target="_blank">caixa prioritária</a> do gmail.</p>
<p>Um produto de software deve estar sempre adicionando integridade. Isso prolonga o seu ciclo de vida operacional. Software com integridade possui boas arquiteturas, possuem um alto nível de usabilidade e facilidade de uso, são fáceis de dar manutenção, de adaptar e de estender.</p>
<p><strong><img class="alignleft size-medium wp-image-1112" style="margin: 10px;" title="bird-view-big.jpg" src="http://edgarddavidson.com/wp-content/uploads/2010/09/bird-view-big1-300x196.jpg" alt="" width="300" height="196" />Princípio 7: Visualize o Todo</strong></p>
<p>Integridade em sistemas complexos exigem um conhecimento holístico e profundo em diversas áreas. Um dos problemas mais intratáveis com o desenvolvimento do produto é que especialistas em qualquer área (por exemplo, banco de dados ou design) têm uma tendência natural em maximizar o desempenho da parte do produto que representa a sua própria especialidade, ao invés de focar no desempenho do sistema como um todo. Muitas vezes, a integridade do produto como um todo pode ser prejudicado se as pessoas atenderem aos seus próprios interesses especializados em primeiro lugar.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 837px; width: 1px; height: 1px; overflow: hidden;">
<p><script type="text/javascript">// <![CDATA[
  (function(){var src = document.getElementById('source');src.focus();src.select();src.style.boxSizing=src.style.WebkitBoxSizing=src.style.MozBoxSizing=src.style.MsBoxSizing='border-box';})();
// ]]&gt;</script></p>
<div id="inputt13n" style="display: none;">
<input id="t13nimg" type="checkbox" /><span id="t13ntext" dir="ltr"> </span></div>
<div id="input_tts_button" class=" tts_vertical_bt" title="Ouça a tradução para a sua consulta"><object id="input_tts_flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="18" height="18" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.gstatic.com/translate/sound_player2.swf" /><param name="flashvars" value="sound_name=&amp;sound_name_cb=_inputTTSSoundFile" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.gstatic.com/translate/sound_player2.swf" /><embed id="input_tts_flash" type="application/x-shockwave-flash" width="18" height="18" src="http://www.gstatic.com/translate/sound_player2.swf" allowscriptaccess="always" wmode="transparent" flashvars="sound_name=&amp;sound_name_cb=_inputTTSSoundFile" data="http://www.gstatic.com/translate/sound_player2.swf"></embed></object></div>
<div id="select_document" style="display: none;">Digite um texto ou endereço de um site ou <a href="http://translate.google.com/?tr=f&amp;hl=pt-BR">traduza um documento.</a></div>
<div id="file_div" class="file" style="display: none;">
<div id="select_text" style="display: none;"><a href="http://translate.google.com/?tr=t&amp;hl=pt-BR">Cancelar</a></div>
<input id="file" style="display: none;" name="file" size="40" type="file" /></div>
<div id="gt-src-tools" class="g-section" style="display: none;">
<div id="gt-src-listen" class="gt-icon-c" style="display: none;"><span class="gt-icon-text">Ouvir</span></div>
</div>
<div id="autotrans" style="display: block;">
<h3 id="headingtext">Tradução do inglês para português</h3>
</div>
<div id="gt-res-content" class="almost_half_cell">
<div dir="ltr">
<div id="tts_button" class=" " title="Ouvir esta tradução"><object id="tts_flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="18" height="18" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.gstatic.com/translate/sound_player2.swf" /><param name="flashvars" value="sound_name=&amp;sound_name_cb=_TTSSoundFile" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.gstatic.com/translate/sound_player2.swf" /><embed id="tts_flash" type="application/x-shockwave-flash" width="18" height="18" src="http://www.gstatic.com/translate/sound_player2.swf" allowscriptaccess="always" wmode="transparent" flashvars="sound_name=&amp;sound_name_cb=_TTSSoundFile" data="http://www.gstatic.com/translate/sound_player2.swf"></embed></object></div>
<p><span id="result_box"><span>práticas de desenvolvimento que assegurem a tomada de decisão tardia são eficazes em domínios que envolvem incerteza</span></span></p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=1070</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Conformidade com o Produto vs. Conformidade com o Processo</title>
		<link>http://edgarddavidson.com/?p=1078&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=conformidade-com-o-produto-vs-conformidade-com-o-processo</link>
		<comments>http://edgarddavidson.com/?p=1078#comments</comments>
		<pubDate>Tue, 07 Sep 2010 18:15:36 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Mestrado]]></category>
		<category><![CDATA[Opinião]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=1078</guid>
		<description><![CDATA[Foque na conformidade com o produto e não na conformidade com processo. Em desenvolvimento de software não existe mágica, não existe bala de prata, não existe nenhuma conformidade processual que garanta um produto conforme.  Existe, no entanto, um ambiente de descoberta, aprendizado e melhoria constante. Um ambiente formado por pessoas, que praticam socialização, externalização, combinação [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1079" style="margin-left: 20px; margin-right: 20px;" title="Conformidade" src="http://edgarddavidson.com/wp-content/uploads/2010/09/Conformidade.jpg" alt="" width="320" height="233" /><strong>Foque na conformidade com o produto e não na conformidade com processo. </strong></p>
<p>Em desenvolvimento de software não existe mágica, não existe <a href="http://www.virtualschool.edu/mon/SoftwareEngineering/BrooksNoSilverBullet.html" target="_blank">bala de prata</a>, não existe nenhuma conformidade processual que garanta um produto conforme.  Existe, no entanto, um ambiente de descoberta, aprendizado e melhoria constante. Um ambiente formado por pessoas, que praticam socialização, externalização, combinação e internalização em um espiral contínuo de criação de conhecimento, em nível individual, do grupo, e organizacional.  Desenvolvimento de Software pode ser encarado como <a href="http://engenhariadesoftwareagil.com/?p=152" target="_blank">um jogo cooperativo infinito</a> onde, além de suas atividades de engenharia, também deve ser encarado como uma atividade de ciências  humanas, acima das questões técnicas e puramente lógicas. Existem  pessoas envolvidas no processo; as que criam e as que usam o software.  A interação entre elas é um dos principais fatores críticos de sucesso para alcançar a conformidade com o produto.</p>
<p>Um dos princípios do manifesto ágil já afirma que &#8220;<em>Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.</em>&#8221; e um dos valores do manifesto completa que <em>&#8220;<strong>Indivíduos e interação entre eles</strong> mais que processos e ferramentas</em>&#8220;. Em desenvolvimento de software os esforços devem ser desprendidos para alcançar a conformidade com o produto e nem tanto para alcançar a conformidade com o processo. O processo é o meio para alcançar o produto e não o fim. Elimine qualquer coisa que não agregue valor ao produto e que não são percebidos pelo cliente. Elimine o desperdício, simplifique e aceite mais um princípio ágil: &#8220;<em>simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito</em>.&#8221; Segundo o <a href="http://www.poppendieck.com/pdfs/Lean_Software_Development.pdf" target="_blank">pensamento Lean</a>, existem alguns desperdícios clássicos em desenvolvimento de software, a seguir:</p>
<ul>
<li><span id="result_box"><span>Trabalho parcialmente feito  (o &#8220;<a href="http://www.poppendieck.com/papers/LeanThinking.pdf" target="_blank">inventário&#8221;</a> de um processo de desenvolvimento)</span><span> </span></span></li>
<li><span id="result_box"><span>Processos extras (fáceis de encontrar no desenvolvimento centrado em documentação)</span><span> </span></span></li>
<li><span id="result_box"><span>Funcionalidades extras (desenvolvem-se apenas o que os clientes querem agora)</span><span> </span></span></li>
<li><span id="result_box"><span>Troca de tarefas (todos devem fazer uma coisa de cada vez)</span><span> </span></span></li>
<li><span id="result_box"><span>Espera (para instruções, para mais informações, típico em ambiente comando-controle)</span><span> </span></span></li>
<li><span id="result_box"><span>Handoffs (toneladas de conhecimento tácito se perde)</span></span></li>
<li><span id="result_box"><span>Defeitos (pelo menos defeitos que não são rapidamente capturados por um teste)</span></span></li>
</ul>
<p>Manter a conformidade com processo de desenvolvimento formais, tradicionais, prescritivos e centrados em documentação implica em um problema que está muito além de afirmações de serem burocráticos, <a href="http://en.wikipedia.org/wiki/Waterfall_model" target="_blank">waterfall</a>, rígidos, etc.  O principal problema é o auto custo de se manter esse tipo de processo. Processo formal é caro, manter a conformidade com o processo é caro, manter conformidade na documentação é caro, manter uma equipe de <a href="http://en.wikipedia.org/wiki/Software_quality_assurance" target="_blank">Quality Assurance</a> é caro e fazer alterações de requisitos no meio do projeto é mais caro ainda.  Processo de desenvolvimento de software baseado em modelos de maturidade como CMMI e MPS-BR só podem ser considerados maduros se houver uma equipe de <em>Quality Assurance</em> atuante, autônoma e não condicionada. Sem <em>Quality Assurance</em> nesse tipo de abordagem grande parte dos esforços no desenvolvimento de um produto em conformidade com o processo é puro desperdício. O que se espera desse tipo de processo, como em qualquer processo, é um ciclo de melhoria contínua a fim eliminar paulatinamente qualquer fonte de desperdício, e por mais incrível que pareça, as referidas fontes de desperdício acabam sendo em atividades redundantes e, sobretudo, em atividades da própria equipe de <em>Quality Assurance</em>. Quando uma equipe formal chega nesse nível significa que ela está madura. Quanto mais madura a equipe, menos atividades de inspeção e verificação são necessárias para garantir a conformidade com o processo e mais esforços podem ser realocado para garantir a conformidade do produto.</p>
<p>Em métodos ágeis, a conformidade com o produto é uma premissa, talvez seja por isso que são chamados de ágeis, e podem ser  observados no próprio <a href="http://www.manifestoagil.com.br/index.html" target="_blank">manifesto ágil</a> e em seus <a href="http://www.manifestoagil.com.br/principios.html" target="_blank">doze princípios</a>.  As referidas premissas também podem ser observadas nos <a href="http://www.poppendieck.com/papers/LeanThinking.pdf" target="_blank">princípios do pensamento Lean</a>, nos valores e práticas do <a href="http://www.extremeprogramming.org/" target="_blank">eXtreme Programming</a>, no jogo cooperativo do <a href="http://alistair.cockburn.us/Crystal" target="_blank">Crystal</a> e nas cerimônias do <a href="http://www.scrum.org/storage/scrumguides/Scrum%20Guide.pdf" target="_blank">Scrum</a>.</p>
<p>Independente da abordagem, o que importa é &#8220;<em>satisfazer o cliente, através da entrega adiantada e contínua de software de valor</em>&#8220;. No entanto, no caminho para alcançar esse objetivo, as empresas que desenvolvem software tem que lidar com clientes que lidam diariamente com o caos, e freqüentes mudanças  operacionais. Esse ambiente em constante mutação gera novas  oportunidades e novas demandas dos clientes. O processo tem que ser flexível, melhorado continuamente  para atender as essas &#8220;oportunidades&#8221;, focando sempre na satisfação do cliente e embarcando conhecimento em conformidade com o  produto.</p>
<p><!-- FIM COLUNA 1 --> <!-- COLUNA 2 --></p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=1078</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Blog do Curso de Engenharia de Software Ágil</title>
		<link>http://edgarddavidson.com/?p=1060&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=blog-do-curso-de-engenharia-de-software-agil</link>
		<comments>http://edgarddavidson.com/?p=1060#comments</comments>
		<pubDate>Wed, 01 Sep 2010 11:48:28 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Pós Graduação Agile]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Pós Graduação]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=1060</guid>
		<description><![CDATA[O curso de pós graduação em Engenharia de Software Centrada em Métodos Ágeis ganhou um novo blog. Um espaço aberto, transparente, onde todos poderão expressar sua opinião, elogios e criticas. Vamos aproveitar para reunir material do curso, apresentações de trabalhos, fotos, eventos, etc. Compartilharemos práticas, conhecimentos e assuntos pertinentes ao curso, com foco na transparência [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">O curso de pós graduação em <a href="http://edgarddavidson.com/?page_id=415" target="_blank">Engenharia de Software Centrada em Métodos Ágeis</a> ganhou um <a href="http://engenhariadesoftwareagil.com" target="_blank">novo blog</a>. Um espaço aberto, transparente, onde todos poderão expressar  sua opinião,  elogios e criticas. Vamos aproveitar para reunir material  do curso,  apresentações de trabalhos, fotos, eventos, etc. Compartilharemos práticas, conhecimentos e assuntos pertinentes ao curso, com foco na <strong>transparência</strong> e sobretudo na<strong> agilidade.</strong></p>
<p style="text-align: left;"><strong><a href="http://engenhariadesoftwareagil.com" target="_blank"><img class="aligncenter size-full wp-image-1053" title="LogPos" src="http://edgarddavidson.com/wp-content/uploads/2010/05/logo_07_red.jpg" alt="" width="538" height="200" /></a><br />
</strong></p>
<p><strong>Panorama Geral do Curso:<br />
</strong></p>
<p>Teremos bastante desenvolvimento no curso. Trabalharemos com Java, Ruby  on Rail e Adobe Flex. O objetivo é que, no final, o aluno saia apto a  integrar, liderar e implantar processos ágeis em equipes de  desenvolvimento de softwares. Nas disciplinas de programação tentaremos  introduzir Coding Dojo. Uma forma de interação muito maior, guiado por  TDD. Um Coding Dojo é um encontro onde um grupo de programadores se  reúne para trabalhar em conjunto em um desafio de programação. Eles  estão lá para se divertir, e, através de uma metodologia pragmática,  melhorar suas habilidades de programação e de trabalho em grupo. Nesse  primeiro semestre tentaremos introduzir o Dojo nas disciplinas de  Programação Orientada a Objetos e Padrões de Projeto.</p>
<p>O coding dojo surgiu da motivação que os programadores não treinam.  Tipicamente eles estão preocupados apenas em resolver problemas de  produção em projetos reais. O objetivo de coding dojo é criar um  ambiente de treinamento, um ambiente de contínuo aprendizado e  compartilhamento de experiências, independente do nível de habilidade  dos participantes com o intuito de aplicar o aprendizado obtido nas  reuniões para aplicar em situações reais de desenvolvimento.<br />
A  primeira disciplina &#8220;Métodos ágeis de desenvolvimento de software&#8221;,  gosto de dizer que é uma disciplina de evangelização. Nela o aluno irá  compreender os princípios e valores de equipes ágeis que pregam:  auto-gerenciamento, multidiciplinaridade, TDD, programação em par,  software funcionando, interação entre indivíduos, colaboração com  cliente, resposta rápida a mudanças etc. Ou seja, essa será uma  disciplinas para &#8220;quebrar&#8221; conceitos.</p>
<p>No decorrer do curo, o aluno irá ter contato com várias outras  disciplinas que entrarão com mais cuidado em itens abordados na referida  &#8220;evangelização&#8221;.<br />
A última disciplina: &#8220;Laboratório de Engenharia de  Software Ágil&#8221;, na verdade não será a última, ela ocorrerá em paralelo  durante todo o segundo semestre do curso. Será nessa disciplina que o  aluno terá a oportunidade de montar uma equipes agil, gerenciada com  Scrum, aplicando técnicas de XP para construir um software (do início ao  fim) utilizando as técnicas, processos e ferramentas estudadas durante o  curso. No final, o aluno terá tido a sua primeira experiência em  construir um software do zero seguindo metodologias ágeis.</p>
<p>Veja grade completa do curso <a href="http://engenhariadesoftwareagil.com/?page_id=38" target="_blank">aqui</a> ou a grade oficial no <a href="http://una.br/curso/pos-graduacao-mba-especializacao/pos-graduacao-em-engenharia-de-software-centrada-em-metodos-ageis" target="_blank">site da UNA</a></p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=1060</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Alguns livros de métodos ágeis de desenvolvimento</title>
		<link>http://edgarddavidson.com/?p=1045&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=alguns-livros-de-metodos-ageis-de-desenvolvimento</link>
		<comments>http://edgarddavidson.com/?p=1045#comments</comments>
		<pubDate>Sun, 29 Aug 2010 16:11:40 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Livros]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=1045</guid>
		<description><![CDATA[Segue uma lista de excelentes livros sobre métodos ágeis. User Stories Applied – For Agile Software Development – Mike Cohn Refatoração – Aperfeiçoando o Projeto de Código Existente – Martin Fowler Modelagem Ágil – Scott W. Ambler A arte de Desenvolvimento Ágil – James Shore &#38; Shane Warden Código Limpo – Habilidade Práticas do Agile [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://edgarddavidson.com/wp-content/uploads/2010/08/Livros.jpg"><img class="alignleft size-full wp-image-1046" style="margin: 10px;" title="Livros" src="http://edgarddavidson.com/wp-content/uploads/2010/08/Livros.jpg" alt="" width="323" height="430" /></a></p>
<p>Segue uma lista de excelentes livros sobre métodos ágeis.</p>
<ul>
<li>User Stories Applied – For Agile Software Development – Mike Cohn</li>
</ul>
<ul>
<li>Refatoração – Aperfeiçoando o Projeto de Código Existente – Martin Fowler</li>
</ul>
<ul>
<li>Modelagem Ágil – Scott W. Ambler</li>
</ul>
<ul>
<li>A arte de Desenvolvimento Ágil – James Shore &amp; Shane Warden</li>
</ul>
<ul>
<li>Código Limpo – Habilidade Práticas do Agile Software – Robert C. Martin</li>
</ul>
<ul>
<li>Domain-Driven Design – Eric Evans</li>
</ul>
<ul>
<li>O Mítico Homem-Mês – Frederick P. Books jr.</li>
</ul>
<ul>
<li>Programação extrema (xp) explicada – Kent Beck</li>
</ul>
<ul>
<li>Padrões de projeto – soluções reutilizáveis de software orientado a objetos – Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides</li>
</ul>
<ul>
<li>TDD – Desenvolvimento Guiado por Testes – Kent Beck</li>
</ul>
<ul>
<li>Padrões de Arquitetura de Aplicações Corporativas – Martin Fowler</li>
</ul>
<ul>
<li>O Programador Pragmático – de aprendiz a mestre – Adrew Hunt &amp; David Thomas</li>
</ul>
<ul>
<li>Agile Estimating And Planning – Mike Cohn</li>
</ul>
<ul>
<li>Lean Software Development -  An Agile Toolkit – Mary Poppendieck &amp; Tom Poppendieck</li>
</ul>
<ul>
<li>Continuous Integration: Improving Software Quality and Reducing Risk – Paul M. Duvall &amp; Steve Matyas &amp; Andrew Glover</li>
</ul>
<ul>
<li>Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation -  Jez Humble &amp; David Farley</li>
</ul>
<ul>
<li>Test Driven Development A Practical Guide</li>
</ul>
<ul>
<li>Practical Guide to Feature Driven Development, Stephen R. Palmer; John M. Felsing</li>
</ul>
<ul>
<li>Crystal Clear, Cockburn</li>
</ul>
<ul>
<li>Coaching Agile Teams, Adkins</li>
</ul>
<ul>
<li>Agile Game Developent with Scrum, Keith</li>
</ul>
<p>No link abaixo segue uma lista mais completa de livros sobre métodos ágeis de desenvolvimento: List of 100 best books for agile software development <a href="http://bit.ly/cg4K1R" target="_blank">http://bit.ly/cg4K1R</a></p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=1045</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Coding Dojo na Criação do Conhecimento</title>
		<link>http://edgarddavidson.com/?p=950&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=coding-dojo-na-criacao-do-conhecimento</link>
		<comments>http://edgarddavidson.com/?p=950#comments</comments>
		<pubDate>Fri, 30 Jul 2010 21:29:31 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Dojo]]></category>
		<category><![CDATA[Gestão do Conhecimento]]></category>
		<category><![CDATA[Mestrado]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[m]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=950</guid>
		<description><![CDATA[Recentemente estava lendo o livro Gestão do Conhecimento de Nonaka e Takeuchi. Os referidos autores são as maiores autoridades quando a assunto é Gestão do Conhecimento e são um dos fundamentadores do conceito de conhecimento tácito e explícito. O Conhecimento tácito é aquele que reside essencialmente na cabeça das pessoas. É baseado em experiências pessoais [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-951" title="samurai" src="http://edgarddavidson.com/wp-content/uploads/2010/07/samurai.jpg" alt="" width="334" height="299" />Recentemente estava lendo o livro <a href="http://www.submarino.com.br/produto/1/21483059/gestao+do+conhecimento" target="_blank">Gestão do Conhecimento</a> de <a href="http://pt.wikipedia.org/wiki/Ikujiro_Nonaka" target="_blank">Nonaka</a> e <a href="http://en.wikipedia.org/wiki/Hirotaka_Takeuchi" target="_blank">Takeuchi</a>.<br />
Os referidos autores são as maiores autoridades quando a assunto é <a href="http://pt.wikipedia.org/wiki/Gest%C3%A3o_do_conhecimento" target="_blank">Gestão do Conhecimento</a> e são um dos fundamentadores do conceito de conhecimento tácito e explícito.</p>
<p><strong>O Conhecimento tácito</strong> é aquele que reside essencialmente na cabeça das pessoas. É baseado em experiências pessoais e em um contexto específico.</p>
<p><strong>O Conhecimento explícito</strong> é transmissível em linguagem formal como documentos, modelos, diagramas, etc.</p>
<p>No capítulo 4  &#8211; &#8220;Criação do Conhecimento como Processo Sintetizador&#8221;, os autores afirmam que o conhecimento não é criado espontaneamente, mas através de interação entre indivíduos, a organização e o ambiente. A criação do conhecimento inicia com o processo de socialização no qual o  novo conhecimento tácito é convertido através das experiências  compartilhadas na interação social do dia a dia. Eles defendem ainda que o papel da organização no processo de criação do conhecimento organizacional é promover o contexto apropriado para facilitar as atividades de grupo.</p>
<p>Segundo os autores, o conhecimento necessita de um contexto físico para que seja criado. O conhecimento não pode ser criado no vácuo, e necessita de um lugar onde a informação recebe significado através de interpretação para transformar-se em conhecimento. No livro, os autores introduziram o conceito de &#8220;ba&#8221; (que significa grosseiramente &#8220;lugar&#8221;) para definir o local no qual o conhecimento é criado, partilhado e utilizado.</p>
<p>Embora seja fácil considerar o <em>ba</em> como um espaço físico como uma sala de reuniões, ele deve ser entendido como interações que ocorrem em um tempo e local específicos. O <em>ba</em> pode emergir em indivíduos, grupos de trabalho, equipes de projeto, círculos informais, encontros temporários e em espaços virtuais como grupos de email e redes sociais.  O <em>ba </em>é um local existencial onde os participantes partilham seu contexto e criam novos significados através de interações. Os participantes do <em>ba</em> trazem seus próprios contextos e, por meio das interações com os outros e o ambiente, mudam o contexto do <em>ba</em>, dos participantes e do ambiente. Na criação do conhecimento, a geração e a regeneralização do <em>ba</em> é a chave, pois o <em>ba</em> proporciona energia, qualidade e local para desempenhar as conversões individuais e percorrer a espiral do conhecimento. O <em>ba</em> é onde a informação é interpretada para tornar-se conhecimento.</p>
<p>O paradigma de Nonaka sobre a criação do conhecimento destaca tanto o processo de criação do conhecimento quanto as condições sob as quais o conhecimento é criado. Essencial para esse paradigma é a interação entre o conhecimento tácito e explícito.  A criação do conhecimento é uma espiral, descrita pelo modelo SECI.</p>
<div id="attachment_1002" class="wp-caption aligncenter" style="width: 572px"><img class="size-full wp-image-1002" title="mod Seci" src="http://edgarddavidson.com/wp-content/uploads/2010/07/mod-Seci.jpg" alt="" width="562" height="424" /><p class="wp-caption-text">Modelo SECI - Adaptação dos texto de Nonaka e Takeuchi</p></div>
<p>Esse modelo descreve como o conhecimento tácito é criado através da socialização, convertido de tácito para explícito através da externalização,  recombinado com outras formas de conhecimento explícito através da combinação e convertido, novamente, em conhecimento tácito através da internalização.</p>
<p>Quando li esse capítulo do livre logo remeti o conceito do <em>ba</em> ao conceito de <a href="http://codingdojo.org/" target="_blank">coding dojo</a>.  Segundo o <a href="http://codingdojo.org/" target="_blank">http://codingdojo.org/</a> “<em>um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo</em>.”</p>
<p>O coding dojo surgiu da motivação que os programadores não treinam. Tipicamente eles estão preocupados apenas em resolver problemas de produção em projetos reais. O objetivo de coding dojo é criar um ambiente de treinamento, um ambiente de contínuo aprendizado e compartilhamento de experiências, independente do nível de habilidade dos participantes com o intuito de aplicar o aprendizado obtido nas reuniões para aplicar em situações reais de desenvolvimento.</p>
<p>A prática de <em>coding dojo</em> se assemelha ao conceito do <em>ba</em>.  Seguindo a interpretação de Nonaka e Takeuchi sobre um ambiente de criação de conhecimento, aliado ao conceito de <em>coding dojo</em>,  foi possível criar uma tabela de inter-relação entre o Modelo SECI de criação do conhecimento sob o âmbito da dimensão epistemológica (vide Nonaka e Takeuchi).</p>
<table border="1" cellpadding="2">
<caption>Inter-relação entre o modelo SECI e técnicas e regras utilizadas no coding dojo</caption>
<tbody>
<tr>
<th></th>
<th><strong>Tipo de Interação</strong></th>
<th><strong>Transmissão de Conhecimento</strong></th>
<th><strong>Técnicas/Regras do Coding Dojo</strong></th>
</tr>
<tr>
<td><strong>Socialização</strong></td>
<td>indivíduo para indivíduo</td>
<td>conhecimento tácito para tácito</td>
<td>Interação, colaboração, programação em par, Baby steps, código coletivo, programadores reunidos para treinar e aprender, piloto/copiloto e plateia</td>
</tr>
<tr>
<td><strong>Externalização</strong></td>
<td>indivíduo para grupo</td>
<td>conhecimento tácito para explícito</td>
<td>Retrospectiva, TDD, código fonte, refatoração, Kata, Randori</td>
</tr>
<tr>
<td><strong>Combinação</strong></td>
<td>grupo para organização</td>
<td>conhecimento explícito para explícito</td>
<td>código fonte, refatoração</td>
</tr>
<tr>
<td><strong>Internalização</strong></td>
<td>organização para indivíduo</td>
<td>conhecimento explícito para tácito</td>
<td>Desafio, código fonte, Retrospectiva, ppt</td>
</tr>
</tbody>
</table>
<p>Com esse tipo de prática, cada vez mais empresas de desenvolvimento de software estão incorporando reuniões de dojo com o propósito de treinar a equipe, criar novo conhecimento, difundi-lo na organização como um todo e, eventualmente, incorporá-lo a produtos, serviços e sistemas.  Dessa forma, o conhecimento individual na dimensão epistemológica é convertido, por meio de um espiral do conhecimento,  em conhecimento organizacional em uma dimensão ontológica. Essa conversão se dá por interações continuas (<em>coding dojo</em>), em um tempo e local adequado (<em>ba</em>) do indivíduo ao grupo, do grupo à organização, da organização à inter-organização.  Nesse ambiente, a função da empresa no processo de criação do conhecimento é fornecer o contexto apropriado para facilitação das atividades em grupo para criação e acúmulo de conhecimento em nível individual.</p>
<p>Atualmente, muitas empresas estão percebendo o ambiente de socialização produzido por esse tipo de reunião, e estão abrindo as reuniões para a comunidade.  Outras abordagem, são grupos de desenvolvedores que se reúnem espontaneamente, com objetivo de compartilhar conhecimento, treinamento e principalmente diversão.  Esse exemplo ilustra o papel central que as equipes auto-organizadas desempenham no processo de criação do conhecimento.</p>
<p>Este vídeo explica o que é um coding dojo e como organizá-lo.(Em inglês)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/gav9fLVkZQc&amp;hl=pt_BR&amp;fs=1?rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/gav9fLVkZQc&amp;hl=pt_BR&amp;fs=1?rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Sabe-se que o aprendizado consiste em dois tipos de atividades. O primeiro é obtido através do <em>know-how</em>. O segundo tipo é obtido por meio de novas experiências como exemplos, paradigmas, modelos mentais ou perspectivas. Em ambos, existe um tripé necessário para a conversão de conhecimento em conhecimento tácito e intrínseco do indivíduo. O referido tripé é formado pelas seguintes ações: ver, sentir e fazer.</p>
<p>A tabela a seguir relaciona as ações do tripé ao <em>coding dojo</em>.</p>
<table>
<tbody>
<tr>
<td>Ação do Tripé</td>
<td>Regras/Técnicas do Dojo</td>
</tr>
<tr>
<td>Ver</td>
<td>Kata, Randori, Apresentação, Desafio, código fonte, Retrospectiva</td>
</tr>
<tr>
<td>Sentir</td>
<td>Retrospectiva, Interação, colaboração, perguntas e respostas</td>
</tr>
<tr>
<td>Fazer</td>
<td>TDD, código fonte, refatoração, programação em par, Baby steps, código coletivo</td>
</tr>
</tbody>
</table>
<p>Este outro vídeo explica o que é um coding dojo e mostra as suas regras e variações.(Em Português)<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/E-jFKkaAc7k&amp;hl=pt_BR&amp;fs=1?rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/E-jFKkaAc7k&amp;hl=pt_BR&amp;fs=1?rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>De fato, o aprendizado mais poderoso vem da experiência direta, de interação entre indivíduos, de ver, sentir e fazer. Aprendizado continuo em diversas áreas de conhecimento gera no indivíduo um conhecimento horizontal e holístico, que, com um pouco de pragmatismo,  propiciam a criações de novas opiniões, novos pontos de vista e de novas idéias originais e inovadoras.  Idéias originais emanam de indivíduos autônomos, difunde-se dentro da  equipe, transformando-se então em idéias da organizacionais. E porque  não em um novo <em>start-up</em>?</p>
<p>Atá a próxima viagem&#8230;.</p>
<p>Edgard</p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=950</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Esse semestre não dei prova Final &#8211; Dei DOJO</title>
		<link>http://edgarddavidson.com/?p=826&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=esse-semestre-nao-dei-prova-final-dei-dojo</link>
		<comments>http://edgarddavidson.com/?p=826#comments</comments>
		<pubDate>Wed, 14 Jul 2010 19:36:02 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Dojo]]></category>
		<category><![CDATA[dojo]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=826</guid>
		<description><![CDATA[Olá Pessoal. Vou compartilhar uma experiência discente com vocês. Em uma aula rotineira, próxima do fim do semestre um aluno me indagou e começamos o seguinte diálogo: Aluno: Professor, como será a prova final? Eu: Não vou dar prova final! Aluno: Como assim?? Eu: É isso mesmo, não vou dar prova final. Prova não prova [...]]]></description>
			<content:encoded><![CDATA[<p>Olá Pessoal. Vou compartilhar uma experiência discente com vocês.</p>
<p>Em uma aula rotineira, próxima do fim do semestre um aluno me indagou e começamos o seguinte diálogo:</p>
<p><img class="alignleft size-full wp-image-585" title="citacao" src="http://edgarddavidson.com/wp-content/uploads/2010/05/citacao.jpg" alt="" width="9" height="150" /><strong>Aluno:</strong> Professor, como será a prova final?<br />
<strong>Eu:</strong> Não vou dar prova final!<br />
<strong>Aluno:</strong> Como assim??<br />
<strong>Eu:</strong> É isso mesmo, não vou dar prova final. Prova não prova nada. Vamos fazer algo diferente&#8230;<br />
<strong>Aluno:</strong> O que vamos fazer então? (com um ar de preocupado!)<br />
<strong>Eu: </strong> Vamos fazer um coding dojo.<br />
<strong>Aluno: </strong> ????</p>
<p><span id="more-826"></span></p>
<p>Eu pessoalmente já estava ficando desentusiasmado com aplicação de provas tradicionais; abertas, fechadas, verdadeiro o falso, etc. Honestamente, eu como aluno nunca gostei de fazer provas e como professor detesto mais ainda ter que aplicar.</p>
<p>Nesse semestre tive a oportunidade de fazer diferente. Nesse ano, acompanhando a comunidade em blog e twitter, acabei conhecendo um conceito chamado Coding Dojo.  Segundo o <a href="http://codingdojo.org/">http://codingdojo.org/</a>:  “Um Coding Dojo é um encontro onde um grupo de programadores se reúne  para trabalhar em conjunto em um desafio de programação. Eles estão lá  para se <strong>divertir</strong>, e, através de uma <strong>metodologia  pragmática</strong>, melhorar suas <strong>habilidades</strong> de  programação e de trabalho em grupo.”</p>
<p>Expliquei para meus alunos o que era Dojo, indiquei alguns links onde eles poderiam ler mais sobre o assunto, entender os formatos, etc. Passei uma lista de assuntos que os alunos poderiam escolher como tema para fazer em formato de Dojo, entre eles: frameworks e ferramentas de teste unitário, teste de carga, teste de aceitação, teste funcional, teste de performance, teste de BD, refactory, deploy continuo, bug tracker, controle de versão, ou qualquer outra que julgássemos relevante e que agregasse valor para a turma.</p>
<p>Em seguida esse mesmo aluno me indagou novamente:</p>
<p><img class="alignleft size-full wp-image-585" title="citacao" src="http://edgarddavidson.com/wp-content/uploads/2010/05/citacao.jpg" alt="" width="9" height="189" /><strong>Aluno:</strong> Professor. Então nós vamos ter que fazer uma apresentação para turma?<br />
<strong>Eu: </strong> Vocês não vão apresentar nada. Vocês vão se reunir em dupla, vão escolher um tema dentre os vários que eu passei, vão pesquisar e estudar sozinhos e vão <strong>ensinar</strong> para os colegas da turma o que vocês aprenderam. E no final vocês terão que enviar um tutorial para o resto da turma, caso alguém queira repetir o que você ensinou.<br />
<strong>Aluno: </strong> Professor, e como você vai avaliar isso.<br />
<strong>Eu: </strong> Eu não vou avaliar nada. Quem dará os pontos do seu dojo serão seus próprios colegas. Se seu Dojo for bom, agregar valor e conhecimento aos seus colegas, certamente eles te darão uma boa nota.<br />
<strong>Aluno: </strong> ???</p>
<p>Abaixo segue a foto de um dos dias do Dojo (infelizmente nesse dia estávamos sem datashow).</p>
<p style="text-align: center;"><img class="size-full wp-image-838  aligncenter" title="Dojo UNA" src="http://edgarddavidson.com/wp-content/uploads/2010/07/120354990.jpg" alt="" width="600" height="450" /></p>
<p style="text-align: left;"><strong>Resultado:</strong></p>
<ol>
<li>Alunos satisfeitos e empolgados com a idéia.</li>
<li>Alunos naturalmente comprometidos. (mais do que o normal&#8230;)</li>
<li>Boas notas devido ao comprometimento dos alunos.</li>
<li>Compartilhamento de conhecimento:  Eu particularmente vi várias ferramentas que não conhecia.</li>
<li>Agregação de valor.</li>
<li>Os alunos puderam ter contato várias ferramentas e framework que, em uma prova convencional, eles nunca veriam.</li>
<li>Vários outros professores começaram a me parar para perguntar o que era aquele tal de &#8220;dojo&#8221; que os alunos tanto comentavam.</li>
</ol>
<p>Enfim, foi uma boa experiência que quero continuar nos próximos semestres</p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=826</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Workshop de Adobe Flex 4 Integrado com Java EE</title>
		<link>http://edgarddavidson.com/?p=798&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=workshop-de-adobe-flex-4-integrado-com-java-ee</link>
		<comments>http://edgarddavidson.com/?p=798#comments</comments>
		<pubDate>Tue, 06 Jul 2010 05:19:02 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=798</guid>
		<description><![CDATA[Público Alvo Desenvolvedores Web e Desktop que estejam interessando em desenvolver aplicações RIA utilizando Adobe Flex integrado com Java EE. Ementa Este workshow  tem o objetivo de capacitar o aluno ao desenvolvimento de aplicações ricas para a Web RIA (Rich Internet Application) utilizando Adobe® Flex™ e Java EE O curso apresenta uma visão integrada de [...]]]></description>
			<content:encoded><![CDATA[<h3><img class="aligncenter size-full wp-image-809" title="RIA" src="http://edgarddavidson.com/wp-content/uploads/2010/07/RIA.png" alt="" width="100%" height="250" /></h3>
<h3><strong>Público Alvo</strong></h3>
<p>Desenvolvedores Web e Desktop que estejam interessando em desenvolver aplicações RIA utilizando Adobe Flex integrado com Java EE.</p>
<p><span id="more-798"></span></p>
<h3><strong>Ementa</strong></h3>
<p>Este workshow  tem o objetivo de capacitar o aluno ao desenvolvimento de aplicações ricas para a Web RIA (Rich Internet Application) utilizando Adobe® Flex™ e Java EE</p>
<p>O curso apresenta uma visão integrada de Adobe Flex contemplando aspectos relacionados desde manipulação de dados e componentes em Flex até a sua integração com um back-end Java.</p>
<p>No fim do curso, o aluno com bom aproveitamento será capaz de desenvolver aplicações RIA, explorando frameworks MVC mais utilizados no mercado e explorando vários meios de comunicação.</p>
<ul>
<li> Introdução</li>
<li>Containers de Layout</li>
<li>Componentes de Navegação</li>
<li>Trabalhando com Eventos(Disparar e capturar)</li>
<li>Usando Janelas Popup</li>
<li>Trabalhando com módulos</li>
<li>Introdução ao BlazeDS</li>
<li>Comunicando Adobe Flex com back-end Java EE</li>
<li>Comunicação em Real-Time (Messages)</li>
<li>Frameworks MVC para Flex</li>
</ul>
<h3><strong>Pré-requisito</strong></h3>
<p>Conhecimento em programação orientada a objetos e em desenvolvimento de aplicações Web ou desktop.</p>
<h3><strong>Detalhes:</strong></h3>
<p><strong>Data: </strong> De 19 a 23 de julho de 2010 &#8211; 19:00h às 22:00h<br />
<strong>Local:</strong> Núcleo de Educação Continuada da Challenge IT<br />
<strong>Endereço: </strong> Rua Gonçalves Dias, 1181 / 1005 -  Savassi</p>
<h3><strong>Instrutor</strong></h3>
<p><strong>Edgard Davidson Costa Cardoso</strong></p>
<p>Profissional especialista em engenharia de software e desenvolvimento de sistemas, professor universitário, coordenador do curso de Pós Graduação em <a href="http://edgarddavidson.com/?page_id=415" target="_blank">Engenharia de Software Centrada em Métodos Ágeis</a> ofertado pela <a href="http://una.br" target="_blank">UNA</a>, mestrando em Engenharia Elétrica com ênfase em Engenharia de Software, Especialista em Engenharia de Software, Graduado em Sistemas de Informação. Sou sócio da <a href="http://meritasistemas.com.br/" target="_blank">MÉRITA &#8211; ENGENHARIA DE SERVIÇOS E SISTEMAS</a> e atualmente estou utilizando Java como back-end  e Adobe Flex como front-end em projetos e em Mentoring.</p>
<h3><strong>Habilidades Após o Workshop</strong></h3>
<p>Compreender a tecnologia de RIA (Rich Internet Application) da Adobe.<br />
Desenvolver aplicações RIA utilizando Adobe Flex<br />
Integrar front end (Flex) com back end (Java EE)<br />
Compreender a utilização o Blaze DS<br />
Compreender a utilização de frameworks MVC no Flex<br />
Compreender a integração de Flex com outras tecnologias além do Java</p>
<h3><strong>Agenda</strong></h3>
<ul>
<li> Introdução
<ul>
<li>O que é RIA – Rich Internet Applications</li>
<li>Aonde procurar ajuda</li>
<li>O que é o MXML</li>
<li>MXML e o ActionScript</li>
<li>Diferença entre Flex e AIR.</li>
<li>Hello World em Flex</li>
<li>Data Binding</li>
<li>Entendo o que significa assincronismo.</li>
</ul>
</li>
<li>Containers de Layout
<ul>
<li>Tipos de Containeres</li>
<li>Application, Box, Panel, TitleWindow, Form,  ControlBar</li>
<li>Layout absoluto e relativo</li>
</ul>
</li>
<li>Componentes de Navegação
<ul>
<li>ViewStack</li>
<li>Accordion</li>
<li>TabNavigator</li>
<li>States</li>
</ul>
</li>
<li>Trabalhando com Eventos(Disparar e capturar)
<ul>
<li>Ouvindo eventos em MXML</li>
<li>Evento de Objetc</li>
<li>Disparar e capturar eventos.</li>
<li>Eventos Customizados</li>
</ul>
</li>
<li>Usando Janelas Popup
<ul>
<li>Criando um janela popup personalizada</li>
<li>Removendo uma janela popup</li>
<li>Manipulando evento de uma janela popup</li>
</ul>
</li>
<li>Trabalhando com módulos
<ul>
<li>Criando um componente Module</li>
<li>Carregando um módulo com ModuleLoader</li>
<li>Manipulando eventos de um componente módulo</li>
<li>Passando dado para um módulo</li>
</ul>
</li>
<li>Introdução ao BlazeDS
<ul>
<li>Download e configuação</li>
<li>Entendendo os arquivos de configuração</li>
</ul>
</li>
<li>Comunicando Adobe Flex com back-end Java EE
<ul>
<li>HTTPServices</li>
<li>WebServices</li>
<li>Remote Object &#8211; RPC ( Remote Procedure Calls )</li>
</ul>
</li>
<li>Comunicação em Real-Time (Messages)
<ul>
<li>Data Push</li>
<li>Construindo um exemplo</li>
</ul>
</li>
<li>Frameworks MVC para Flex
<ul>
<li>Cairngorm</li>
<li>Swiz</li>
<li>Mate</li>
</ul>
</li>
</ul>
<h3><strong>Investimento</strong></h3>
<p>R$ 595,00 ou 3 X de R$ 198,33</p>
<p>Descontos:</p>
<ul>
<li>05% para pagamento à vista</li>
<li>10% para associados de entidades convêniadas</li>
<li>15% para estudantes de escolas convêniadas</li>
</ul>
<p><span style="color: #ff0000;">* Descontos não cumulativos</span></p>
<h1><span style="color: #ff0000;"><a href="http://www.challengeit.com.br/educacao-continuada/detalheAgenda.aspx?id=48" target="_blank"><span style="color: #0000ff;">Inscreva-se </span></a><br />
</span></h1>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=798</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Pós Graduação UNA- Engenharia de Software Centrada em Métodos Ágeis</title>
		<link>http://edgarddavidson.com/?p=365&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=pos-graduacao-una-engenharia-de-software-centrada-em-metodos-ageis</link>
		<comments>http://edgarddavidson.com/?p=365#comments</comments>
		<pubDate>Fri, 21 May 2010 10:59:51 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Pós Graduação Agile]]></category>
		<category><![CDATA[Pós Graduação]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=365</guid>
		<description><![CDATA[Objetivo do Curso O curso de pós-graduação lato sensu em Engenharia de Software Centrada em Métodos Ágeis tem como objetivo principal especializar profissionais para o desenvolvimento de softwares de qualidade. Este curso busca capacitar os participantes para uma visão abrangente e atualizada de engenharia de software e, em especial, capacitá-los em métodos ágeis focalizando nas [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.una.br/curso/pos-graduacao-mba-especializacao/pos-graduacao-em-engenharia-de-software-centrada-em-metodos-ageis" target="_blank"><img class="aligncenter size-full wp-image-792" title="PosGraduacao" src="http://edgarddavidson.com/wp-content/uploads/2010/04/PosGraduacao1.jpg" alt="" width="100%" height="92" /></a></p>
<p style="text-align: center;"><a href="http://engenhariadesoftwareagil.com"><img class="aligncenter size-full wp-image-1053" title="logo_07_red" src="http://edgarddavidson.com/wp-content/uploads/2010/05/logo_07_red.jpg" alt="" width="538" height="200" /></a></p>
<p style="text-align: center;">
<p><strong>Objetivo do Curso</strong></p>
<p>O curso de pós-graduação lato sensu em Engenharia de Software Centrada em Métodos Ágeis tem como objetivo principal especializar profissionais para o desenvolvimento de softwares de qualidade. Este curso busca capacitar os participantes para uma visão abrangente e atualizada de engenharia de software e, em especial, capacitá-los em métodos ágeis focalizando nas tecnologias correntes para o desenvolvimento de software. O curso contempla tópicos como métodos ágeis, programação orientada a objetos, padrões de projeto, engenharia de requisitos ágeis , usabilidade, arquitetura e teste de software bem com o desenvolvimento aplicações WEB e RIA (Rich Internet Application). Durante o curso, os alunos exercitarão práticas ágeis integradas às outras disciplinas, proporcionando a transversalidade de conhecimento entre os conteúdos. No final, o aluno estará capacitado a implantar, integrar, liderar equipes ágeis de desenvolvimento de software aplicando técnicas e tecnologias atuais de mercado.</p>
<p><span id="more-365"></span></p>
<h3><strong>Público Alvo</strong></h3>
<p>Profissionais de nível superior das áreas de Sistemas de Informação, Ciência da Computação, Análise e Desenvolvimento de Sistemas e Engenharia que atuam no mercado e que desejam se especializar no desenvolvimento de software com qualidade, flexibilidade e visando o máximo retorno sobre o investimento nos projetos de software, ampliando seus conhecimentos nas metodologias, tecnologias e processos que suportam o desenvolvimento ágil de software.</p>
<h3><strong>Resultados Esperados</strong></h3>
<p>O resultado esperado do curso é que no final o aluno esteja capacitado a:</p>
<ul>
<li>Identificar quais são as vantagens e desvantagem de se adotar uma abordagem formal ou ágil para desenvolvimento de software.</li>
<li>Implantar processos ágeis em equipes de desenvolvimento de softwares, aplicando práticas ágeis no dia a dia do desenvolvimento e possibilitando que o conceito de auto-gerenciamento funcione.</li>
<li>Liderar equipes que utilizam métodos ágeis de desenvolvimento.</li>
<li>Gerenciar projetos com práticas ágeis como o Scrum.</li>
<li>Desenvolver projetos de software em um em equipes ágeis com tecnologias Web e de Rich Internet Application (RIA)</li>
<li>Ser um profissional crítico, formador de opinião, que entenda de tecnologia, e que estejam capacitados a integrar equipes ágeis contribuindo para a melhoria da qualidade de software nacional.</li>
<li>Agregar valor no produto de software por meio da Integração disciplinas de engenharia de requisitos, usabilidade, padrões de projeto, arquitetura e teste de software</li>
</ul>
<h3><strong>Diferenciais do Curso</strong></h3>
<p>Entre os principais diferenciais do curso de Engenharia de Software Centrada em Métodos Ágeis da UNA está no seu corpo docente, composto por professores com ampla vivência no mercado de trabalho, sua grade curricular composta de disciplinas teóricas e práticas, com conteúdo em acordo com as exigências do mercado, sintonizado com o pensamento ágil, e, sobretudo, que é o único curso pós graduação lato senso em Engenharia de Software de Belo Horizonte totalmente focado na filosofia ágil.</p>
<h3><strong>Estrutura Curricular</strong></h3>
<p>Disciplinas do primeiro semestre do curso</p>
<div class="slidedeck_frame skin-default"><dl id="SlideDeck_231_861" class="slidedeck slidedeck_861" style="width:100%;height:420px"><dt>Métodos Ágeis de desenvolvimento de software</dt><dd><h3>Disciplina: Métodos ágeis de desenvolvimento de software</h3>
<ul>
<li><strong>Carga horária: </strong>32 horas/aula (100% Teórica)</li>
</ul>
<ul>
<li><strong>Ementa:</strong> Processos ágeis versus processos formais, Gestão de projetos com Scrum, eXtreme Programming(XP), Test Driven Development(TDD), Crystal,  Feature Driven Development (FDD) , Lean Development, Domain Driven Design(DDD)</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Compreender a diferença entre processos formais e processos ágeis. Compreender a mudança cultural necessário para a implantação de processos ágeis. Gerir projetos de desenvolvimento de software ágeis com scrum. Desenvolver software utilizando eXtreme programming. Compreender a origem e a filosofia dos métodos ágeis. Compreender processos ágeis de desenvolvimento de software dirigidos por teste. Compreender processos ágeis de desenvolvimento de software dirigidos por funcionalidades.</li>
</ul>
</dd><dt>Engenharia de Requisitos Ágeis</dt><dd><h3>Disciplina: Engenharia de Requisitos Ágeis</h3>
<ul>
<li><strong>Carga horária: </strong>32 horas/aula (50% Teórica) e (50% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa: </strong>Técnicas e elicitação de requisitos (JAD, Imersão, Brainstorming, Workshops), Domain Driven Design, FBS (Feature Breakdown Structure), O modelo ARO (Ação Resultado Objeto), Prototipagem de baixa fidelidade, Contrato de Escopo Negociável, User Stories na representação de requisitos, Story mapping na priorização de funcionalidades, Análise de Requisitos, Validação e Priorização,  Categorias de Requisitos: requisitos do usuário, requisitos do sistema, requisitos funcionais e requisitos não-funcionais</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Compreender a necessidade de colaboração entre a equipe e o cliente para o entendimento correto dos requisitos. Aplicar técnicas de levantamento de requisitos que construir software que agrega valor ao cliente. Compreender as diversas técnicas para o levantamento de requisitos. Identificar a diferença em se fazer Caso de Uso e User Stories. Construir protótipos de baixa fidelidade para melhor entendimento dos requisitos funcionais.</li>
</ul>
</dd><dt>Modelagem Ágil de Software</dt><dd><h3>Disciplina: Modelagem Ágil de Software</h3>
<ul>
<li><strong>Carga horária:</strong> 24 horas/aula (100% Teórica)</li>
</ul>
<ul>
<li><strong>Ementa: </strong>Modelagem Ágil e UML, Modelagem no contexto da agilidade, Modelagem com participação do cliente, User Stories Ciclos de modelagem ágil, modelagem em equipe, Diagramas com Agile Draw, Modelo entidade-relacionamento (DER)</li>
</ul>
<ul>
<li><strong>Objetivo: </strong>Compreender os requisitos e traduzi-los em um modelo de análise de software. Compreender a modelagem de software em processos ágeis. Compreender a necessidade de colaboração com a equipe e com o cliente para fazer a modelagem. Compreender os ciclos da modelagem ágil Desenvolver modelagem ágil com UML Desenvolver modelagem e diagramas com Agile Draw. Fazer modelagem utilizando o modelo de banco de dados entidade relacionamento.</li>
</ul>
</dd><dt>Engenharia de Usabilidade</dt><dd><h3>Disciplina: Engenharia de Usabilidade</h3>
<ul>
<li><strong>Carga horária:</strong> 32 horas/aula (50% Teórica) e (50% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa:</strong> Fundamentos de Design de Interação, Fatores Cognitivos Humano, Estilos de Interação, Avaliação de Interfaces, design de interação, experiência do usuário, Design Centrado no Usuário, Prototipação de alta fidelidade, Avaliação Heurística de Usabilidade, guias de estilo e padrões de projeto de interfaces de usuário, Implementação de interface de usuário.</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Compreender fatores cognitivos que interferem na interação homem máquina. Identificar a utilização de cores para criar interfaces atraentes. Criar mecanismos para fazer avaliação de interfaces. Criar provas de conceitos de usabilidade com prototipação de alta fidelidade. Compreender a utilização de guia de estilos para desenvolver um software. Identificar a necessidade de avaliações heurísticas para aceitação de protótipos. Compreender aspectos de design de interação para desenvolver software intuitivos.</li>
</ul>
</dd><dt>Programação Orientada a Objetos</dt><dd><h3>Disciplina: Programação Orientação a Objetos</h3>
<ul>
<li><strong>Carga horária:</strong> 32 horas/aula (100% Prática em Laboratório)</li>
</ul>
<ul>
<li>Ementa: Java, Classe, Objeto, Encapsulamento, Herança, Polimorfismo (Tipos de Polimorfismo, Referência Polimórfica, Funções Polimórficas), Interface, Pacotes, Namespace, Tratamento de Exceção</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Compreender os conceitos de orientação a objetos necessários para criar aplicações. Aplicar técnicas de orientação a objetos para construção de classes e funções reutilizáveis. Compreender os conceitos de orientação a objetos para aplicar conceitos de qualidade de código. Saber identificar qual recurso de orientação a objetos é mais adequado para determinado problema de programação.</li>
</ul>
</dd><dt>Padrões de Projeto</dt><dd><h3>Disciplina: Padrões de Projeto</h3>
<ul>
<li><strong>Carga horária:</strong> 28 horas/aula (100% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa: </strong>Padrões do Gang of Four (GOF), Model View Controller (MVC), Data Access Object (DAO), Dependency Injection (DI) , Inverse of Control (IoC), reflection, refatoração</li>
</ul>
<ul>
<li><strong>Objetivos: </strong>Compreender padrões de projeto. Identificar problemas de programação recorrentes. Saber aplicar corretamente os  padrões de projeto. Perceber a necessidade de padrões de projeto para criar um vocabulário comum. Perceber a necessidade de padrões de projeto para criar software reutilizáveis. Perceber a necessidade de padrões de projeto para desenvolver softwares. Compreensíveis para manutenção. Identificar os vários tipos de padrões de projeto e suas respectivas aplicações.</li>
</ul>
</dd></dl></div>
<p>Disciplinas do segundo semestre do curso</p>
<div class="slidedeck_frame skin-default"><dl id="SlideDeck_531_872" class="slidedeck slidedeck_872" style="width:100%;height:420px"><dt>Métodos e Técnicas de Pesquisa</dt><dd><h3>Disciplina: Métodos e Técnicas de Pesquisa</h3>
<ul>
<li><strong>Carga horária: </strong>20 horas/aula (100% Teórica)</li>
</ul>
<ul>
<li><strong>Ementa:</strong> Tipos de pesquisa, Ciência e conhecimento científico, Planejamento de pesquisas, Estrutura, Monografia, Capa, Folha de Rosto, Diagramação, Paginação, Bibliografia, Citações.</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Compreender a ciência e o conhecimento científico necessário para elaboração de trabalhos acadêmicos. Saber as regras para escrita de trabalhos acadêmicos. Identificar a necessidade de se fazer pesquisas bibliográficas ao iniciar uma pesquisa. Compreender os tipos de pesquisa e como pesquisá-la e escrevê-la.</li>
</ul>
</dd><dt>Arquitetura de software</dt><dd><h3>Disciplina: Arquitetura de software</h3>
<ul>
<li><strong>Carga horária: </strong>32 horas/aula (50% Teórica) e (50% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa: </strong>Integração, SOA, Web Services, ESB, Integração Síncrona e assíncrona (mensageria), sistemas móveis, arquitetura em camadas, utilização de Frameworks, Modularidade, Reutilização de software, Bibliotecas, Programação por contrato</li>
</ul>
<ul>
<li><strong>Objetivo: </strong>Integrar diversas tecnologias para criar aplicações robustas. Compreender desenhos arquitetônicos para construções de software multicamadas. Compreender a utilização de Web Services e sockets para integração de softwares. Identificar aspectos de qualidade de código. Desenvolver classes utilizando aspectos de programação por contrato. Criar software reutilizável, com utilização de frameworks, bibliotecas e modularidades. Compreender utilização de modularidade para implementar classes com responsabilidades bem definidas.</li>
</ul></p>
</dd><dt>Teste de Software</dt><dd><h3>Disciplina: Teste de Software</h3>
<ul>
<li><strong>Carga horária: </strong>32 horas/aula (50% Teórica) e (50% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa: </strong>Test Driven Development (TDD), Integração contínua e os testes, Fundamentos de Teste de Software, Caso de Teste, Script de Teste, Teste de Caixa Preta, Teste Caixa Branca, testes de unidade, testes de integração Ferramentas e Frameworks para automação de testes (junit, dbunit, junitperf) testes automatizados, testes de performance. </li>
</ul>
<ul>
<li><strong>Objetivo: </strong>Compreender os vários tipos de teste de software. Identificar a necessidade de teste de software. Aplicar testes unitários para garantir a qualidade do produto de software. Compreender os tipos de teste de software. Saber aplicar corretamente cada tipo de teste de software. Utilizar frameworks de teste unitários. Compreender a diferença entre teste de caixa branca e teste de caixa preta e suas respectivas aplicações. Compreender o desenvolvimento dirigido a testes (Test Driven Development).</li>
</ul></p>
</dd><dt>Desenvolvimento WEB</dt><dd><h3>Disciplina: Desenvolvimento WEB</h3>
</p>
<ul>
<li><strong>Carga horária: </strong>32 horas/aula (100% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa:</strong> Ruby on Rails, JQuery, HTML5, CSS3, XHTML</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Capacitar o aluno a desenvolver aplicações com o que tem de mais modernos em linguagens e tecnologias WEB. Desenvolver aplicações com utilização de Ruby on Rails, HTML5 e CSS3. Compreender o framework JQuery. Desenvolver aplicações simples, rápidas e com usabilidade atraente para o usuário. Perceber a necessidade de construir aplicações que dê uma nova experiência de uso ao usuário.</li>
</ul>
</dd><dt>Desenvolvimento RIA</dt><dd><h3>Disciplina: Desenvolvimento RIA</h3>
</p>
<ul>
<li><strong>Carga horária:</strong> 32 horas/aula (100% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa:</strong> Adobe Flex, Silverlight, JavaFX</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Propiciar uma nova experiência de uso ao usuário. Desenvolver aplicações ricas para internet. Agregar funcionalidades de aplicações desktop em aplicações WEB. Compreender o funcionamento das principais tecnologias disponível para construção de aplicações RIA. Criar aplicação simples, bonitas, de fácil utilização que esteja centrada nas necessidades do usuário.</li>
</ul>
</dd><dt>Laboratório de Engenharia de Software Ágil</dt><dd><h3>Disciplina: Laboratório de Engenharia de Software Ágil</h3>
<ul>
<li><strong>Carga horária:</strong> 32 horas/aula (100% Prática em Laboratório)</li>
</ul>
<ul>
<li><strong>Ementa: </strong>Práticas Ágeis de Engenharia de Software com XP, Gestão de projetos com Scrum, Gestão de processos com Lean, Construção de um software utilizando métodos ágeis, gestão de configuração (github), ferramentas para gerência de projetos ágeis (Pivotal Tracker), criação de um product backlog, planejamento de sprint, análise de gráfico burn-down, execução de Daily Scrum, colaboração entre a equipe do Scrum  o Product Owner o Scrum Master e o cliente</li>
</ul>
<ul>
<li><strong>Objetivo:</strong> Desenvolver um projeto interdisciplinar que integra as técnicas de métodos ágeis com as demais técnicas e métodos vistos nas outras disciplinas. Criar equipes ágeis para desenvolvimento de software. Gerenciar o projeto com práticas ágeis como Srum. Fazer gestão de configuração com ferramentas que favorecem a colaboração. Utilizar ferramentas para gerenciar projetos e equipes ágeis. Aplicar praticas ágeis do XP integrada a práticas ágeis do Scrum.</li>
</ul>
</dd></dl></div>
<h3><strong>Blog do Curso:</strong></h3>
<p><a href="http://engenhariadesoftwareagil.com" target="_blank">http://engenhariadesoftwareagil.com</a></p>
<h3><strong>Carga horária</strong></h3>
<p>360 horas/aulas</p>
<h3><strong>Dias e horários</strong></h3>
<ul>
<li>Sextas-feiras, das 19h25 às 22h55, no Campus Guajajaras</li>
<li>Sábados, das 08h30 às 12h00 e das 13h00 às 16h30, no Campus Barro  Preto</li>
</ul>
<h3><strong>Investimento</strong></h3>
<ul>
<li><strong>Valor Integral </strong>= R$ 6.850,00 ou 18 X R$ 464,98</li>
<li><strong>Valor com Desconto</strong> = R$ 5.137,50 ou 18 X R$ 348,74*</li>
</ul>
<p><span style="color: #ff0000;">* O valor do respectivo curso está com 25% de desconto e será praticado apenas para matrículas efetivadas adiantadamente.</span></p>
<h3><strong>Localização</strong></h3>
<p><a href="http://www.una.br/" target="_blank">Una</a><br />
<a href="http://www.una.br/institucional/nossas-unidades/campus-barro-preto-5" target="_blank">Campus Barro Preto</a><br />
<a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=pt-BR&amp;geocode=&amp;q=Rua+Goitacazes,+1159,+bairro+Barro+Preto+-+Belo++Horizonte+-+MG&amp;sll=-19.815731,-43.954223&amp;sspn=0.758387,1.454315&amp;ie=UTF8&amp;hq=&amp;hnear=R.+dos+Goitacazes,+1159+-+Barro+Preto,+Belo+Horizonte+-+Minas+Gerais,+30190-050,+Brasil&amp;z=16&amp;iwloc=A" target="_blank">Rua Goitacazes, 1159, bairro Barro Preto &#8211; Belo  Horizonte &#8211; MG</a></p>
<h3><strong>Matricula</strong></h3>
<p>Em dezembro de 2010 e janeiro de 2011<strong>. </strong><span style="color: #ff0000;">Aguarde a próxima turma</span>.</p>
<h3><strong>Início do Curso</strong></h3>
<p>Próxima turma: Fevereiro de 2011</p>
<h3><strong>Coordenação</strong></h3>
<p>Tire suas dúvidas com o coordenador.</p>
<p>Professor: Edgard Davidson Costa Cardoso<br />
E-mail: edgard.cardoso@prof.una.br<br />
twtter: <a href="www.twitter.com/edgarddavidson" target="_blank">www.twitter.com/edgarddavidson</a><br />
skype: edgarddavidson</p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=365</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Automatização de Testes de Desempenho com JUnitPerf</title>
		<link>http://edgarddavidson.com/?p=542&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=automatizacao-de-testes-de-desempenho-com-junitperf</link>
		<comments>http://edgarddavidson.com/?p=542#comments</comments>
		<pubDate>Mon, 03 May 2010 15:15:01 +0000</pubDate>
		<dc:creator>Edgard Davidson</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Testes]]></category>
		<category><![CDATA[Vídeos]]></category>
		<category><![CDATA[Teste]]></category>

		<guid isPermaLink="false">http://edgarddavidson.com/?p=542</guid>
		<description><![CDATA[JUnitPerf é uma extensão do JUnit, um conjunto de decoradores de testes JUnit, que é utilizado para medir o desempenho e a escalabilidade dos testes referenciados. Criado pela Clarkware Consulting desenvolvedora e mantenedora do JUnitPerf. Veja a documentação completa em no site oficial do  JUnitPerf. Para saber mais sobre teste unitário com JUnit, veja o [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://clarkware.com/software/JUnitPerf.html" target="_blank"><img class="alignleft size-full wp-image-700" title="timer" src="http://edgarddavidson.com/wp-content/uploads/2010/05/timer.jpg" alt="" width="309" height="243" />JUnitPerf </a>é uma extensão do JUnit, um conjunto de decoradores de testes JUnit, que é utilizado para medir o desempenho e a escalabilidade dos<br />
testes referenciados. Criado pela <a href="www.clarkware.com" target="_blank">Clarkware Consulting</a> desenvolvedora e mantenedora do <a href="http://clarkware.com/software/JUnitPerf.html" target="_blank">JUnitPerf</a>.</p>
<p>Veja a documentação completa em no site oficial do  <a href="http://clarkware.com/software/JUnitPerf.html" target="_blank">JUnitPerf.</a></p>
<p>Para saber mais sobre teste unitário com JUnit, veja o meu post anterior e assista os vídeos de <a href="http://edgarddavidson.com/?p=537">Teste Unitário com JUnit.</a>.</p>
<p>JUnitPerf oferece classes que permitem construir objetos que recebem testes existentes do JUnit e acrescentam neles avaliação de desempenho. Ele não  altera testes existentes. Pode-se ainda rodar os testes sem o JUnitPerf.</p>
<p><span id="more-542"></span></p>
<p><strong>Roteiro para execução do JUnitPerf:</strong></p>
<ol>
<li>Primeiro é preciso estimar os valores ideais para execução dos testes.</li>
<li>Escreva testes JUnit para o seu código.</li>
<li>Execute um profiler para descobrir os gargalos. Utilize os dados obtidos como parâmetros para estabelecer os valores máximos aceitáveis para cada método.</li>
<li>Escreva testes do JUnit (se não existirem) para os trechos críticos quanto à desempenho.</li>
<li>Escreva um TimedTest do JUnitPerf para cada teste novo e execute-o. O teste deve falhar. Se passar, não há problema de desempenho com o código.</li>
<li>Trabalhe no código até que os testes passem.</li>
</ol>
<p><strong>TimedTest</strong></p>
<p>Recuperar o tempo transcorrido após a execução do teste JUnit. Se o tempo for maior que o permitido então uma exceção AssertionFailedError é provocada (o que faz o teste falhar)</p>
<p>Exemplo: TimedTest simples que espera que o método execute em menos de 2 segundos (2000 milissegundos)</p>
<pre class="java">public static Test suite() {
     TestSuite suite = new TestSuite();
     Test testCase = OperacoesTest.suite();
     Test testCase = new  OperacoesTest("testSoma");
     Test timedTest = new TimedTest(testCase, 2000);
     suite.addTest(timedTest);
     return suite;
}
</pre>
<p><strong>LoadTest</strong></p>
<p>Permite simular carga, por exemplo, vários usuários acessando a aplicação ao mesmo tempo. Essencial para descobrir problemas que podem surgir em ambientes multiusuário (por exemplo: problemas de concorrência e integridade de dados usados por vários usuários)</p>
<p>Exemplo: LoadTest simples (executa uma vez por usuário) com 100 usuários simultâneos</p>
<pre class="java">public static Test suite() {
     TestSuite suite = new TestSuite();
     Test test = new ExampleTestCase("testMethod");
     Test loadTest = new LoadTest(test, 100);
     suite.addTest(loadTest);
     return suite;
}
</pre>
<p>A seguir, assista o vídeo:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100%" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=11462442&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="100%" height="385" src="http://vimeo.com/moogaloop.swf?clip_id=11462442&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/11462442">Automatização de Testes de Desempenho com JUnitPerf</a> from <a href="http://vimeo.com/user2650925">Edgard Davidson</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>O código fonte completo poder ser baixado <a href="www.edgarddavidson.com/wp-content/uploads/2010/05/Exemplo02.rar">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgarddavidson.com/?feed=rss2&amp;p=542</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
