<?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>Blog de desenvolvimento da Milfont Consulting, Client e Server-side &#187; xpce</title>
	<atom:link href="http://www.milfont.org/tech/category/xpce/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.milfont.org/tech</link>
	<description>Blog da Comunidade Milfont Consulting, uma empresa especializada em desenvolvimento Web, principalmente Javascript, node.js e muito Javascript.</description>
	<lastBuildDate>Thu, 26 Jan 2012 11:30:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Trabalho Energizado 2</title>
		<link>http://www.milfont.org/tech/2011/05/12/trabalho-energizado-2/</link>
		<comments>http://www.milfont.org/tech/2011/05/12/trabalho-energizado-2/#comments</comments>
		<pubDate>Thu, 12 May 2011 12:28:47 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[caos]]></category>
		<category><![CDATA[DCO]]></category>
		<category><![CDATA[DOC]]></category>
		<category><![CDATA[ordem]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=1258</guid>
		<description><![CDATA[Ano passado eu escrevi sobre minha teoria de produtividade nas empresas de software e a incluí em algumas palestras, inclusive é também um tópico da minha palestra recém aprovada no AgileBrazil 2011: Dar Caos à Ordem. Essa minha teoria é puramente empírica, não fiz nenhum estudo com rigor acadêmico sobre isso. Eis que vejo uma [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button socialize-in-button-vertical"><script type="text/javascript">
			<!-- 
				tweetmeme_url = "http://www.milfont.org/tech/2011/05/12/trabalho-energizado-2/";
				tweetmeme_source = "tweetmeme";
				tweetmeme_style = "";
				
			//-->
			</script>
                        <script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Ano passado eu escrevi sobre minha <a href="http://www.milfont.org/tech/2010/06/17/trabalho-energizado-e-a-teoria-das-2-horas-produtivas/">teoria de produtividade</a> nas empresas de software e a i<a href="http://www.slideshare.net/cmilfont/agilidade-nomun-doreal">ncluí em algumas palestras</a>, inclusive é também um tópico da minha palestra recém aprovada no <a href="http://www.agilebrazil.com/2011">AgileBrazil 2011</a>: <a href="http://www.agilebrazil.com/2011/pt/detalhes.php#168">Dar Caos à Ordem</a>.</p>
<p>Essa minha teoria é puramente empírica, não fiz nenhum estudo com rigor acadêmico sobre isso. Eis que vejo uma p<a href="http://epocanegocios.globo.com/Revista/Common/0,,EMI223450-16363,00-FALTA+GLOBALIZAR+O+RH.html">esquisa na Época Negócios</a> dando razão a minha teoria. Só que a matéria fala em meio expediente, eu sustento que por volta de 60 a 70% do tempo é desperdiçado com trabalho repetitivo e desnecessário que pode/deve ser automatizado.</p>
<p>Algumas empresas sentem essa má produtividade, <a href="http://colunas.epoca.globo.com/trabalhoevida/2011/03/17/produtividade-e-assunto-de-matematica-ou-filosofia/">mas culpam o cafezinho</a>, quando na realidade a hora do cafezinho responde por grandes momentos de discussões necessárias.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2011/05/12/trabalho-energizado-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Palestra BDD &#8211; Unifor 2010</title>
		<link>http://www.milfont.org/tech/2010/05/28/palestra-bdd-unifor-2010/</link>
		<comments>http://www.milfont.org/tech/2010/05/28/palestra-bdd-unifor-2010/#comments</comments>
		<pubDate>Fri, 28 May 2010 17:49:21 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[domain driven design]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=941</guid>
		<description><![CDATA[Ontem [27/05/2010] palestrei no evento da JavaCE na Unifor, abaixo estão os slides. Para quem não participou do evento, provavelmente os slides não farão muito sentido por si, mas creio que dá para entender o contexto. O objetivo dessa palestra foi desmistificar um pouco o entendimento sobre Domain Driven Design. O foco foi demonstrar que [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/0321125215?ie=UTF8&amp;tag=milftech-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321125215"><img class="alignleft" style="margin: 5px;" title="Domain Driven Design na Amazon" src="http://ecx.images-amazon.com/images/I/31ywgz51v-L._SL160_.jpg" alt="" width="120" height="160" /></a>Ontem [27/05/2010] <a href="http://www.javace.org/evento-javace-especializacao-unifor/">palestrei no evento</a> da <a href="http://www.javace.org/">JavaCE</a> na Unifor, abaixo estão os <a href="http://www.slideshare.net/cmilfont/domain-driven-design-4344612">slides</a>. Para quem não participou do evento, provavelmente os slides não farão muito sentido por si, mas creio que dá para entender o contexto.</p>
<p>O objetivo dessa palestra foi desmistificar um pouco o entendimento sobre <a href="http://en.wikipedia.org/wiki/Domain_driven_design">Domain Driven Design</a>. O foco foi demonstrar que essa abordagem não é sobre padrões, como bem me aconselhou o <a href="http://twitter.com/rodrigoy/status/14864670811">Rodrigo Yoshima</a>. Enfatizei a comunicação como fator importante e comparei arquiteturas existentes por má compreensão não só da &#8220;Orientação a Objetos&#8221;, mas por dogmatismo e ignorância.</p>
<p>Como eu conheço bem o mercado local, enfatizei algumas más práticas que considero o empecilho aos projetos, principalmente as &#8220;arquiteturas de referências&#8221; que se proliferam aqui e impactam na modelagem.</p>
<p>Fizemos um &#8220;Hands On&#8221; rapidinho e não tem como não falar sobre <a href="http://www.amazon.com/gp/product/0321146530?ie=UTF8&amp;tag=milftech-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321146530">TDD</a>, afinal, modelagem ágil passa invariavelmente pelo <a href="http://c2.com/cgi/wiki?TestFirstProgramming">Test First</a>. &#8220;Fizemos&#8221;, porque tive a ajuda do <a href="http://twitter.com/rponte/status/14878430610">@rponte</a>.</p>
<p><a title="27052010265 por chrismilfont, no Flickr" href="http://www.flickr.com/photos/cmilfont/4647510289/"><img src="http://farm5.static.flickr.com/4033/4647510289_b9b0460d69.jpg" alt="27052010265" width="500" height="375" /></a></p>
<div id="__ss_4344612" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Domain driven design" href="http://www.slideshare.net/cmilfont/domain-driven-design-4344612">Domain driven design</a></strong><object id="__sse4344612" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" 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://static.slidesharecdn.com/swf/ssplayer2.swf?doc=domaindrivendesign-100528120249-phpapp01&amp;stripped_title=domain-driven-design-4344612" /><param name="name" value="__sse4344612" /><param name="allowfullscreen" value="true" /><embed id="__sse4344612" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=domaindrivendesign-100528120249-phpapp01&amp;stripped_title=domain-driven-design-4344612" name="__sse4344612" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/cmilfont">Christiano Milfont</a>.</div>
</div>
<p><a href="http://www.submarino.com.br/produto/1/21576488/domain-driven+design?franq=170940"><img class="alignleft" title="Domain Driven Design" src="http://i.s8.com.br/images/books/cover/img8/21576488.jpg" alt="" width="180" height="180" /></a>Descobri só ontem que existe<a href="http://www.submarino.com.br/produto/1/21576488/domain-driven+design?franq=170940"> tradução do livro Domain Driven Design</a> do <a href="http://domaindrivendesign.org/about">Eric Evans</a>, eu recomendo comprarem o original na Amazon, mas se forem comprar em português que seja pelo <a href="http://www.submarino.com.br/produto/1/21576488/domain-driven+design?franq=170940">meu link</a>. <img src='http://www.milfont.org/tech/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A <a href="http://www.infoq.com">InfoQ</a> publicou um <a href="http://www.infoq.com/minibooks/domain-driven-design-quickly">minibook sobre o tema</a>.</p>
<p>Vou subir a aplicação que codificamos ontem para o <a href="http://github.com/cmilfont">github</a> e atualizo essa página quando estiver disponível. Algumas fotos que foram tirados <a href="http://www.flickr.com/photos/cmilfont/sets/72157624154994090/">voces conferem aqui</a>.</p>
<p>Algumas referências importantes sobre o que falei ontem:</p>
<p><a href="http://blog.aspercom.com.br/2009/08/11/repositorios-ddd/">http://blog.aspercom.com.br/2009/08/11/repositorios-ddd/</a></p>
<p><a href="http://fragmental.tw/2010/02/24/everyday-tales-anatomy-of-a-refactoring/">http://fragmental.tw/2010/02/24/everyday-tales-anatomy-of-a-refactoring/</a></p>
<p><a href="http://fragmental.tw/2010/03/10/everyday-tales-anatomy-of-a-refactoring-%E2%80%93-part-2/">http://fragmental.tw/2010/03/10/everyday-tales-anatomy-of-a-refactoring-%E2%80%93-part-2/</a></p>
<p><a href="http://fragmental.tw/2010/03/10/everyday-tales-anatomy-of-a-refactoring-%e2%80%93-part-3/">http://fragmental.tw/2010/03/10/everyday-tales-anatomy-of-a-refactoring-%e2%80%93-part-3/</a></p>
<p><a href="http://fragmental.tw/2010/03/22/nevermind-domain-driven-design/">http://fragmental.tw/2010/03/22/nevermind-domain-driven-design/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2010/05/28/palestra-bdd-unifor-2010/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Retrospectiva 2009</title>
		<link>http://www.milfont.org/tech/2009/12/28/retrospectiva-2009/</link>
		<comments>http://www.milfont.org/tech/2009/12/28/retrospectiva-2009/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 15:43:52 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Maré de Agilidade]]></category>
		<category><![CDATA[offtopic]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[xpce]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=844</guid>
		<description><![CDATA[Fonte: Jornal OPOVO Esse foi um bom ano, iniciei 2009 abrindo outra empresa e saindo da Triadworks que continua Triad (com o Carlos Átila, além do Handerson Frota e o Rafael Ponte) e agora parceira e amiga. Minha empresa, a Milfont Consulting foi o profissionalismo de algo que eu já vinha fazendo há algum tempo: [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Jornal OPOVO  (Foto: IGOR DE MELO)" href="http://www.milfont.org/tech/wp-content/uploads/2010/01/937000_not_fot.jpg"><img src="http://www.milfont.org/tech/wp-content/uploads/2010/01/937000_not_fot.jpg" alt="Jornal OPOVO  (Foto: IGOR DE MELO)" /></a><br />
<cite>Fonte: <a href="http://opovo.uol.com.br/opovo/esportes/937000.html">Jornal OPOVO</a> </cite></p>
<p>Esse foi um bom ano, iniciei 2009 abrindo outra empresa e saindo da <a href="http://www.triadworks.com.br/">Triadworks</a> que continua Triad (com o <a href="http://www.carlosatilaabreu.blogspot.com/">Carlos Átila</a>, além do <a href="http://www.handersonfrota.com.br/">Handerson Frota</a> e o <a href="http://www.rponte.com.br/">Rafael Ponte</a>) e agora parceira e amiga.</p>
<p>Minha empresa, a Milfont Consulting foi o profissionalismo de algo que eu já vinha fazendo há algum tempo: Mentoring, treinamento e coaching em desenvolvimento de software, só que agora focado em XP e um nicho específico de linguagem, Ruby. Sobre Rails eu vou fazer um post a parte, sobre o mercado local e meus projetos.</p>
<p>Dois clientes em especial marcaram o ano da Milfont Consulting, o Grupo <a href="http://www.grupotubform.com.br/">Tubform</a> que vem montando um dos maiores projetos em Rails no Brasil que tenho notícia e o <a href="http://www.grupofortes.com.br/">Grupo Fortes</a> que lançou recentemente o <a href="http://www.f2rh.com.br/">F2RH</a>, um portal gratuito para empresas e profissionais que desejam contratar e serem contratados respectivamente. Claro que meus antigos clientes continuam com atenção especial, mas já estão bem maduros em seus sistemas e processos o que me alegra enormemente e me dão aquela satisfação profissional que é motivo para continuar o trabalho que estamos fazendo.</p>
<p>Em relação à comunidade de desenvolvimento de software começamos (eu e <a href="http://www.igocoelho.com.br/">Igo Coelho</a>) o ano criando um grupo de discussões sobre XP exclusivamente do Ceará, o <a href="http://www.xpce.org/">XPCE</a>, do qual <a href="http://www.milfont.org/tech/2009/03/08/extreme-programming-no-ceara/">explico os motivos nesse post</a>. Depois convidamos o Henrique Landim e por último o <a href="http://franciscobarroso.blogspot.com/">Francisco Barroso</a> para se tornarem coordenadores.</p>
<p><a class="alignleft" title="Curso Caelum em Fortaleza - agosto 2009 on Twitpic" href="http://twitpic.com/vl5kd"><img class="alignleft" style="margin-left: 5px; margin-right: 5px;" src="http://twitpic.com/show/thumb/vl5kd.jpg" alt="Curso Caelum em Fortaleza - agosto 2009 on Twitpic" width="150" height="150" /></a></p>
<p>Em agosto realizamos o <a href="http://www.milfont.org/tech/2009/08/12/cobertura-do-mare-de-agilidade/">Maré de Agilidade Fortaleza</a>, que nos deu uma boa perspectiva de como fazer um evento, aprendemos muito com os erros cometidos e vamos para 2010 agora com profissionalismo. Nesse mesmo evento nós formamos a primeiro turma da <a href="http://www.caelum.com.br/">Caelum</a> em Fortaleza, aos trancos e barrancos conseguimos trazer o <a href="http://www.fabiokung.com/">Fábio Kung</a> para nos ensinar um Rails de qualidade. Agradeço a <a href="http://www.caelum.com.br/">Caelum</a> e principalmente ao <a href="http://twitter.com/paulo_caelum/">Paulo Silveira</a> por nos ter presenteado com a vinda do Fábio Kung, que é um dos melhores profissionais do mundo e conseguiu impressionar profissionais com anos de mercado e alguns com mais de um ano em Rails mesmo sendo um curso básico. Em 2010 vamos tentar trazer a Caelum mais vezes.</p>
<p>Não daria para citar todos os amigos e profissionais envolvidos nesses eventos da XPCE, mas agradeço o desprendimento de todos vocês, quem nos acompanha sabe o esforço e dedicação que todos fizeram.</p>
<p><a class="alignleft" title="Share photos on twitter with Twitpic" href="http://twitpic.com/vl1hs"><img style="margin-left: 5px; margin-right: 5px;" src="http://twitpic.com/show/thumb/vl1hs.jpg" alt="Share photos on twitter with Twitpic" width="150" height="150" /></a></p>
<p>Esse ano li <a href="http://www.shelfari.com/cmilfont/tags/web%202_2e_0">cerca de 20 livros</a> para um <a href="http://www.milfont.org/tech/research/crowds/">projeto de pesquisa que estou escrevendo</a>, além de <a href="http://www.shelfari.com/cmilfont/shelf">alguns livros técnicos</a>. Fui muito ao cinema para assistir desenhos e filmes de ação com meu filho mas tive pouco tempo para escrever como eu gostaria.<a href="http://www.lastfm.com.br/user/cmilfont"> Ouvi pouco rock esse ano</a>, já que passo o tempo quase todo em clientes e não dá para voce botar fones de ouvidos quando trabalhamos com consultoria.</p>
<h2>Tempo de correr</h2>
<p>Em Setembro eu comecei um <a href="http://blogs.opovo.com.br/tempodecorrer/categorias/desafio-do-christiano/">desafio do jornal OPOVO</a> a convite do jornalista <a href="http://blogs.opovo.com.br/tempodecorrer/hamilton-nogueira/">Hamilton Nogueira</a> para sair do sedentarismo e <a href="http://opovo.uol.com.br/opovo/esportes/906206.html">fazer uma corrida de 5 km</a>. Como não nego uma boa briga, além de topar eu aumentei para 10 km, se vamos morrer pelo menos vamos com classe. O <a href="http://opovo.uol.com.br/opovo/esportes/937000.html">resultado foi que fiz a prova da Unifor</a>, 10 km, em 1:16 aproximadamente.</p>
<p><a class="alignright" title="CampeÃ£o on Twitpic" href="http://twitpic.com/ucbm8"><img style="margin-left: 5px; margin-right: 5px;" src="http://twitpic.com/show/thumb/ucbm8.jpg" alt="CampeÃ£o on Twitpic" width="150" height="150" /></a></p>
<p>Essa saída do sedentarismo foi graças ao acompanhamento do preparador físico Pedro Sena (<a href="http://opovo.uol.com.br/hotsite/quality/quality-acessoria-esportiva.html">Quality Assessoria</a>) que teve muita paciência e profissionalismo para suportar minha agenda um pouco fora do convencional. Essa saga vou publicar com mais calma em outro post.</p>
<p><a class="alignleft" title="treino de Jiujitsu na Gautama um tempo atrÃ¡s on Twitpic" href="http://twitpic.com/vl6u6"><img style="margin-left: 5px; margin-right: 5px;" src="http://twitpic.com/show/thumb/vl6u6.jpg" alt="treino de Jiujitsu na Gautama um tempo atrÃ¡s on Twitpic" width="150" height="150" /></a></p>
<p>Com um bom preparo físico o rendimento é outro, você consegue trabalhar e se divertir melhor. Até dores nas costas devido à obesidade eu já tinha, cheguei a pesar 110 kg.</p>
<p>Meus objetivos para o próximo ano com essa reviravolta  como atleta é correr uma meia maratona (que pretendo ser a do RJ no meio do ano) e voltar ao Jiujitsu que é meu esporte favorito. Até dei um treino em uma academia lá em Iguatu onde meu irmão treina. Em termos de esporte esse ano marcou meu renascimento.</p>
<p>Em termos familiar nunca estivemos tão bem, esposa amada (Renata Milfont) e filho saudável que #asgatapira. Feliz ano-novo para todos vocês e que 2010 seja melhor do que foi esse ano.</p>
<p><a title="FamÃ­lia on Twitpic" href="http://twitpic.com/tdg2a"><img src="http://twitpic.com/show/thumb/tdg2a.jpg" alt="FamÃ­lia on Twitpic" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/12/28/retrospectiva-2009/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Material do terceiro encontro XPCE</title>
		<link>http://www.milfont.org/tech/2009/10/27/material-do-terceiro-encontro-xpce/</link>
		<comments>http://www.milfont.org/tech/2009/10/27/material-do-terceiro-encontro-xpce/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 11:27:47 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Behaviour Driven Development]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[behaviour driven development]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[selenium]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=801</guid>
		<description><![CDATA[Projeto de exemplo com Cucumber, Selenium e Rails http://github.com/cmilfont/bddonrails Para executar o exemplo deve se lembrar de ter o java instalado [de preferência o da SUN] por dependência do Selenium. Execute os comandos abaixo para baixar e rodar a aplicação: BDD com Cucumber, Selenium e Rails View more presentations from Christiano Milfont.]]></description>
			<content:encoded><![CDATA[<p>Projeto de exemplo com Cucumber, Selenium e Rails <a href="http://github.com/cmilfont/bddonrails">http://github.com/cmilfont/bddonrails</a></p>
<p>Para executar o exemplo deve se lembrar de ter o java instalado [de preferência o da SUN] por dependência do Selenium. Execute os comandos abaixo para baixar e rodar a aplicação:</p>
<div id="gist-219501" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="n">git</span> <span class="nb">clone</span> <span class="n">git</span><span class="vi">@github</span><span class="o">.</span><span class="n">com</span><span class="ss">:cmilfont</span><span class="o">/</span><span class="n">bddonrails</span><span class="o">.</span><span class="n">git</span></div><div class='line' id='LC2'><span class="n">cd</span> <span class="n">bddonrails</span><span class="o">/</span></div><div class='line' id='LC3'><span class="n">sudo</span> <span class="n">rake</span> <span class="n">gems</span><span class="ss">:install</span> <span class="no">RAILS_ENV</span><span class="o">=</span><span class="nb">test</span></div><div class='line' id='LC4'><span class="c1">#lembre de trocar a senha do root no mysql ou mudar o banco</span></div><div class='line' id='LC5'><span class="n">rake</span> <span class="n">db</span><span class="ss">:create:all</span></div><div class='line' id='LC6'><span class="n">rake</span> <span class="n">db</span><span class="ss">:migrate</span></div><div class='line' id='LC7'><span class="n">rake</span> <span class="n">cucumber</span><span class="ss">:ok</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/219501/95276a429fd753cdf85620cd4d56aa2cd326d583/gistfile1.rb" style="float:right;">view raw</a>
            <a href="https://gist.github.com/219501#file_gistfile1.rb" style="float:right;margin-right:10px;color:#666">gistfile1.rb</a>
            <a href="https://gist.github.com/219501">This Gist</a> brought to you by <a href="http://github.com">GitHub</a>.
          </div>
        </div>
</div>

<div id="__ss_2356178" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="BDD com Cucumber, Selenium e Rails" href="http://www.slideshare.net/cmilfont/bdd-com-cucumber-selenium-e-rails">BDD com Cucumber, Selenium e Rails</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" 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://static.slidesharecdn.com/swf/ssplayer2.swf?doc=3encontro-091027061527-phpapp01&amp;stripped_title=bdd-com-cucumber-selenium-e-rails" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=3encontro-091027061527-phpapp01&amp;stripped_title=bdd-com-cucumber-selenium-e-rails" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/cmilfont">Christiano Milfont</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/10/27/material-do-terceiro-encontro-xpce/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3º Encontro XPCE &#8211; 2º Palestra confirmada</title>
		<link>http://www.milfont.org/tech/2009/09/21/3-encontro-xpce-2-palestra-confirmada/</link>
		<comments>http://www.milfont.org/tech/2009/09/21/3-encontro-xpce-2-palestra-confirmada/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 11:29:35 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Behaviour Driven Development]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[teste]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[behaviour driven development]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[testes]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=782</guid>
		<description><![CDATA[A grade foi finalizada com a confirmação da segunda palestra para o evento com um profissional experiente falando e demonstrando na prática como desenvolver com Rspec e Cucumber seguindo uma moderna abordagem chamada Behaviour Driven Development. Palestra: BDD prático com Cucumber, Selenium e RSpec Resumo: Palestra na forma de &#8220;hands on&#8221; com a construção de [...]]]></description>
			<content:encoded><![CDATA[<p>A grade foi finalizada com a confirmação da segunda palestra para o evento com um profissional experiente falando e demonstrando na prática como desenvolver com Rspec e Cucumber seguindo uma moderna abordagem chamada Behaviour Driven Development.</p>
<p><strong>Palestra: </strong><strong>BDD prático com Cucumber, Selenium e RSpec</strong></p>
<p><strong>Resumo:</strong> Palestra na forma de &#8220;hands on&#8221; com a construção de uma aplicação utilizando conceitos de BDD. Outside in development visto na prática através da construção e automação de user stories com Cucumber + Selenium e descrição de comportamento com RSpec e Remarkable</p>
<p><strong>Palestrante: Jefferson Jean Martins Girão</strong><br />
Desenvolvedor no Grupo Tubform (<a href="http://www.grupotubform.com.br/" target="_blank">http://www.grupotubform.com.br</a>) atualmente trabalhando na migração de um ERP industrial de MS FoxPro para Ruby on Rails e Javascript com EXTjs. Tem 4 anos de experiência em desenvolvimento de software já tendo passado por áreas como automação comercial, terceiro setor e gestão pública municipal.</p>
<p>Informações sobre o evento:</p>
<h2>Título: 3º Encontro XPCE &#8211; Comunidade eXtreme Programming do Ceará</h2>
<h2>Local: Faculdade FA7</h2>
<h2>Data: 24 de Outubro</h2>
<h2>Agenda</h2>
<ol>
<li>08:30 as 09:30 &#8211; BDD prático com Cucumber, Selenium e RSpec &#8211; Jefferson Girão</li>
<li>09:30 as 10:00 &#8211; Intervalo</li>
<li>10:00 as 11:00 &#8211; Automação de Testes Funcionais de Software com Selenium &#8211; Fabrício Lemos</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/09/21/3-encontro-xpce-2-palestra-confirmada/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3º Encontro XPCE &#8211; 1º Palestra confirmada</title>
		<link>http://www.milfont.org/tech/2009/09/13/3-encontro-xpce-1-palestra-confirmada/</link>
		<comments>http://www.milfont.org/tech/2009/09/13/3-encontro-xpce-1-palestra-confirmada/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 13:12:56 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[teste]]></category>
		<category><![CDATA[testes]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=757</guid>
		<description><![CDATA[Estamos preparando o 3º encontro da comunidade e já confirmamos a primeira palestra com um dos maiores especialistas em testes do Ceará, confiram abaixo: Palestra: Automação de Testes Funcionais de Software com Selenium Resumo: Serão discutidos conceitos e fundamentos de automação de testes funcionais e depois será apresentada a ferramenta multiplataforma para automação de testes [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Estamos preparando o 3º encontro da comunidade e já confirmamos a primeira palestra com um dos maiores especialistas em testes do Ceará, confiram abaixo:</p>
<p><strong>Palestra: Automação de Testes Funcionais de Software com Selenium</strong></p>
<p><strong>Resumo</strong>: Serão discutidos conceitos e fundamentos de automação de testes funcionais e depois será apresentada a ferramenta multiplataforma para automação de testes de sistemas web Selenium. Serão mostradas as características da ferramenta e o passo a passo para sua instalação, gravação e execução de suites de testes. Por fim serão discutidas boas práticas de automação de testes de software e de uso da ferramenta.</p>
<p><strong>Palestrante: Fabrício Dias Alves Lemos</strong></p>
<p>Bacharel em Ciência da Computação pela Universidade Federal do Ceará possui seis anos de experiência em desenvolvimento de software, cinco dos quais aplicando técnicas de automação de testes para sistemas do governo federal e estadual. Atualmente atua como analista de tecnologia da Secretaria da Fazenda do Ceará e mantem o blog <a href="http://www.fabriciolemos.org/blog/" target="_blank">http://www.fabriciolemos.org/blog/</a></p>
<p>Informações sobre o evento:</p>
<h2>Título: 3º Encontro XPCE &#8211; Comunidade eXtreme Programming do Ceará</h2>
<h2>Local: Faculdade FA7</h2>
<h2>Data: 24 de Outubro</h2>
<h2>Agenda</h2>
<ol>
<li>08:30 as 09:30 &#8211; Palestra em processo de definição</li>
<li>09:30 as 10:00 &#8211; Intervalo</li>
<li>10:00 as 11:00 &#8211; Automação de Testes Funcionais de Software com Selenium &#8211; Fabrício Lemos</li>
</ol>
<p>Fonte: <a href="http://www.xpce.org/2009/09/13/3%c2%ba-encontro-xpce-1%c2%ba-palestra-confirmada/">XPCE.org</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/09/13/3-encontro-xpce-1-palestra-confirmada/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cobertura do Maré de Agilidade</title>
		<link>http://www.milfont.org/tech/2009/08/12/cobertura-do-mare-de-agilidade/</link>
		<comments>http://www.milfont.org/tech/2009/08/12/cobertura-do-mare-de-agilidade/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 01:27:01 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Behaviour Driven Development]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Maré de Agilidade]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[mercado]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=737</guid>
		<description><![CDATA[Ainda na ressaca do Maré de Agilidade &#8211; Fortaleza, vou indexar toda a cobertura nesse post, se você conhece mais conteúdo sobre o evento, por favor me avise. Fotos http://picasaweb.google.com.br/lucianobeserra/CursoCaelum http://picasaweb.google.com.br/cmilfont/CursoCaelumRR11 http://picasaweb.google.com.br/handersonbf/MareDeAgilidade http://picasaweb.google.com/maredeagilidade/SwellFortalezaMinicursos http://picasaweb.google.com/maredeagilidade/SwellFortalezaPalestras http://picasaweb.google.com/maredeagilidade/SwellFortalezaConfraternizacoes http://www.manoelpimentel.com/fotos_eventos/72157622015680086/1 Twitter http://twitter.com/#search?q=maredeagilidade Posts http://agiletips.blogspot.com/2009/09/big-agile-wave-in-brazil.html http://pauloigor.blogspot.com/2009/08/mare-de-agilidade-em-fortaleza.html http://www.natanaelpantoja.com/tech/?p=299 http://felipebviana.wordpress.com/2009/08/10/mare-de-agilidade-fortaleza/ http://ialis.wordpress.com/2009/08/09/mais-agilidade-por-aqui/ http://www.handersonfrota.com.br/triadworks-no-mare-de-agilidade/ http://www.milfont.org/tech/2009/08/05/mare-de-agilidade/ http://henriquegogo.wordpress.com/2009/08/04/mare-de-agilidade-em-fortaleza/ http://www.cearaonrails.org/2009/07/29/esta-querendo-ir-ao-mare-de-agilidade-que-tal-concorrer-a-algumas-cortesias/ http://blog.seatecnologia.com.br/2009/07/20/mare-de-agilidade-e-oxente-rails http://iviablog.blogspot.com/2009/07/fortaleza-e-palco-para-o-evento-mare-de.html http://www.igocoelho.com.br/2009/07/14/promocao-para-o-mare-de-agilidade/ http://www.fa7.edu.br/ypiranga/noticia/noticia.php?id=848 http://www.fernandoquadro.com.br/html/2009/07/13/evento-mare-de-agilidade-2009/ http://www.eventosdeti.com.br/2009/07/mare-de-agilidade-fortaleza/ http://www.cejug.org/pages/viewpage.action?pageId=40632324 [...]]]></description>
			<content:encoded><![CDATA[<p>Ainda na ressaca do <a href="http://www.maredeagilidade.com.br/">Maré de Agilidade</a> &#8211; Fortaleza, vou indexar toda a cobertura nesse post, se você conhece mais conteúdo sobre o evento, por favor me avise.</p>
<h2>Fotos</h2>
<p><a href="http://picasaweb.google.com.br/lucianobeserra/CursoCaelum">http://picasaweb.google.com.br/lucianobeserra/CursoCaelum</a><br />
<a href="http://picasaweb.google.com.br/cmilfont/CursoCaelumRR11">http://picasaweb.google.com.br/cmilfont/CursoCaelumRR11</a><br />
<a href="http://picasaweb.google.com.br/handersonbf/MareDeAgilidade">http://picasaweb.google.com.br/handersonbf/MareDeAgilidade</a><br />
<a href="http://picasaweb.google.com/maredeagilidade/SwellFortalezaMinicursos">http://picasaweb.google.com/maredeagilidade/SwellFortalezaMinicursos</a><br />
<a href="http://picasaweb.google.com/maredeagilidade/SwellFortalezaPalestras">http://picasaweb.google.com/maredeagilidade/SwellFortalezaPalestras</a><br />
<a href="http://picasaweb.google.com/maredeagilidade/SwellFortalezaConfraternizacoes">http://picasaweb.google.com/maredeagilidade/SwellFortalezaConfraternizacoes</a><br />
<a href="http://www.manoelpimentel.com/fotos_eventos/72157622015680086/1">http://www.manoelpimentel.com/fotos_eventos/72157622015680086/1</a></p>
<h2>Twitter</h2>
<p><a href="http://twitter.com/#search?q=maredeagilidade">http://twitter.com/#search?q=maredeagilidade</a></p>
<h2>Posts</h2>
<p><a href="http://agiletips.blogspot.com/2009/09/big-agile-wave-in-brazil.html">http://agiletips.blogspot.com/2009/09/big-agile-wave-in-brazil.html</a><br />
<a href="http://pauloigor.blogspot.com/2009/08/mare-de-agilidade-em-fortaleza.html">http://pauloigor.blogspot.com/2009/08/mare-de-agilidade-em-fortaleza.html</a><br />
<a href="http://www.natanaelpantoja.com/tech/?p=299">http://www.natanaelpantoja.com/tech/?p=299</a><br />
<a href="http://felipebviana.wordpress.com/2009/08/10/mare-de-agilidade-fortaleza/">http://felipebviana.wordpress.com/2009/08/10/mare-de-agilidade-fortaleza/</a><br />
<a href="http://ialis.wordpress.com/2009/08/09/mais-agilidade-por-aqui/">http://ialis.wordpress.com/2009/08/09/mais-agilidade-por-aqui/</a><br />
<a href="http://www.handersonfrota.com.br/triadworks-no-mare-de-agilidade/">http://www.handersonfrota.com.br/triadworks-no-mare-de-agilidade/</a><br />
<a href="http://www.milfont.org/tech/2009/08/05/mare-de-agilidade/">http://www.milfont.org/tech/2009/08/05/mare-de-agilidade/</a><br />
<a href="http://henriquegogo.wordpress.com/2009/08/04/mare-de-agilidade-em-fortaleza/">http://henriquegogo.wordpress.com/2009/08/04/mare-de-agilidade-em-fortaleza/</a><br />
<a href="http://www.cearaonrails.org/2009/07/29/esta-querendo-ir-ao-mare-de-agilidade-que-tal-concorrer-a-algumas-cortesias/">http://www.cearaonrails.org/2009/07/29/esta-querendo-ir-ao-mare-de-agilidade-que-tal-concorrer-a-algumas-cortesias/</a><br />
<a href="http://blog.seatecnologia.com.br/2009/07/20/mare-de-agilidade-e-oxente-rails">http://blog.seatecnologia.com.br/2009/07/20/mare-de-agilidade-e-oxente-rails</a><br />
<a href="http://iviablog.blogspot.com/2009/07/fortaleza-e-palco-para-o-evento-mare-de.html">http://iviablog.blogspot.com/2009/07/fortaleza-e-palco-para-o-evento-mare-de.html</a><br />
<a href="http://www.igocoelho.com.br/2009/07/14/promocao-para-o-mare-de-agilidade/">http://www.igocoelho.com.br/2009/07/14/promocao-para-o-mare-de-agilidade/</a><br />
<a href="http://www.fa7.edu.br/ypiranga/noticia/noticia.php?id=848">http://www.fa7.edu.br/ypiranga/noticia/noticia.php?id=848</a><br />
<a href="http://www.fernandoquadro.com.br/html/2009/07/13/evento-mare-de-agilidade-2009/">http://www.fernandoquadro.com.br/html/2009/07/13/evento-mare-de-agilidade-2009/</a><br />
<a href="http://www.eventosdeti.com.br/2009/07/mare-de-agilidade-fortaleza/">http://www.eventosdeti.com.br/2009/07/mare-de-agilidade-fortaleza/</a><br />
<a href="http://www.cejug.org/pages/viewpage.action?pageId=40632324">http://www.cejug.org/pages/viewpage.action?pageId=40632324</a><br />
<a href="http://leonardoeloy.com/2009/05/13/mare-de-agilidade-fortaleza/">http://leonardoeloy.com/2009/05/13/mare-de-agilidade-fortaleza/</a></p>
<h2>Slides</h2>
<p><a href="http://www.slideshare.net/seatecnologia/manifesto-20">http://www.slideshare.net/seatecnologia/manifesto-20</a><br />
<a href="http://www.slideshare.net/seatecnologia/minicurso-ruby-e-rails">http://www.slideshare.net/seatecnologia/minicurso-ruby-e-rails</a><br />
<a href="http://www.slideshare.net/seatecnologia/minicurso-de-testesonrails">http://www.slideshare.net/seatecnologia/minicurso-de-testesonrails</a><br />
<a href="http://www.slideshare.net/fabiokung/onde-mora-a-produtividade-do-ruby-on-rails">http://www.slideshare.net/fabiokung/onde-mora-a-produtividade-do-ruby-on-rails</a><br />
<a href="http://www.slideshare.net/manoelp/gesto-lean-para-o-desenvolvimento-de-softwaremanoel-pimentel-verso-30">http://www.slideshare.net/manoelp/gesto-lean-para-o-desenvolvimento-de-softwaremanoel-pimentel-verso-30</a><br />
<a href="http://www.slideshare.net/cmilfont/mare-de-agilidade-bdd-e-tdd">http://www.slideshare.net/cmilfont/mare-de-agilidade-bdd-e-tdd</a><br />
<a href="http://www.slideshare.net/brunopedroso/curso-xp">http://www.slideshare.net/brunopedroso/curso-xp</a></p>
<h2>Videos</h2>
<p><a href="http://www.youtube.com/watch?v=IG7QzUjl5TM">http://www.youtube.com/watch?v=IG7QzUjl5TM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/08/12/cobertura-do-mare-de-agilidade/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Slides do Maré de Agilidade Fortaleza &#8211; 2009</title>
		<link>http://www.milfont.org/tech/2009/08/09/slides-do-mare-de-agilidade-fortaleza-2009/</link>
		<comments>http://www.milfont.org/tech/2009/08/09/slides-do-mare-de-agilidade-fortaleza-2009/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 11:57:15 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Behaviour Driven Development]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[behaviour driven development]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[maredeagilidade]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[ruby rails]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[teste]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=735</guid>
		<description><![CDATA[Mare de Agilidade &#8211; BDD e TDD View more presentations from Christiano Milfont.]]></description>
			<content:encoded><![CDATA[<div style="width:425px;text-align:left" id="__ss_1832390"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/cmilfont/mare-de-agilidade-bdd-e-tdd" title="Mare de Agilidade - BDD e TDD">Mare de Agilidade &#8211; BDD e TDD</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=maredeagilidademilfont-090809062633-phpapp01&#038;stripped_title=mare-de-agilidade-bdd-e-tdd" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=maredeagilidademilfont-090809062633-phpapp01&#038;stripped_title=mare-de-agilidade-bdd-e-tdd" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/cmilfont">Christiano Milfont</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/08/09/slides-do-mare-de-agilidade-fortaleza-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quanto testar?</title>
		<link>http://www.milfont.org/tech/2009/06/07/quanto-testar/</link>
		<comments>http://www.milfont.org/tech/2009/06/07/quanto-testar/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 14:35:41 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[mercado]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[teste]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[ROI]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=665</guid>
		<description><![CDATA[Uma métrica que sempre tenho dificuldade de aferir é o retorno sobre o investimento no aumento da quantidade de testes do sistema. Quando falo em testes aqui eu falo no conjunto de todos os tipos de testes, como: unitários, aceitação, integração, carga e demais necessários. A cobertura de testes é um investimento para redução de [...]]]></description>
			<content:encoded><![CDATA[<p>Uma métrica que sempre tenho dificuldade de aferir é o <a href="http://pt.wikipedia.org/wiki/Retorno_sobre_investimento">retorno sobre o investimento</a> no aumento da quantidade de testes do sistema.</p>
<p>Quando falo em testes aqui eu falo no conjunto de todos os tipos de testes, como: unitários, aceitação, integração, carga e demais necessários. A cobertura de testes é um investimento para redução de bugs na fórmula de ROI. Bugs são como &#8220;Back Order&#8221; na indústria e comércio, além de lucro perdido pela não-venda da mercadoria, ainda fragiliza a marca.</p>
<p>Um ponto crucial: EU ACREDITO EM COBERTURA DE 100%, mas não existe cobertura de 100%, então como podemos conviver com esse paradoxo?</p>
<p>Cobertura de 100% é uma meta ambiciosa de um mundo feliz onde não nos preocupamos com custos e escassez, ou seja, uma utopia. Utopia na vida real não é vendável, precisamos [mesmo a contragosto] medir os dados reais e encontrarmos um padrão aceitável.</p>
<p>Sabemos por consequência que<a href="http://www.infoq.com/news/2009/06/love_agile_testing"> testes aumentam a qualidade do software</a>, eu não tenho tanto problema quanto antes em vender testes de software, mesmo a empresa que não tem testes automáticos, sabem da importância de se testar o software [mesmo que manual].</p>
<p>Meu problema atual é como conseguir vender o aumento da cobertura, mas antes disso eu mesmo preciso entender até quanto testar é suficiente para se pagar.</p>
<h2>Power Law</h2>
<p>Conversando dia desses na <a href="http://www.fortesinformatica.com.br/">Fortes</a> com o <a href="http://blogue.claviustales.com.br/">Clavius Tales</a> sobre o seu <a href="http://blogue.claviustales.com.br/2009/04/18/quanto-testar/">post de mesmo preocupação</a>, ele me explicava porque encontrou uma função logarítmica e eu tive o mesmo sentimento em dois pontos: que o aumento de testes por mais insignificativo que seja já provoca uma redução drástica de bugs e que ao passar do tempo você tem a impressão de que os testes já não trazem mais retorno, como vocês podem ver no grafico abaixo. Vou chamar esse ponto de &#8220;Ponto de Acomodação&#8221;.</p>
<p><img class="size-full wp-image-76 aligncenter" title="funcionalidades x testes x defeitos" src="http://claviustales.files.wordpress.com/2009/04/funcionalidadestestesdefeitos.jpg?w=585&amp;h=238" alt="Funcionalidades x Testes x Defeitos" width="585" height="238" /></p>
<p>Fonte da imagem: <a href="http://claviustales.files.wordpress.com/2009/04/funcionalidadestestesdefeitos.jpg">Blog do Clavius Tales</a>.</p>
<p>Comentei com o Tales que concordo que a função seja mesmo logarítmica, mas que tenho a impressão que a curva é um pouco mais acentuada e o &#8220;Ponto de Acomodação Ideal&#8221; que deveria ser o &#8220;Ponto G&#8221; no mundo real é algo entre ele e o &#8220;Ponto B&#8221; e que devemos ir mais além. No gráfico do Tales ele mostra dois pontos de acomodação, o real no Ponto B [que é um engano e as empresas devem buscar sair dessa área] e o &#8220;ideal&#8221; no ponto G, aqui tratado.</p>
<p>Então temos dois fatores novos, a curva mais acentuada e o ponto de acomodação, que é o ponto onde as pessoas sentem que não adianta mais testar porque o inicio de testes já reduzem significativamente o número de bugs. Esse ponto de acomodação pode ser explicado por <a href="http://en.wikipedia.org/wiki/Pareto_distribution">Pareto</a> que é algo que funciona aproximado em quase tudo na vida, dizendo que 20% de alguma coisa geralmente representa 80% do todo.</p>
<p>Tenho ainda um terceiro sentimento provocado pela minha experiẽncia com testes, quanto mais testes nós fazemos, mais cedo detectamos bugs e sempre há pelo menos uma inconsistência que não tinhamos &#8220;pensado&#8221; antes. Pode até ser que seja finito a quantidade de testes necessários no sistema, mas esse número é muito grande e nunca consegui alcançar na prática, sempre há bugs.</p>
<p>Considerando esses fatores somados, podemos usar os cálculos do <a href="http://en.wikipedia.org/wiki/Power_Law">Power Law</a> ou cauda longa para melhorarmos o gráfico original do Tales de forma mais aproximado da redução de bugs com o aumento constante de testes no sistema.</p>
<p><img class="thumbimage" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Long_tail.svg/300px-Long_tail.svg.png" border="0" alt="" width="300" height="156" /></p>
<p>Fonte da imagem: <a href="http://en.wikipedia.org/wiki/File:Long_tail.svg">Wikipedia</a></p>
<p>Considero que a meta de cobertura de 100%, mesmo sendo irreal, é algo a ser buscado sempre, forçando o time a se policiar e aumentar o número de testes constantemente mesmo após a acentuada queda de bugs [que chamei de "Ponto de Acomodação"] e que 100% de cobertura não quer dizer livre de bugs porque a cauda sempre vai ser um número aproximado mas nunca toca o zero na prática. Esse caso se aproxima da <a href="http://www.longtailbook.co.uk/The-Long-Tail/03-The-98-Percent-Rule">regra de 98%</a>.</p>
<p>Considero também que dependendo da necessidade de software em produção um número aceitável de bugs a partir do &#8220;Ponto de Acomodação&#8221; não trás tanto retorno de investimento a curto prazo.</p>
<p>Vou começar a coletar informações de dois projetos atuais para verificar se a tendência desse gráfico satisfaz a realidade. Por enquanto preciso de mais informações para chegar a conclusões melhores.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/06/07/quanto-testar/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Recomendação sobre TDD</title>
		<link>http://www.milfont.org/tech/2009/06/01/recomendacao-sobre-tdd/</link>
		<comments>http://www.milfont.org/tech/2009/06/01/recomendacao-sobre-tdd/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 11:05:25 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Behaviour Driven Development]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[teste]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[behaviour driven development]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=644</guid>
		<description><![CDATA[O Bruno Pereira comentou em post passado sobre a dificuldade que ele teve em adotar TDD: &#8220;Já tentei algumas vezes escrever os testes unitários no começo, mas simplesmente prefiro a abordagem de escrever os testes posteriormente, preferencialmente acompanhando o desenvolvimento das funcionalidades de negócio.&#8221; Notei em diversas consultorias que isso é muito comum por diversos [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://brunopereira.org/">Bruno Pereira</a> <a href="http://www.milfont.org/tech/2009/02/03/pair-programming-vs-code-review/#comment-2176">comentou em post passado</a> sobre a dificuldade que ele teve em adotar TDD:</p>
<blockquote><p>&#8220;Já tentei algumas vezes escrever os testes unitários no começo, mas simplesmente prefiro a abordagem de escrever os testes posteriormente, preferencialmente acompanhando o desenvolvimento das funcionalidades de negócio.&#8221;</p></blockquote>
<p>Notei em diversas consultorias que isso é muito comum por diversos motivos, o principal a meu ver é justamente entender como começa o código do teste, em dois extremos: se depois que definiu o fluxo de processo de negócio de alguma forma [como UML, <a href="http://www.c2.com/doc/crc/draw.html">CRC</a> ou mesmo apenas com UC] ou se já começa algum esboço em código sem ter discutido bem como funciona totalmente o negócio.</p>
<p>A primeira abordagem, definir todo o processo primeiro, deixa a grande maioria dos desenvolvedores confortáveis já que é algo tradicional que vinhamos fazendo, mas o problema é que invariavelmente descamba para <a href="http://en.wikipedia.org/wiki/Big_Design_Up_Front">BDUF</a>.</p>
<p>A segunda abordagem, que está ligada ao desenvolvimento iterativo e incremental, já deixa um sentimento de que &#8220;algo está faltando&#8221; em grande parte dos times que tenho trabalhado. A resistência maior é deixar um sentimento de que não preparamos a arquitetura adequadamente e essa pode sofrer um revés num futuro próximo, claro que isso é uma bobagem para quem conhece como TDD funciona, mas é algo comum que tenho notado e precisa ser desmistificado.</p>
<p>Note que não estou falando aqui do sistema inteiro, apenas uma funcionalidade, mesmo assim a mudança cultural de quebrar uma funcionalidade em tarefas e ir desenvolvendo com &#8220;<a href="http://improveit.com.br/xp/principios/passos_bebe">passos de bebê</a>&#8221; é algo que dificulta a adoção.</p>
<h3>Como sanar essas deficiências?</h3>
<p>Precisamos de uma forma que conversassemos sobre a funcionalidade inteira mas que me permita ir avançando e atualizando conforme eu vá entendendo melhor como funciona.</p>
<p>Tenho trabalhado essas deficiências nos últimos times que peguei com <a href="http://dannorth.net/introducing-bdd">BDD</a> [Behaviour Driven Development] , iniciando a escrita das histórias [descrição daquela funcionalidade na visão de uma pessoa] seguindo o modelo de template que o <a href="http://dannorth.net/whats-in-a-story">Dan North sugeriu</a>. O resultado é que os times avançaram porque eles notaram como iniciar satisfatoriamente com testes sem comprometer a velocidade do desenvolvimento.</p>
<p>O BDD nos trouxe os testes para o inicio de qualquer código, praticamente sem distinguir que se está testando antes e associado com outras práticas como &#8220;<a href="http://improveit.com.br/xp/praticas/programacao_par">Programação em Par</a>&#8221; facilitou a <a href="http://c2.com/cgi/wiki?UbiquitousLanguage">linguagem ubíqua</a> do time.</p>
<p>Independente se é ágil ou tradicional eu tenho notado uma deficiência na coleta de informações, seja como User Stories ou Use Cases, onde os analistas de negócio, ou seja lá como são chamados nos times, não sabem pensar em negócio. Uma das coisas mais ridículas que vejo é o sujeito explicar para seu time uma funcionalidade com base em um DER ou outra estrutura técnica, dizendo coisas como: &#8220;a tabela tal, associada a entidade x&#8221;.</p>
<p>Tenho tentado corrigir isso nos times que enfrento como princípio básico, antes de qualquer coisa eu tento disciplinar a pensarem em negócio. Faço exercícios simples como questioná-los com &#8220;esqueçam de qualquer termo técnico&#8221; e &#8220;como essa funcionalidade é no papel?&#8221; ou &#8220;se não tivesse computador, como fariam isso?&#8221;, perguntas simples para instigar o raciocínio sobre a funcionalidade. Após esse exercício, escrevemos essa história em um arquivo e partimos para sua implementação.</p>
<p>Em março desse ano eu palestrei no primeiro encontro da <a href="http://groups.google.com.br/group/xpce/">XPCE</a> sobre BDD, <a href="http://www.milfont.org/tech/2009/03/29/palestra-behaviour-driven-development/">vejam os slides</a>. Em termos de ferramentas você pode conferir como temos trabalhado em um projeto recente seguindo os posts do Jefferson Girão:</p>
<p>Parte 1 <a href="http://jefferson.eti.br/?p=96" target="_blank">http://jefferson.eti.br/?p=96</a><br />
Parte 2 <a href="http://jefferson.eti.br/?p=105" target="_blank">http://jefferson.eti.br/?p=105</a><br />
Parte 3 <a href="http://jefferson.eti.br/?p=139" target="_blank">http://jefferson.eti.br/?p=139</a></p>
<p>Enfim, acredito que BDD seja um caminho natural para adoção de TDD por seu time já que eles terão código de teste, antes de qualquer coisa, na forma de negócio e o TDD já florescerá quando forem testar o modelo criado ou sugerido pelo código BDD. Ainda tem uma vantagem adicional, terão a documentação do sistema executável e comprovável.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/06/01/recomendacao-sobre-tdd/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

