<?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; Métodos Ágeis</title>
	<atom:link href="http://www.milfont.org/tech/tag/metodos-ageis/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>Palestra Agilidade no Mundo Real</title>
		<link>http://www.milfont.org/tech/2010/07/11/palestra-agilidade-no-mundo-real/</link>
		<comments>http://www.milfont.org/tech/2010/07/11/palestra-agilidade-no-mundo-real/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 11:43:05 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<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[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agilidade]]></category>
		<category><![CDATA[Agilismo]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=1007</guid>
		<description><![CDATA[Ontem eu palestrei na faculdade IDEZ em João Pessoa &#8211; PB a convite do Dr. Rodrigo Rebouças &#8211; Coordenador e professor de pós graduação em dev de software -  sobre o tema &#8220;Agilidade no Mundo Real&#8221;, que consistiu basicamente em falar sobre minha experiência em implantação, mentoring e treinamento de agilidade em meus clientes nos [...]]]></description>
			<content:encoded><![CDATA[<p>Ontem eu <a href="http://www.faculdadeidez.com.br/noticias/detalhe/?id=68">palestrei</a> na <a href="http://www.faculdadeidez.com.br/">faculdade IDEZ</a> em João Pessoa &#8211; PB a convite do <a href="http://rodrigor.com/">Dr. Rodrigo Rebouças</a> &#8211; Coordenador e professor de pós graduação em dev de software -  sobre o tema &#8220;Agilidade no Mundo Real&#8221;, que consistiu basicamente em falar sobre minha experiência em implantação, mentoring e treinamento de agilidade em meus clientes nos últimos 2 anos.</p>
<p><a href="http://twitter.com/mauriciojr">Maurício Linhares</a> também é professor da IDEZ, o que me deixa particularmente feliz em saber que tem gente capaz dentro da academia que pode fazer diferença. Esse contato entre mercado e academia é importante para todos e creio que os alunos ontem tiveram muito dever de casa para fazer.</p>
<p>Ontem anotei muitas dúvidas discutidas na mesa redonda que fizemos após as palestras e nos próximos dias eu postarei sobre as principais dificuldades em entender o que é agilidade, que TDD não evita equipe de Testes ou QA e nem sequer tem a ver com cobertura de código, que agilidade não é velocidade, inclusive pode ser mais lento em determinados períodos, confusão entre práticas, valores e princípios, entre outras coisas.</p>
<p>Sobre minha palestra eu falei sobre as dificuldades que encontro, como melhorar a adoção dos valores e princípios trabalhando a base. Vocês podem acompanhar nos slides e video abaixo:</p>
<div id="__ss_4728171" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Agilidade no mundo real" href="http://www.slideshare.net/cmilfont/agilidade-nomun-doreal">Agilidade no mundo real</a></strong><object id="__sse4728171" 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=agilidadenomundoreal-100710213154-phpapp01&amp;stripped_title=agilidade-nomun-doreal" /><param name="name" value="__sse4728171" /><param name="allowfullscreen" value="true" /><embed id="__sse4728171" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=agilidadenomundoreal-100710213154-phpapp01&amp;stripped_title=agilidade-nomun-doreal" name="__sse4728171" 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://static.livestream.com/chromelessPlayer/wrappers/TwitcamPlayer.swf?hash=14e6c">Vídeo do Evento</a><br />
<object id="twitcamPlayer" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="265" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="wmode" value="window" /><param name="src" value="http://static.livestream.com/chromelessPlayer/wrappers/TwitcamPlayer.swf?hash=14e6c" /><param name="name" value="twitcamPlayer" /><param name="bgcolor" value="#ffffff" /><param name="allowfullscreen" value="true" /><embed id="twitcamPlayer" type="application/x-shockwave-flash" width="320" height="265" src="http://static.livestream.com/chromelessPlayer/wrappers/TwitcamPlayer.swf?hash=14e6c" bgcolor="#ffffff" name="twitcamPlayer" wmode="window" allowfullscreen="true"></embed></object></p>
<h2>Referências sobre os slides de minha palestra</h2>
<p>O que é agilidade?<br />
<a href="http://manifestoagil.com.br/">http://manifestoagil.com.br/</a><br />
<a href="http://www.milfont.org/tech/extreme-programming-books/">http://www.milfont.org/tech/extreme-programming-books/</a></p>
<p>Scripts do workflow GIT sobre os slides do &#8220;Merge From Hell&#8221;<br />
<a href="http://reinh.com/blog/2009/03/02/a-git-workflow-for-agile-teams.html">http://reinh.com/blog/2009/03/02/a-git-workflow-for-agile-teams.html</a><br />
<a href="http://reinh.com/blog/2008/08/27/hack-and-and-ship.html">http://reinh.com/blog/2008/08/27/hack-and-and-ship.html</a><br />
<a href="http://gist.github.com/8511">http://gist.github.com/8511</a></p>
<p>Trabalho energizado<br />
Pair Programming<br />
<a href="http://www.milfont.org/tech/2010/06/17/trabalho-energizado-e-a-teoria-das-2-horas-produtivas/">http://www.milfont.org/tech/2010/06/17/trabalho-energizado-e-a-teoria-das-2-horas-produtivas/</a><br />
<a href="http://www.milfont.org/tech/2009/02/03/pair-programming-vs-code-review/">http://www.milfont.org/tech/2009/02/03/pair-programming-vs-code-review/</a></p>
<p>Automação Total<br />
<a href="http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html">http://radar.oreilly.com/2009/03/continuous-deployment-5-eas.html</a><br />
<a href="http://blog.caelum.com.br/2010/03/01/o-processo-de-deploy-continuo/">http://blog.caelum.com.br/2010/03/01/o-processo-de-deploy-continuo/</a><br />
<a href="http://agilenomundoreal.com.br/2010/07/06/deploy-continuo-entrega-continua-de-valor/">http://agilenomundoreal.com.br/2010/07/06/deploy-continuo-entrega-continua-de-valor/</a></p>
<p><a href="http://railscasts.com/episodes/179-seed-data">http://railscasts.com/episodes/179-seed-data</a></p>
<p>Testes<br />
<a href="http://www.milfont.org/tech/2009/06/01/recomendacao-sobre-tdd/">http://www.milfont.org/tech/2009/06/01/recomendacao-sobre-tdd/</a><br />
<a href="http://www.milfont.org/tech/2009/06/07/quanto-testar/">http://www.milfont.org/tech/2009/06/07/quanto-testar/</a></p>
<p>Sem tempo suficiente<br />
<a href="http://www.milfont.org/tech/2010/06/29/sem-tempo-suficiente/">http://www.milfont.org/tech/2010/06/29/sem-tempo-suficiente/</a></p>
<p>Dar caos a ordem</p>
<p>Destruir arquiteturas de referências<a href=" http://www.milfont.org/tech/2010/01/21/voce-esta-nivelando-por-baixo-eou-nao-conhece-seus-desenvolvedores/"></p>
<p>http://www.milfont.org/tech/2010/01/21/voce-esta-nivelando-por-baixo-eou-nao-conhece-seus-desenvolvedores/</a></p>
<p><a href="http://www.milfont.org/tech/2008/01/20/frameworkstools-caseiros-ou-fechados/">http://www.milfont.org/tech/2008/01/20/frameworkstools-caseiros-ou-fechados/</a><br />
<a href="http://www.milfont.org/tech/2009/06/06/frameworks-caseiros-2-a-missao/">http://www.milfont.org/tech/2009/06/06/frameworks-caseiros-2-a-missao/</a><br />
<a href="http://www.milfont.org/tech/2008/01/21/nao-use-notacao-estranha/">http://www.milfont.org/tech/2008/01/21/nao-use-notacao-estranha/</a></p>
<p>Separar gerenciamento de projetos do processo de desenvolvimento<br />
Pmbok de Jeans<br />
<a href="http://www.milfont.org/tech/2009/03/14/pmbok-de-jeans/">http://www.milfont.org/tech/2009/03/14/pmbok-de-jeans/</a></p>
<p>Software Funcionando<br />
<a href="http://www.milfont.org/tech/2009/09/17/qualidade-interna-vs-qualidade-externa/">http://www.milfont.org/tech/2009/09/17/qualidade-interna-vs-qualidade-externa/</a></p>
<p>Retrabalho e Prejuízo<br />
<a href="http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/">http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/</a></p>
<p>Workflow ágil e simples<br />
<a href="http://www.pivotaltracker.com">http://www.pivotaltracker.com</a><br />
<a href="http://github.com/tpope/pickler">http://github.com/tpope/pickler</a><br />
<a href="http://github.com/trydionel/git-pivotal">http://github.com/trydionel/git-pivotal</a><br />
<a href="http://www.pivotaltracker.com/help/api?version=v3#scm_post_commit">http://www.pivotaltracker.com/help/api?version=v3#scm_post_commit</a></p>
<p>Jesus recomendando o trabalho em par<br />
“E depois disto designou o Senhor ainda outros setenta, e mandou-os adiante da sua face, de dois em dois, a todas as cidades  e lugares aonde ele havia de ir.”<br />
<a href="http://www.bibliaonline.com.br/acf/lc/10">Lucas 10:1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2010/07/11/palestra-agilidade-no-mundo-real/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Defesa Tardia do RUP</title>
		<link>http://www.milfont.org/tech/2010/03/08/defesa-tardia-do-rup/</link>
		<comments>http://www.milfont.org/tech/2010/03/08/defesa-tardia-do-rup/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:29:39 +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[Scrum]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[cascata]]></category>
		<category><![CDATA[rup]]></category>
		<category><![CDATA[scrumbut]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=881</guid>
		<description><![CDATA[Eu ia escrever um post gigantesco sobre o porquê do RUP ter morrido mas vou tentar ir direto pro cerne da questão. Ultimamente eu vejo muita gente dizer que RUP não deu certo por culpa humana e que só existem 3 caras no Brasil inteiro que entendem como a mágina do RUP funciona, entre outros [...]]]></description>
			<content:encoded><![CDATA[<p>Eu ia escrever um post gigantesco sobre o porquê do RUP ter morrido mas vou tentar ir direto pro cerne da questão. Ultimamente eu vejo muita gente dizer que RUP não deu certo por culpa humana e que só existem 3 caras no Brasil inteiro que entendem como a mágina do RUP funciona, entre outros argumentos desse estilo.</p>
<p>É muito fácil defender RUP hoje em dia depois de toda evolução do mercado [que diga-se de passagem o RUP só ajudou sendo a antítese do caminho correto], duvido que esses 3 únicos caras que supostamente conhecem a pedra filosofal do RUP fizessem o que fazem [ou devem fazer] hoje antes desses últimos 15 anos de discussão e experimento ágil.</p>
<p>É difícil imaginar que Kent Beck, Martin Fowler e tantos outros que começaram a propagar o agilismo após o manifesto ágil não conhececem RUP a ponto de,  como os defensores atuais do RUP afirmam: &#8220;renomearam práticas antigas com nomes novos&#8221;.</p>
<p>Meus caros, práticas não são o coração do agilismo, são os valores e princípios. RUP sempre valorizou os itens à direita em detrimento aos itens à esquerda no manifesto ágil, então não me venham com essa de que seguir o plano nunca foi prioritário do RUP. RUP é uma metodologia que não deu certo porque foi uma tentativa de taylorizar o desenvolvimento de software.</p>
<p>ps. Notaram que não linkei nada? Preguiça de responder esse tipo de coisa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2010/03/08/defesa-tardia-do-rup/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Maré de Agilidade</title>
		<link>http://www.milfont.org/tech/2009/08/05/mare-de-agilidade/</link>
		<comments>http://www.milfont.org/tech/2009/08/05/mare-de-agilidade/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 13:56:37 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Linguagens]]></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[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[CearaOnRails]]></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>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=731</guid>
		<description><![CDATA[Ontem começou o Maré de Agilidade com o curso RR11 de Ruby on Rails da Caelum com o Fábio Kung, que não precisa de apresentações [se você não sabe quem é Fábio Kung então mude de profissão]. Como o Kung está indo integrar o time da Locaweb, [apesar de continuar como instrutor na Caelum] essa [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.igocoelho.com.br/wp-content/uploads/2009/05/mare_agilidade.jpeg" alt="Mare de Agilidade" /></p>
<p>Ontem começou o <a href="http://www.maredeagilidade.com.br/">Maré de Agilidade</a> com o curso <a href="http://www.caelum.com.br/curso/rr-11-ruby-on-rails/">RR11 de Ruby on Rails</a> da <a href="http://www.caelum.com.br">Caelum</a> com o <a href="http://www.fabiokung.com">Fábio Kung</a>, que não precisa de apresentações [se você não sabe quem é Fábio Kung então mude de profissão].</p>
<p>Como o Kung está <a href="http://fabiokung.com/2009/07/27/status-report-new-job-new-life/">indo integrar o time da Locaweb</a>, [apesar de continuar como instrutor na Caelum] essa é a última oportunidade de tê-lo conosco para ministrar esse curso, a turma foi agraciada com a sorte.</p>
<p><img src="http://s3.amazonaws.com/twitpic/photos/large/21428094.jpg?AWSAccessKeyId=0ZRYP5X5F6FSMBCCSE82&amp;Expires=1249479118&amp;Signature=4CwqGUZlOTxWlDFv3et3mnthV3Q%3D" alt="mare na Milfont Consulting" /></p>
<p>Na quinta e na sexta <a href="http://www.maredeagilidade.com.br/programacao.html">acontecerão os minicursos</a> oficiais do Maré de Agilidade com o <a href="http://manoelpimentel.blogspot.com/">Manoel Pimentel</a> da <a href="http://www.visaoagil.com/">Visão Ágil</a> e a turma da empresa <a href="http://www.seatecnologia.com.br">SEA Tecnologia</a> [ <a href="http://www.maredeagilidade.com.br/palestrantes.html?#willi">Renato Willi</a>, <a href="http://expressocapital.blogspot.com/">Bruno Pedroso</a> e <a href="http://www.maredeagilidade.com.br/palestrantes.html?#alegomes">Alexandre Gomes</a>],  ambos organizadores do evento.</p>
<p>No sábado acontecerão as palestras com todos que ministraram/rão cursos além de <a href="http://blogue.claviustales.com.br/">Clavius Tales</a>, Fabiano Milani da <a href="http://www.adaptworks.com.br/">Adaptworks</a> e um tal de Christiano Milfont.</p>
<p>Todos os minicursos estão com vagas esgotadas, se você quiser ainda participar do Maré de Agilidade, <a href="http://www.fortestreinamentos.com.br/v3/inscricaoOnline.php?id=465">corra para a inscrição das palestras</a> enquanto há tempo.</p>
<p>Para finalizar o Maré, a Adaptworks promove o curso &#8220;Planejamento e estimativas em projetos ágeis&#8221;, através do telefone (11)5585-7738 ou pelo e-mail contato@adaptworks.com.br na sede do CGDT.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/08/05/mare-de-agilidade/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Palestra Test Driven Development</title>
		<link>http://www.milfont.org/tech/2009/03/29/palestra-test-driven-development/</link>
		<comments>http://www.milfont.org/tech/2009/03/29/palestra-test-driven-development/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 10:58:46 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linguagens]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Orientação a Objetos]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[teste]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[behaviour driven development]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[palestra]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=600</guid>
		<description><![CDATA[Palestra realizada no evento do grupo XPCE em 28/03/2009. Test Driven Development View more presentations from Christiano Milfont.]]></description>
			<content:encoded><![CDATA[<p>Palestra realizada no evento do grupo <a href="http://groups.google.com.br/group/xpce">XPCE</a> em <a href="../2009/03/27/primeiro-encontro-xpce-mudancas-na-grade/">28/03/2009</a>.</p>
<div id="__ss_1216427" 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="Test Driven Development" href="http://www.slideshare.net/cmilfont/test-driven-development-1216427?type=presentation">Test Driven Development</a><object 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=testdrivendevelopment-rev2-090329051331-phpapp01&amp;stripped_title=test-driven-development-1216427" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=testdrivendevelopment-rev2-090329051331-phpapp01&amp;stripped_title=test-driven-development-1216427" 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/03/29/palestra-test-driven-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Palestra Behaviour Driven Development</title>
		<link>http://www.milfont.org/tech/2009/03/29/palestra-behaviour-driven-development/</link>
		<comments>http://www.milfont.org/tech/2009/03/29/palestra-behaviour-driven-development/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 10:52:56 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[palestras]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[behaviour driven development]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[palestra]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=596</guid>
		<description><![CDATA[Palestra realizada no evento do grupo XPCE em 28/03/2009. Behaviour Driven Development View more presentations from Christiano Milfont.]]></description>
			<content:encoded><![CDATA[<p>Palestra realizada no evento do grupo <a href="http://groups.google.com.br/group/xpce">XPCE</a> em <a href="http://www.milfont.org/tech/2009/03/27/primeiro-encontro-xpce-mudancas-na-grade/">28/03/2009</a>.</p>
<div id="__ss_1216414" 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="Behaviour Driven Development" href="http://www.slideshare.net/cmilfont/behaviour-driven-developmentrev2?type=powerpoint">Behaviour Driven Development</a><object 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=behaviourdrivendevelopment-rev2-090329050610-phpapp01&amp;stripped_title=behaviour-driven-developmentrev2" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=behaviourdrivendevelopment-rev2-090329050610-phpapp01&amp;stripped_title=behaviour-driven-developmentrev2" 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/03/29/palestra-behaviour-driven-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Primeiro Encontro XPCE &#8211; Mudanças na grade</title>
		<link>http://www.milfont.org/tech/2009/03/27/primeiro-encontro-xpce-mudancas-na-grade/</link>
		<comments>http://www.milfont.org/tech/2009/03/27/primeiro-encontro-xpce-mudancas-na-grade/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 17:28:47 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<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[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=592</guid>
		<description><![CDATA[Devido a problemas de saúde do palestrante Igo Coelho, sua palestra foi cancelada e vai ser realizar no próximo evento provavelmente. A programação continua apenas com uma palestra: 09:00 &#8211; 10:20 Palestra: Começando a usar BDD e TDD Resumo: Se você nunca entendeu como é que se escreve testes antes do código ou ainda não [...]]]></description>
			<content:encoded><![CDATA[<p>Devido a problemas de saúde do palestrante <a href="http://www.igocoelho.com.br/">Igo Coelho</a>, sua palestra foi cancelada e vai ser realizar no próximo evento provavelmente. A <a href="http://www.milfont.org/tech/2009/03/16/primeiro-encontro-xpce/">programação continua</a> apenas com uma palestra:</p>
<p>09:00 &#8211; 10:20</p>
<p><em>Palestra</em>: <strong>Começando a usar BDD e TDD</strong><br />
<em>Resumo</em>: Se você nunca entendeu como é que se escreve testes antes do código ou ainda não conseguiu uma forma satisfatória de seguir essa prática, aproveite essa oportunidade onde dissecaremos Test Driven Development até convencê-lo de que essa é a abordagem profissional adequada, além disso facilitaremos a compreensão em um nível mais abstrato com Behaviour Driven Development agilizando o mergulho de cabeça nessa forma de modelar código saudável e eficiente.<br />
<em>Palestrante</em>: <strong>Christiano Milfont</strong>, coordenador do grupo XPCE e um cara que gosta de programar.</p>
<p><strong>Local</strong>: <a href="http://www.grupofortes.com.br/">Fortes Informática</a>.</p>
<p><strong>Endereço</strong>: Rua Antônio Fortes, 330, Bairro Edson Queiroz, próximo ao antigo Hiper Mercantil da Washington Soares. Localização com o <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;ll=-3.773091,-38.475966&amp;spn=0.018842,0.040169&amp;t=k&amp;z=15&amp;om=1&amp;msid=118046180333911632049.0004346aca4990deed4ba">Google Maps</a>.</p>
<p><strong>Data</strong>: Dia 28/03/2009 [sábado] das 09:00h as 12:00h na sala de treinamentos 1.</p>
<p><strong>XPCE </strong>- Grupo de Extreme Programming do Ceará.</p>
<p>[<a href="http://groups.google.com.br/group/xpce">http://groups.google.com.br/group/xpce</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/03/27/primeiro-encontro-xpce-mudancas-na-grade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Primeiro Encontro XPCE</title>
		<link>http://www.milfont.org/tech/2009/03/16/primeiro-encontro-xpce/</link>
		<comments>http://www.milfont.org/tech/2009/03/16/primeiro-encontro-xpce/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 18:16:43 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<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[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[xpce]]></category>
		<category><![CDATA[Agil]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Test Driven Development]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=557</guid>
		<description><![CDATA[Primeiro encontro XPCE XPCE - Grupo de Extreme Programming do Ceará. [http://groups.google.com.br/group/xpce] Local: Fortes Informática. Endereço: Rua Antônio Fortes, 330, Bairro Edson Queiroz, próximo ao antigo Hiper Mercantil da Washington Soares. Localização com o Google Maps. Data: Dia 28/03/2009 [sábado] das 09:00h as 12:00h na sala de treinamentos 1. Palestras 09:00 &#8211; 10:20 Palestra: Começando [...]]]></description>
			<content:encoded><![CDATA[<h2>Primeiro encontro XPCE</h2>
<p><strong>XPCE </strong>- Grupo de Extreme Programming do Ceará.</p>
<p>[<a href="http://groups.google.com.br/group/xpce">http://groups.google.com.br/group/xpce</a>]</p>
<p><strong>Local</strong>: <a href="http://www.grupofortes.com.br/">Fortes Informática</a>.</p>
<p><strong>Endereço</strong>: Rua Antônio Fortes, 330, Bairro Edson Queiroz, próximo ao antigo Hiper Mercantil da Washington Soares. Localização com o <a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;ll=-3.773091,-38.475966&amp;spn=0.018842,0.040169&amp;t=k&amp;z=15&amp;om=1&amp;msid=118046180333911632049.0004346aca4990deed4ba">Google Maps</a>.</p>
<p><strong>Data</strong>: Dia 28/03/2009 [sábado] das 09:00h as 12:00h na sala de treinamentos 1.</p>
<h3>Palestras</h3>
<p>09:00 &#8211; 10:20</p>
<p><em>Palestra</em>: <strong>Começando a usar BDD e TDD</strong><br />
<em>Resumo</em>: Se você nunca entendeu como é que se escreve testes antes do código ou ainda não conseguiu uma forma satisfatória de seguir essa prática, aproveite essa oportunidade onde dissecaremos Test Driven Development até convencê-lo de que essa é a abordagem profissional adequada, além disso facilitaremos a compreensão em um nível mais abstrato com Behaviour Driven Development agilizando o mergulho de cabeça nessa forma de modelar código saudável e eficiente.<br />
<em>Palestrante</em>: <strong>Christiano Milfont</strong>, coordenador do grupo XPCE e um cara que gosta de programar.</p>
<p>10:40 &#8211; 12:00</p>
<p><em>Palestra</em>: <strong>Integração Contínua</strong><br />
<em>Resumo</em>: Descubra o que projetos ágeis fazem para possibilitar que diversos desenvolvedores trabalhem juntos em um mesmo projeto, integrando suas contribuições de forma harmônica e segura.<br />
<em>Palestrante</em>: <strong>Igo Coelho</strong>, fanático por desenvolvimento de software, novas tecnologias, internet, eletrônicos e tudo mais que um geek pode gostar. Com mais de 9 anos de experiência em desenvolvimento de Software trabalha atualmente na <a href="http://www.fortesinformatica.com.br/" target="_blank">Fortes Informática</a> como arquiteto de software com XP e Java. Casado, pai de dois filhos e mantem um blog em <a href="http://www.igocoelho.com.br/" target="_blank">www.igocoelho.com.br</a>.</p>
<p>Sorteio de livros e revistas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/03/16/primeiro-encontro-xpce/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Retrabalho e prejuízo</title>
		<link>http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/</link>
		<comments>http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 15:17:07 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Certificações]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[domain driven design]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=488</guid>
		<description><![CDATA[Em todos os projetos que trabalhei até hoje no mercado local [Ceará] existem profissionais mais ou menos qualificados a partir de uma base mínima de qualidade que um profissional tem que possuir dentro do modelo &#8220;Enterprisey&#8221; &#8211; que estamos acostumados e que responde pela quase totalidade dos projetos de software. Essa base mínima eu proponho [...]]]></description>
			<content:encoded><![CDATA[<p>Em todos os projetos que trabalhei até hoje no mercado local [Ceará] existem profissionais mais ou menos qualificados a partir de uma base mínima de qualidade que um profissional tem que possuir dentro do modelo &#8220;Enterprisey&#8221; &#8211; que estamos acostumados e que responde pela quase totalidade dos projetos de software.</p>
<p>Essa base mínima eu proponho que seja &#8211; dentro do modelo exposto -  raciocínio lógico. O resto ele pode aprender.</p>
<p>Raciocínio lógico está ligado diretamente a noção de avaliar a situação, encontrar um padrão, investigar soluções existentes e implementar a solução, além claro de bom senso.</p>
<p>Não adianta pregarmos que os profissionais deveriam ser melhor escolhidos assim ou assado porque a realidade é que as empresas não tem como medir satisfatoriamente quem é ou não competente e mais cedo ou mais tarde você se deparará com indivíduos em sua equipe vindos por diversas nuances administrativas, seja aquele superqualificado cheio de títulos ou o primo do diretor da empresa.</p>
<p>Aonde quero chegar com essa história?</p>
<p>Precisamos avaliar os riscos necessários com bastante antecedência para que toda a equipe e consequentemente o projeto não sejam lesados e paguem o preço da incompetência às vezes de um único elemento. Parece óbvio? Acredite, não é!</p>
<p>Temos um projeto em um cliente &#8211; uma Alfândega &#8211; que precisamos refatorar todo o código criado por um determinado profissional com apenas dois ou três meses pronto. O projeto ainda está no início e já temos que refazer código.</p>
<p>Convenhamos, tudo bem que o código de meia hora atrás já é legado, mas código tão recente não deveria já ser refatorado sem mudança na lógica de negócio ou arquitetural. Algo muito errado aconteceu.</p>
<p>Mudanças não funcionais acontecem, surge um novo paradigma ou framework que reduz o tempo de desenvolvimento e convenientemente é adequado sua mudança, isso é comum durante a manutenção de um software já em produção com um meio século de uso &#8211; que em informática dura cerca de 4 ou 5 anos.</p>
<p>O nosso em questão não há motivos. Projeto novo, sem restrição ou adequação à &#8220;Arquitetura de Referência&#8221;, Frameworks de última milha na plataforma Java como JSF, Spring e Hibernate. Testes unitários &#8211; mas não TDD.</p>
<p>Como dito, separei um exemplo em código para demonstrar aonde quero chegar. Tem uma lógica bastante simples, existe um processo de apreensão de mercadorias na alfândega e liberação dessa mercadoria.</p>
<p>Há 3 tabelas que representam isso no modelo E/R: TB_DEVOLUCAO, TB_ITEM_APREENSAO, TB_ITEM_DEVOLUCAO. Segundo a lógica relacional, a TB_ITEM_DEVOLUCAO é uma tabela de junção entre a devolução e os itens apreendidos para indicar que item será devolvido.</p>
<p>Seguindo minha definição, um profissional com raciocínio lógico encontraria fácil a solução do mapeamento entre essas entidades apenas lendo a documentação, ele saberia que o <a href="http://www.hibernate.org">Hibernate</a> tem um mapeamento de <a href="http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#entity-mapping-association-collections">OneToMany com Join Table Uni ou Bidirecional</a>.</p>
<p>Mas não, ele criou essa bizarrice:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@<span style="color: #003399;">Entity</span>
@Table<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Devolucao <span style="color: #009900;">&#123;</span>
&nbsp;
	@OneToMany<span style="color: #009900;">&#40;</span>fetch<span style="color: #339933;">=</span>FetchType.<span style="color: #006633;">LAZY</span>, cascade<span style="color: #339933;">=</span>CascadeType.<span style="color: #006633;">ALL</span><span style="color: #009900;">&#41;</span>
	@JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
	@Cascade<span style="color: #009900;">&#40;</span>org.<span style="color: #006633;">hibernate</span>.<span style="color: #006633;">annotations</span>.<span style="color: #006633;">CascadeType</span>.<span style="color: #006633;">DELETE_ORPHAN</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> List<span style="color: #339933;">&lt;</span>ItemDevolucao<span style="color: #339933;">&gt;</span> itensDevolucao <span style="color: #339933;">=</span> 
		<span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>ItemDevolucao<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
@<span style="color: #003399;">Entity</span>
@Table<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_ITEM_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ItemDevolucao <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//Para que essa entidade?</span>
&nbsp;
	@Id
	@GeneratedValue<span style="color: #009900;">&#40;</span>strategy <span style="color: #339933;">=</span> GenerationType.<span style="color: #006633;">IDENTITY</span><span style="color: #009900;">&#41;</span>
	@Column<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_DEVOLUCAO&quot;</span>, columnDefinition<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;NUMERIC&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> codigo<span style="color: #339933;">;</span>
&nbsp;
	@OneToOne
	@JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_APREENSAO&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> ItemApreensao itemApreensao<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Esse profissional em questão é graduado em computação, tem mestrado em uma federal, certificação como arquiteto Java e diversas outras certificações e pasme, anos de experiência em projetos. Mas não tem o básico, raciocínio lógico. Não investiga e não sabe desenvolver software de qualidade.</p>
<p>O código em questão pode parecer bobagem até mas isso se repete em todo o código criado por esse profissional.</p>
<p>Um profissional responsável em refatorar o código com apenas curso técnico e uma mísera certificação de programador java refatorou assim [como deve ser]:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">@<span style="color: #003399;">Entity</span>
@Table<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Devolucao <span style="color: #009900;">&#123;</span>
&nbsp;
	@OneToMany<span style="color: #009900;">&#40;</span>fetch<span style="color: #339933;">=</span>FetchType.<span style="color: #006633;">LAZY</span>, cascade<span style="color: #339933;">=</span>CascadeType.<span style="color: #006633;">ALL</span><span style="color: #009900;">&#41;</span>
	@JoinTable<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;TB_ITEM_DEVOLUCAO&quot;</span>,
		joinColumns <span style="color: #339933;">=</span> @JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_DEVOLUCAO&quot;</span><span style="color: #009900;">&#41;</span>,
		inverseJoinColumns <span style="color: #339933;">=</span> 
				@JoinColumn<span style="color: #009900;">&#40;</span>name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;SEQ_ITEM_APREENSAO&quot;</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span>
	@Cascade<span style="color: #009900;">&#40;</span>org.<span style="color: #006633;">hibernate</span>.<span style="color: #006633;">annotations</span>.<span style="color: #006633;">CascadeType</span>.<span style="color: #006633;">DELETE_ORPHAN</span><span style="color: #009900;">&#41;</span>
	<span style="color: #000000; font-weight: bold;">private</span> List<span style="color: #339933;">&lt;</span>ItemApreensao<span style="color: #339933;">&gt;</span> itensDevolvidos <span style="color: #339933;">=</span> 
				<span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>ItemApreensao<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ad Hominem da minha parte? Tomar uma exceção pela regra? nada disso, eles são legião! Isso é meu cotidiano.</p>
<p>O prejuízo que esse profissional acarreta a todos os envolvidos é enorme e até difícil de ser mensurado porque envolve custos e humor da equipe que impacta em outros custos imperceptíveis na conta final que é a &#8220;fodisse&#8221; dos caras que tiveram que refatorar, ou seja, fizeram o seu e o trabalho alheio.</p>
<p>Ah, mas XP não prega o código coletivo? ir lá e consertar? Mas quebra o principal valor que é &#8220;Respeito&#8221;. Além do mais o projeto em questão seque o velho Cascata &#8211; mas culpa do cliente que exigiu ser assim, exigiu não, obriga.</p>
<p>Pela minha experiência de nada adianta você jogar um <a href="http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882">Clean Code</a> nas mãos dele e pedir para estudar, ele vai continuar escrevendo nmDesc em uma propriedade ou IRepository em uma Interface. Ele foi treinado assim e sem raciocínio lógico no máximo que voce vão conseguir é retreiná-lo para conseguir comer a banana por outro túnel.</p>
<p>Um projeto sem um líder técnico responsável com aptidão e experiência necessária aliado a método baseado em BDUF sem um processo restritivo [como TDD] com modelagem ultrapassada com papéis de analista de sistemas &#8220;UMLizados&#8221; deixa esse tipo de profissional cometer esses pecados e prejudicar a todos os envolvidos retrabalho desnecessário.</p>
<p>É fácil resolver isso? É! O problema maior é que não podemos simplesmente aceitar que &#8220;o cliente quer assim&#8221;, temos um dever ético com nossa profissão de não permitir que o paciente escolha como ele quer ser operado e ceder médicos que não tenham capacidade de operá-lo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2009/01/08/retrabalho-e-prejuizo/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Existem balas de prata!</title>
		<link>http://www.milfont.org/tech/2008/12/10/existem-balas-de-prata/</link>
		<comments>http://www.milfont.org/tech/2008/12/10/existem-balas-de-prata/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 09:12:18 +0000</pubDate>
		<dc:creator>cmilfont</dc:creator>
				<category><![CDATA[Engenharia de Software]]></category>
		<category><![CDATA[Linguagens]]></category>
		<category><![CDATA[Melhores práticas]]></category>
		<category><![CDATA[Metodologia]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Bala de prata]]></category>
		<category><![CDATA[Silver Bullet]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=434</guid>
		<description><![CDATA[Existe um tipo de falácia bem comum que está crescendo ultimamente se aproveitando da célebre frase: Não existe bala de prata! Quando invocamos a necessidade de não considerar todos os problemas como um prego e a única arma um martelo, não estamos fornecendo a chave da irrestrita flexibilidade irresponsável. Quando assumimos que em tudo depende, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.milfont.org/tech/wp-content/uploads/2008/12/silverbullet1.jpg"><img class="alignleft size-medium wp-image-435" title="silverbullet1" src="http://www.milfont.org/tech/wp-content/uploads/2008/12/silverbullet1.jpg" alt="" width="133" height="138" /></a></p>
<p>Existe um tipo de falácia bem comum que está crescendo ultimamente se aproveitando da célebre frase: <a href="http://en.wikipedia.org/wiki/No_Silver_Bullet">Não existe bala de prata</a>!</p>
<p>Quando invocamos a necessidade de não considerar todos os problemas como um prego e a única arma um martelo, não estamos fornecendo a chave da irrestrita flexibilidade irresponsável.</p>
<p>Quando assumimos que em tudo depende, não estamos dizendo que não há uma fronteira. O avanço significativo do cálculo só foi possível com o advento do limite matemático.</p>
<p>Fazer ciência é investigar e fazer a pergunta certa ao contrário da resposta certa. Para isso identificamos padrões e formulamos teorias.</p>
<p>Antes de abandonar uma teoria devemos substituí-la por outra mais apropriada. Isso soa conservador mas é preciso para se fazer ciência, propor o abandono de uma determinada teoria sem a substituição por outra mais adequada é leviano.</p>
<p>Para entender como algo funciona não podemos simplesmente achar que qualquer solução é válida e sim descobrir qual a solução adequada.</p>
<p>Entender que existem soluções mais apropriadas &#8211; e que sim, existe um jeito certo ou um modo melhor de se fazer algo &#8211; não quer dizer que outras abordagens simplesmente estão erradas,  podem ser apenas incompletas e/ou inviáveis.</p>
<p>Em muitas discussões que tenho travado ultimamente sempre quando tento argumentar que uma solução específica é melhor do que determinada outra, ouço:</p>
<p>&#8220;Não existem balas de prata&#8221;. Bingo!</p>
<p>Essa pessoa não entende ou não quer aceitar por motivo qualquer que a solução dela está errada ou não satisfaz.</p>
<p>Aqui a proposta é pontual, para determinado conjunto de fatores existe uma solução mais adequada, isso é fato.</p>
<h2>Existem Balas de prata!</h2>
<p>Mas como somos fans de <a href="http://en.wikipedia.org/wiki/Supernatural_(TV_series)">Supernatural</a>, sabemos que o que mata é acertar no coração. O trabalho deve ser direcionado a combater a complexidade no coração do problema e não simplesmente num jogo de escolher a ferramenta certa.</p>
<p>Na área de desenvolvimento de software a maioria dos desenvolvedores se apegam a uma metodologia/ferramenta/arquitetura e tentam encaixá-la para a construção de qualquer sistema. Não entendem que aquela solução não vai resolver todos os problemas.</p>
<p>Até aqui tudo bem, o problema é aproveitar a defesa de que não existe uma ferramenta para todos os propósitos e considerar que &#8220;não existe o melhor&#8221; ou a &#8220;forma apropriada&#8221;, quando justamente por não existir ferramenta universal é que devemos usar algo por sua especialidade.</p>
<p><a href="http://www.milfont.org/tech/wp-content/uploads/2008/12/silverbullet2.jpg"><img class="alignright size-medium wp-image-441" title="silverbullet2" src="http://www.milfont.org/tech/wp-content/uploads/2008/12/silverbullet2.jpg" alt="" width="139" height="139" /></a></p>
<p>O <a href="http://www.manifestoagil.com.br/">manifesto ágil</a> tem um trecho que diz:</p>
<blockquote><p>&#8220;Estamos descobrindo maneiras <strong>melhores de desenvolver software</strong> fazendo-o nós mesmos e ajudando outros a fazê-lo.&#8221;</p></blockquote>
<p>Observe que ele diz &#8220;<strong>melhores</strong>&#8221; e não &#8220;<strong>diferente</strong>&#8221; ou &#8220;<strong>de outra forma</strong>&#8220;.</p>
<p>No final diz:</p>
<blockquote><p>&#8220;Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.&#8221;</p></blockquote>
<p>Aqui reconhece que os itens à direita não estão errados, apenas que os da esquerda levam a uma melhor forma de tratar o campo específico que é desenvolver software.</p>
<p>Tentar levar o manifesto ágil para gestão de projetos, construção civil ou limpeza da sua casa o faz ser uma bala de prata e que não vai matar nada porque você não está atigindo o coração, apenas tentando criar um martelo genérico para um uso universal.</p>
<p>Todo o &#8220;KnowHow&#8221; associado ao manifesto ágil se refere única e exclusivamente ao processo de desenvolver software da melhor forma, atinge o pontual.</p>
<p><em>Agiletards </em>sabem ser chatos também quando seguem metodologias de caixinhas e querem criar um novo dogma de desenvolvimento de software.</p>
<p>Existe o melhor e a forma mais adequada, procurar é nosso dever!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2008/12/10/existem-balas-de-prata/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>O que muda?</title>
		<link>http://www.milfont.org/tech/2008/11/13/o-que-muda/</link>
		<comments>http://www.milfont.org/tech/2008/11/13/o-que-muda/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 15:52:47 +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[Scrum]]></category>
		<category><![CDATA[Test Driven]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[Agilismo]]></category>
		<category><![CDATA[CMMi]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[SEI]]></category>

		<guid isPermaLink="false">http://www.milfont.org/tech/?p=385</guid>
		<description><![CDATA[Riscando os cavalos! Tinindo as esporas! Través das coxilhas! Sai de meus pagos em louca arrancada! — Pra quê? — Pra nada! Poema Gaúcho do poeta pernambucano Ascenso Ferreira. O SEI publicou uma nota sobre CMMi e Agile e causou um certo frisson em membros de &#8220;listas de discussões agiles&#8221;. O que muda? nada, absolutamente [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>Riscando os cavalos!<br />
Tinindo as esporas!<br />
Través das coxilhas!<br />
Sai de meus pagos em louca arrancada!<br />
— Pra quê?<br />
— Pra nada! </em></p></blockquote>
<p style="text-align: right;">Poema Gaúcho do poeta pernambucano <a href="http://pt.wikipedia.org/wiki/Ascenso_Ferreira">Ascenso Ferreira</a>.</p>
<p>O <a href="http://www.sei.cmu.edu">SEI</a> <a href="http://www.sei.cmu.edu/publications/documents/08.reports/08tn003.html"> publicou uma nota sobre CMMi e Agile</a> e causou um certo frisson em membros de &#8220;listas de discussões agiles&#8221;.</p>
<p>O que muda? nada, absolutamente nada. Pelo menos para o mundo agile continua a mesma coisa, não só temos de lutar contra o mundo de terno como o pessoal do Jeans já está lutando entre si.</p>
<p>O SEI está vendo que perdeu a batalha e agora quer liderar essa nova &#8220;era agile&#8221;.</p>
<h2>Agile é possivel com CMMi?</h2>
<p>Nunca, porque a cultura deles valoriza mais os itens a direita do manifesto ágil, é da essência.</p>
<p>Mas vão tentar especificar um &#8220;burro&#8221;, podem ter certeza.</p>
<p>A mistura de um jumento[jumenta] com cavalo[égua] nasce um burro[mula], ser híbrido mas ESTÉRIL. Muito bom para trabalhos pesados [já que o jumento tem resistencia] e com mais velocidade [que o cavalo possui] mas que não pode gerar filhos. A mesma analogia pode ser aplicada a mistura de duas culturas antagônicas.</p>
<p>Quem promove essas bobagens são charlatões que saíram do mundo do terno e caíram no mundo do Jeans por pressão e querem se sentir com capacidade de liderar novamente, para isso precisam controlar e guiar a cultura do Jeans já que é contra sua essência assumir que um &#8220;Recurso Humano&#8221; [que para nós se chama gente ou pessoa] tem mais valor do que um processo por exemplo.</p>
<p>Essa turma não consegue entender a cultura que propiciou o manifesto ágil e abraçou &#8211; desvirtuando &#8211; alguns métodos, entre eles o Scrum, que apelidei desde o ano passado de &#8220;RUP de Jeans&#8221;.</p>
<p>Observe que o software funcionando foi abandonado em prol do discurso de &#8220;gestão&#8221;, &#8220;venda da imagem&#8221;, &#8220;governabilidade&#8221; e todas as Buzzwords importadas &#8211; [trazidas?] &#8211; do mundo de terno.</p>
<h2>XP é radical</h2>
<p>Noto que o pessoal FuDiDo está em luta aberta contra o XP, tudo bem que FDD sempre esteve à sombra até do Scrum, mas esse tipo de abordagem é idiota e irracional, com argumentos do tipo: &#8220;XP é um nome agressivo&#8221;, &#8220;Práticas de engenharia do XP são restritivas e difíceis de adotar&#8221;, &#8220;XP não tem governança de projeto&#8221;, &#8220;XP não tem controle de riscos, prazos&#8221;, &#8220;Whatever&#8221;.</p>
<p>Idiotice tem limites e todos os limites já estão estourados. Esse tipo de argumentação é somada com os preconceitos clássicos de que: &#8220;agile não dá certo em projetos grandes&#8221;, &#8220;equipes remotas perdem toda a comunicação&#8221;, &#8220;não tem documentação&#8221;, &#8220;é anarquia&#8221;, &#8230; e se confundem.</p>
<p>Essa nota do SEI me lembrou da <a href="http://pt.wikipedia.org/wiki/Quest%C3%A3o_Christie">Questão Christie</a>, o que eles querem? Um pedido de desculpas por terem enterrado sua cultura na lata do lixo da história? Vão impor sua força para controlar o mundico agile?</p>
<p>Ágil não dava errado em projetos grandes? As falácias estão perdendo força?</p>
<p>Vamos esperar qual o próximo capítulo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.milfont.org/tech/2008/11/13/o-que-muda/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

