<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Guilherme Cirne</title>
	<atom:link href="http://gcirne.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gcirne.wordpress.com</link>
	<description>Desenvolvimento de Software</description>
	<lastBuildDate>Wed, 07 Apr 2010 17:55:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gcirne.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Guilherme Cirne</title>
		<link>http://gcirne.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gcirne.wordpress.com/osd.xml" title="Guilherme Cirne" />
	<atom:link rel='hub' href='http://gcirne.wordpress.com/?pushpress=hub'/>
		<item>
		<title>7 Meses de Time Beta: Um Balanço</title>
		<link>http://gcirne.wordpress.com/2010/04/07/7-meses-de-time-beta-um-balanco/</link>
		<comments>http://gcirne.wordpress.com/2010/04/07/7-meses-de-time-beta-um-balanco/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 17:55:48 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[agilidade]]></category>
		<category><![CDATA[autonomia]]></category>
		<category><![CDATA[baixatudo]]></category>
		<category><![CDATA[infra]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[testeab]]></category>
		<category><![CDATA[timebeta]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=168</guid>
		<description><![CDATA[Já se vão 7 meses que estou no Time Beta na Globo.com e vou aproveitar a oportunidade para fazer um balanço de como tem sido até aqui.  O que estamos fazendo de interessante, o que aprendemos, o que podemos melhorar, etc. Mas antes, um disclaimer: as opiniões aqui são minhas e não necessariamente refletem a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=168&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Já se vão 7 meses que estou no <a href="http://twitter.com/timebeta">Time Beta</a> na <a href="http://www.globo.com">Globo.com</a> e vou aproveitar a oportunidade para fazer um balanço de como tem sido até aqui.  O que estamos fazendo de interessante, o que aprendemos, o que podemos melhorar, etc. Mas antes, um disclaimer: as opiniões aqui são minhas e não necessariamente refletem a opinião do time como um todo. No entanto, acredito que o time concorda com tudo que está escrito aqui.</p>
<p>Nesses 7 meses trabalhamos no <a href="http://www.baixatudo.com.br">Baixatudo, o site de downloads</a> da Globo.com que já existia há algum tempo. Já no primeiro mês colocamos no ar uma nova versão, que foi sendo evoluída e refinada até chegar no que temos hoje.</p>
<h2>Infra</h2>
<p>Um dos pontos que acredito que estamos bem é na infraestrutura do projeto. Nosso time é 100% responsável por todas as questões de infra. Provisionamento de máquinas, instalação de SO, configuração de servidores de cache, de aplicação, de banco de dados, de busca, balanceamento de carga, monitoração, tudo é nossa responsabilidade. Por isso mesmo, praticamente toda a administração da nossa infra é automatizada. O grande benefício disso é que conseguimos mudar a arquitetura da aplicação, atualizar versões, mexer nas configurações, etc., com bastante segurança e agilidade. O assunto é bastante extenso e interessante e certamente merece um outro post detalhando melhor como funciona nossa infra.</p>
<h2>Agile UX</h2>
<p>Outro ponto que acredito que estamos bem é na questão de Agile UX, ou seja, como integrar UX com desenvolvimento ágil. É um assunto que pessoalmente me interessa muito e acredito que nesse time chegamos num ponto bastante positivo. Esse assunto também merece um post bem detalhado que pretendo publicar em breve. Mas basicamente, o que acontece é que tentamos garantir 2 coisas.</p>
<p>Uma é que o time esteja trabalhando junto na mesma funcionalidade. Enquanto o designer desenha as interfaces/fluxos/interações/variações de componentes, os outros membros do time já trabalham no seu desenvolvimento. A comunicação é rica e constante. Todo mundo dá palpite sobre UX e todo mundo desenvolve, inclusive o próprio designer que contribui com o html e css.</p>
<p>A outra coisa é que no final de cada iteração a gente tem uma funcionalidade tecnicamente pronta. Muitas vezes ela não está boa o suficiente para ser disponibilizada para o usuário final mas funciona do ponto de vista técnico. É em cima disso que a gente colhe feedback para refiná-la nas iterações seguintes e não em cima de telas ou outros artefatos não funcionais.</p>
<h2>Testes A/B</h2>
<p>Começamos a usar o <a href="http://www.google.com/websiteoptimizer">Google Website Optimizer</a> para fazer <a href="http://en.wikipedia.org/wiki/A/B_testing">testes A/B</a> e estamos empolgados com os resultados obtidos. O objetivo é evitar tomar decisões de UX e de produto baseadas exclusivamente em achismos. Queremos dados para ajudar nas nossas decisões. Até aqui fizemos 2 testes.</p>
<p>O primeiro foi para escolher o melhor texto no botão de download de um software. Inicialmente esse texto era &#8216;download&#8217;. Criamos uma variação com o texto &#8216;baixar&#8217;. O resultado foi que a segunda opção tinha uma conversão maior e por isso é ela que está no ar até hoje.</p>
<p>No segundo, experimentamos uma variação nos thumbs que consistia em exibir o número de downloads em cima do thumb. Uma alteração simples e que todos concordavam que deixava o produto mais bonito. Mas a conversão nesse caso era bem pior. Os usuários clicavam menos na variação que tinha os números de downloads. Por isso, essa mudança não foi implementada de forma definitiva.</p>
<h2>Outros</h2>
<p>Outros dois pontos que considero interessante mencionar.</p>
<p>O primeiro é que tentamos trabalhar num ritmo sustentado, sem pegar mais do que o time aguenta. Na única vez que trabalhamos de madrugada o resultado não foi bom. Os stakeholders não gostaram do que foi entregue e isso acabou refletindo temporariamente na motivação do time.</p>
<p>O outro é que tentamos manter nosso processo o mais enxuto possível. Praticamente não existem tarefas, reuniões, etc., que não agregam valor ao produto.</p>
<h2>Resultado</h2>
<p>O resultado disso tudo, aliado ao excelente trabalho da equipe de editores, é um aumento significativo na audiência do Baixatudo. E stakeholders satisfeitos.</p>
<p>A partir de agora estamos partindo para outro produto. Sabemos que ainda temos muito a evoluir, mas acredito que estamos no caminho certo. Estamos conseguindo mostrar o valor de times pequenos (4-5 pessoas no nosso caso), autônomos, ágeis.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/168/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/168/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/168/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=168&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2010/04/07/7-meses-de-time-beta-um-balanco/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>Lei de Demeter e Ruby</title>
		<link>http://gcirne.wordpress.com/2009/12/08/lei-de-demeter-e-ruby/</link>
		<comments>http://gcirne.wordpress.com/2009/12/08/lei-de-demeter-e-ruby/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 03:36:42 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[demeter]]></category>
		<category><![CDATA[OO]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=156</guid>
		<description><![CDATA[Na semana passada tivemos uma discussão bem interessante na Globo.com sobre Lei de Demeter e ruby. Basicamente a questão era: faz sentido se aplicar a Lei de Demeter quando se está usando uma linguagem dinâmica como ruby? (Para entender o que é a Lei de Demeter, vale a leitura do artigo na Wikipedia). Ao seguir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=156&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Na semana passada tivemos uma discussão bem interessante na Globo.com sobre <a href="http://en.wikipedia.org/wiki/Law_of_Demeter">Lei de Demeter</a> e ruby. Basicamente a questão era: faz sentido se aplicar a Lei de Demeter quando se está usando uma linguagem dinâmica como ruby?</p>
<p>(Para entender o que é a Lei de Demeter, vale a leitura do <a href="http://en.wikipedia.org/wiki/Law_of_Demeter">artigo na Wikipedia</a>).</p>
<p>Ao seguir a lei de Demeter o código escrito tende a ter um acoplamento mais baixo e, portanto, é mais fácil de manter e evoluir. Por outro lado, quando a lei é violada, o acoplamento aumenta. Isso independe se a linguagem utilizada é dinâmica ou não. Ao enviar uma mensagem para um colaborador do colaborador você está aumentando o acomplamento.</p>
<p>Na minha opinião, a questão correta para se discutir é somente: faz sentido aplicar a Lei de Demeter? E, nesse caso, a resposta é a já manjada &#8220;depende&#8221;.</p>
<p>Assim, sem nenhum contexto, aplicar Demeter faz sentido. Acoplamento baixo é algo desejável. Mas, dependendo do caso, o custo de aplicar a lei pode não compensar. Por exemplo, se o modelo de domínio é muito simples, com pouquíssimas regras de negócio, podemos ser mais pragmáticos, não aplicando a lei, sem que isso tenha maiores consequências.</p>
<p>Como quase tudo que fazemos no nosso dia a dia, trata-se de uma questão de entender o conceito e pesar seus prós e contras dentro de um contexto para então decidir o que fazer.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/156/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=156&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/12/08/lei-de-demeter-e-ruby/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>Novos Desafios&#8230;</title>
		<link>http://gcirne.wordpress.com/2009/09/27/novos-desafios-2/</link>
		<comments>http://gcirne.wordpress.com/2009/09/27/novos-desafios-2/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 17:40:33 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Globo.com]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[product owner]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[timebeta]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[webmedia]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=137</guid>
		<description><![CDATA[&#8230; na Globo.com! Desde o início do mês estou fazendo parte de um novo time. Trata-se do Time Beta (Peleteiro, Meyer, Cainã Nunes e eu), responsável pelo desenvolvimento de novos produtos (ou novas versões de produtos existentes). Nosso primeiro produto é o Baixatudo, cujo release inicial já está no ar. Consideramos esse release uma versão [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=137&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230; na Globo.com!</p>
<p>Desde o início do mês estou fazendo parte de um novo time. Trata-se do <a href="http://twitter.com/timebeta">Time Beta</a> (<a href="http://twitter.com/peleteiro">Peleteiro</a>, <a href="http://blog.fmeyer.org/">Meyer</a>, <a href="http://twitter.com/cainanunes">Cainã Nunes</a> e eu), responsável pelo desenvolvimento de novos produtos (ou novas versões de produtos existentes). Nosso primeiro produto é o <a href="http://baixatudo.globo.com">Baixatudo</a>, cujo release inicial já está no ar. Consideramos esse release uma versão bem básica do produto. Temos muito trabalho ainda pela frente e esperamos nos próximos releases entregar um produto cada vez melhor.</p>
<p>O lado ruim dessa mudança é sair do time de webmedia, onde tive a oportunidade de trabalhar com pessoas fodas e aprendi bastante! Nesse tempo que estive lá, trabalhamos em <a href="http://video.globo.com">projetos</a> bem <a href="http://m.video.globo.com">interessantes</a>. Além disso, acredito que tivemos algumas evoluções significativas, como:</p>
<ul>
<li>Melhor preparação do backlog, envolvendo os especialistas de UX junto com o PO para deixar as histórias prontas pro time implementar (ainda há muito que melhorar nisso, mas acredito que foi dado um importante primeiro passo). Mais sobre isso em um post que já está tempo demais no meu drafts;</li>
<li>Cultura de deixar bem explícito os problemas que estamos enfrentando, com dados concretos, mostrando os impactos no projeto;</li>
<li>Grande preocupação com práticas ágeis como programação em par, desenvolvimento outside-in, TDD, BDD, integração contínua, etc. Sempre feito de forma pragmática, ou seja, focado em melhorar o desempenho do time e não por se tratar da última moda.</li>
</ul>
<p>Por outro lado, no novo time estou bastante empolgado pois volto a exercer um papel mais de desenvolvimento. Tenho certeza que vou aprender e evoluir bastante e espero poder contribuir para o sucesso dos nossos projetos.</p>
<p>Ah, não se esqueça, <a href="http://blog.fmeyer.org/entry/venha_trabalhar_na_globo.com">estamos contratando!</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=137&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/09/27/novos-desafios-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>Dev in Rio 2009: Eu Vou!</title>
		<link>http://gcirne.wordpress.com/2009/08/30/dev-in-rio-2009-eu-vou/</link>
		<comments>http://gcirne.wordpress.com/2009/08/30/dev-in-rio-2009-eu-vou/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 17:32:11 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=143</guid>
		<description><![CDATA[No dia 14/09 vai rolar um evento aqui no Rio de Janeiro que promete ser um sucesso: Dev in Rio 2009. E, claro, eu não poderia deixar de estar presente. Organizado pelo meu amigo Guilherme Chapiewski e pelo Henrique Bastos, contará com a presença de grandes nomes nacionais e internacionais falando sobre Open Source, Java, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=143&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No dia 14/09 vai rolar um evento aqui no Rio de Janeiro que promete ser um sucesso: <a href="http://devinrio.com.br/">Dev in Rio 2009</a>. E, claro, eu não poderia deixar de estar presente. Organizado pelo meu amigo <a href="http://gc.blog.br/2009/08/20/dev-in-rio-2009-eu-vou/">Guilherme Chapiewski</a> e pelo <a href="http://henriquebastos.net/2009/08/21/dev-in-rio-2009-eu-vou/">Henrique Bastos</a>, contará com a presença de grandes nomes nacionais e internacionais falando sobre Open Source, Java, Ruby on Rails, Django e Desenvolvimento Ágil.</p>
<p>Nos vemos lá!</p>
<p><a href="http://www.devinrio.com.br/index.php"><img src="http://www.devinrio.com.br/img/devinrio_euvou_210x60.gif" alt="Dev in Rio 2009" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/143/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/143/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/143/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=143&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/08/30/dev-in-rio-2009-eu-vou/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>

		<media:content url="http://www.devinrio.com.br/img/devinrio_euvou_210x60.gif" medium="image">
			<media:title type="html">Dev in Rio 2009</media:title>
		</media:content>
	</item>
		<item>
		<title>Scrum Gathering Brazil 2009</title>
		<link>http://gcirne.wordpress.com/2009/05/11/scrum-gathering-brazil-2009/</link>
		<comments>http://gcirne.wordpress.com/2009/05/11/scrum-gathering-brazil-2009/#comments</comments>
		<pubDate>Mon, 11 May 2009 13:52:06 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Scrum Gathering]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=131</guid>
		<description><![CDATA[Nesta terça (12/05) e quarta (13/05) estarei no Scrum Gathering Brazil 2009. O evento promete, com apresentações de profissionais nacionais e internacionais. O que rolar no evento vou postar aqui ou no meu twitter.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=131&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nesta terça (12/05) e quarta (13/05) estarei no <a href="http://www.scrumalliance.org/events/57-brazil-scrum-gathering">Scrum Gathering Brazil 2009</a>. O evento promete, com apresentações de profissionais nacionais e internacionais.</p>
<p>O que rolar no evento vou postar aqui ou no <a href="http://twitter.com/gcirne">meu twitter</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/131/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/131/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=131&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/05/11/scrum-gathering-brazil-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>will_paginate sem carregar ActiveRecord</title>
		<link>http://gcirne.wordpress.com/2009/04/21/will_paginate-sem-carregar-activerecord/</link>
		<comments>http://gcirne.wordpress.com/2009/04/21/will_paginate-sem-carregar-activerecord/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 15:58:27 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[will_paginate]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=121</guid>
		<description><![CDATA[Update: A solução abaixo não é mais necessária. Criei um fork do will_paginate no meu GitHub com um pequeno patch que habilita o will_paginate mesmo quando não temos o ActiveRecord carregado (obviamente, só habilita as partes que não precisam do ActiveRecord). Para instalar: sudo gem install gcirne-will_paginate --source http://gems.github.com Além disso, fiz um pull request [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=121&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> A solução abaixo não é mais necessária. Criei um <a href="http://github.com/gcirne/will_paginate/tree/master">fork do will_paginate no meu GitHub</a> com um pequeno patch que habilita o will_paginate mesmo quando não temos o ActiveRecord carregado (obviamente, só habilita as partes que não precisam do ActiveRecord).</p>
<p>Para instalar:</p>
<pre>sudo gem install gcirne-will_paginate --source http://gems.github.com</pre>
<p>Além disso, fiz um pull request para o mislav aplicar meu patch no repositório dele. Se ele aceitar, teremos essa modificação na gem oficial do will_paginate.</p>
<p>Segue o post original.</p>
<p>O <a href="http://wiki.github.com/mislav/will_paginate">will_paginate</a> é uma excelente gem para fazer paginação no Rails. Por default, ela pagina models do ActiveRecord. Mas também é possível paginar qualquer coleção. Basta usar o método <a href="http://gitrdoc.com/rdoc/mislav/will_paginate/8888651be8d6656bdf2378731d91a8badbaa2556/classes/WillPaginate/Collection.html#M000168"><code>create</code> da classe <code>WillPaginate::Collection</code></a>.</p>
<p>Em aplicações Rails é possível não carregar determinados componentes do framework que não serão utilizados. Por exemplo, com a linha abaixo no arquivo <code>config/environment.rb</code> desabilitamos o ActiveRecord na nossa aplicação:</p>
<p><pre class="brush: ruby;">
Rails::Initializer.run do |config|
  ...
  config.frameworks -= [ :active_record ]
  ...
end
</pre></p>
<p>Porém, com essa configuração o will_paginate não funciona, dando o seguinte erro:</p>
<p><code>undefined method `will_paginate'</code></p>
<p>Isso ocorre porque, ao carregar, o will_paginate insere alguns métodos em ActiveRecord::Base. Quando o ActiveRecord não está presente, o will_paginate simplesmente não carrega.  Isso é, no mínimo, estranho, já que o will_paginate funciona perfeitamente sem o ActiveRecord. Seria de se esperar que o will_paginate, nessa configuração sem ActiveRecord, carregasse normalmente, porém sem os métodos inseridos em ActiveRecord::Base (obviamente). Mas não é isso que ocorre, como podemos ver na linha abaixo no arquivo <code>lib/will_paginate.rb</code> da gem do will_paginate, responsável por habilitar o will_paginate:</p>
<p><pre class="brush: ruby;">
...
if defined?(Rails) and defined?(ActiveRecord) and defined?(ActionController)
  WillPaginate.enable
end
</pre></p>
<p>De qualquer forma, a solução é bastante simples. Basta fazer a chamada a <code>WillPaginate.enable_actionpack</code> no arquivo <code>config/environment.rb</code> que tudo funcionará normalmente:</p>
<p><pre class="brush: ruby;">
Rails::Initializer.run do |config|
  ...
  config.frameworks -= [ :active_record ]
  ...
  config.gem 'mislav-will_paginate',
    :lib =&gt; 'will_paginate', :source =&gt; 'http://gems.github.com', :version =&gt; '2.3.8'
end

WillPaginate.enable_actionpack
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=121&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/04/21/will_paginate-sem-carregar-activerecord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>InfoFundos</title>
		<link>http://gcirne.wordpress.com/2009/03/23/infofundos/</link>
		<comments>http://gcirne.wordpress.com/2009/03/23/infofundos/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 02:15:49 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BDD]]></category>
		<category><![CDATA[Cucumber]]></category>
		<category><![CDATA[InfoFundos]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Outside-In]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[RSpec]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=105</guid>
		<description><![CDATA[Está no ar o InfoFundos, um site onde é possível acompanhar as rentabilidades de todos os fundos de investimento do mercado financeiro brasileiro. Mas este post não é sobre o site em si, e sim sobre o seu desenvolvimento. O site é um projeto pessoal desenvolvido por mim com ruby e rails. O legal deste [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=105&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Está no ar o <a title="InfoFundos" href="http://www.infofundos.com.br/" target="_blank">InfoFundos</a>, um site onde é possível acompanhar as <a title="InfoFundos" href="http://www.infofundos.com.br/" target="_blank">rentabilidades de todos os fundos de investimento do mercado financeiro brasileiro</a>. Mas este post não é sobre o site em si, e sim sobre o seu desenvolvimento.</p>
<p>O site é um projeto pessoal desenvolvido por mim com ruby e rails. O legal deste tipo de trabalho solo é a possibilidade de experimentar ideias, práticas, técnicas, etc.</p>
<p>Como não poderia deixar de ser, o desenvolvimento seguiu &#8211; e continua seguindo &#8211; os princípios e valores dos métodos ágeis. Ou seja, o site está sendo desenvolvido de forma incremental e evolutiva. A ideia é ir colhendo feedback para evoluir continuamente. Cada funcionalidade é desenvolvida da forma mais simples que poderia funcionar (<a href="http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html" target="_blank">simplest thing that could possibly work</a>), com <a href="http://www.refactoring.com/" target="_blank">refactoring</a> constante para deixar o código o mais limpo possível.</p>
<p>Uma técnica que pude usar desde o início e que ajuda a garantir a aplicação dos princípios e valores acima é o desenvolvimento <a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development" target="_blank">outside-in sugerido pelo BDD</a>. Cada funcionalidade é descrita por uma feature do <a href="http://wiki.github.com/aslakhellesoy/cucumber" target="_blank">cucumber</a> guiada por <a href="http://seleniumhq.org/" target="_blank">selenium</a>. Um passo dessa feature é escrito e, obviamente, ele falha. Então é preciso escrever apenas código suficiente para fazer este passo passar. Para isso, escrevo um spec com <a href="http://rspec.info/" target="_blank">rspec</a> e depois apenas o código necessário para este spec passar. Continuo assim sucessivamente, escrevendo specs e código, de fora para dentro, ou seja, das camadas mais externas até as mais internas, até que o passo esteja passando. Então, repito o ciclo continuando com o próximo passo até que toda a feature esteja passando. O ciclo completo seria algo mais ou menos assim:</p>
<p><code>feature &gt; step &gt; spec &gt; implementação para spec passar &gt; repete spec e implementação até step passar &gt; repete step até feature passar</code></p>
<p>No final, tenho uma funcionalidade totalmente coberta por testes de aceitação com cucumber/selenium e com 100% de cobertura com rspec. Isso ajuda a garantir um código limpo, podendo ser refatorado e evoluído com bastante segurança.</p>
<p>Tenho diversas ideias de funcionalidades futuras para o <a href="http://www.infofundos.com.br/" target="_blank">InfoFundos</a> e, certamente, qualquer assunto relacionado ao seu desenvolvimento será postado aqui.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=105&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/03/23/infofundos/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>Impressões da Retrospectiva Baseada em Feedback</title>
		<link>http://gcirne.wordpress.com/2009/01/27/impressoes-da-retrospectiva-baseada-em-feedback/</link>
		<comments>http://gcirne.wordpress.com/2009/01/27/impressoes-da-retrospectiva-baseada-em-feedback/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 20:45:58 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Retrospectiva]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=95</guid>
		<description><![CDATA[Fizemos nossa primeira retrospectiva baseada em feedback e o resultado foi muito positivo. Acredito que conseguimos criar um ambiente de muita confiança. Todos se sentiram bem a vontade para dar e receber feedback. Um ponto interessante que notei é que muitos comentários que normalmente ficavam guardados foram expostos de forma franca, sem que houvesse qualquer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=95&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fizemos nossa primeira <a href="http://gcirne.wordpress.com/2009/01/13/retrospectiva-baseada-em-feedback/">retrospectiva baseada em feedback</a> e o resultado foi muito positivo. Acredito que conseguimos criar um ambiente de muita confiança. Todos se sentiram bem a vontade para dar e receber feedback.</p>
<p>Um ponto interessante que notei é que muitos comentários que normalmente ficavam guardados foram expostos de forma franca, sem que houvesse qualquer tipo de sentimento negativo de quem recebia o feedback.</p>
<p>Outro ponto é que eu, como Scrum Master, e o nosso Product Owner participamos normalmente. É importante que haja transparência e confiança entre todos &#8211; independente do papel que cada um exerce &#8211; já que no final das contas todos nós somos responsáveis pelo sucesso dos produtos que criamos.</p>
<p>O resultado de uma retrospectiva como essa é que fica bem claro para todos como nossas atitudes e ações ajudam ou atrapalham nosso trabalho em equipe. As pessoas saem realmente motivadas a melhorar. Certamente vamos repetir esse tipo de retrospectiva daqui pra frente.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=95&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/01/27/impressoes-da-retrospectiva-baseada-em-feedback/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>Retrospectiva Baseada em Feedback</title>
		<link>http://gcirne.wordpress.com/2009/01/13/retrospectiva-baseada-em-feedback/</link>
		<comments>http://gcirne.wordpress.com/2009/01/13/retrospectiva-baseada-em-feedback/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 01:17:36 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Feedback]]></category>
		<category><![CDATA[Inspect and Adapt]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[Retrospectiva]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=90</guid>
		<description><![CDATA[A reunião de retrospectiva ocorre ao final de cada iteração de um projeto ágil. A idéia é o time avaliar o que não está funcionando bem de forma a melhorar dali para frente. Trata-se da melhoria contínua do processo, através do ciclo de inspecionar e adaptar (inspect and adapt). Existem diversas formas de se fazer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=90&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.pragprog.com/titles/dlret/agile-retrospectives">reunião de retrospectiva</a> ocorre ao final de cada iteração de um <a href="http://agilemanifesto.org/">projeto ágil</a>. A idéia é o time avaliar o que não está funcionando bem de forma a melhorar dali para frente. Trata-se da melhoria contínua do processo, através do ciclo de inspecionar e adaptar (inspect and adapt).</p>
<p>Existem diversas formas de se fazer uma reunião de retrospectiva. É interessante que a dinâmica dessa reunião seja alterada com uma certa frequência, para que não fique monótona para os participantes, o que poderia diminuir seus benefícios.</p>
<p>Ontem e hoje participei de um treinamento de RH. Para quem acha que esse tipo de evento é uma perda de tempo, sugiro rever seus conceitos. Fizemos uma atividade onde tínhamos que dar feedback uns para os outros. Isso me deu uma idéia para minha próxima retrospectiva.</p>
<p>O que fizemos na atividade (e vamos fazer na retrospectiva) é o seguinte. Cada um lista alguns pontos positivos e negativos sobre si mesmo. Uma pessoa por vez lê os seus pontos e depois só escuta enquanto as demais vão dando feedback sobre eles podendo, inclusive, acrescentar novos pontos. Prossegue-se até que todo mundo tenha dado e recebido feedback de todos os outros.</p>
<p>A grande sacada é a forma de dar o feedback. O que deve ser feito é ilustrar cada ponto com exemplos concretos em situações específicas de quando eles ocorreram. Não se deve fazer um julgamento pessoal do ponto em questão mas sim, no lugar disso, devem ser destacadas as suas consequências observáveis. Dessa forma, a pessoa recebendo o feedback consegue perceber mais claramente como seus comportamentos e atitudes influenciam positiva ou negativamente nas demais pessoas e nos resultados do time e, com isso, fica mais aberta a mudanças.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=90&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/01/13/retrospectiva-baseada-em-feedback/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
		<item>
		<title>Retrabalho Não Combina Com Equipes Ágeis</title>
		<link>http://gcirne.wordpress.com/2009/01/09/retrabalho-nao-combina-com-equipes-ageis/</link>
		<comments>http://gcirne.wordpress.com/2009/01/09/retrabalho-nao-combina-com-equipes-ageis/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 16:25:18 +0000</pubDate>
		<dc:creator>Guilherme Cirne</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Kent Beck]]></category>
		<category><![CDATA[Métodos Ágeis]]></category>
		<category><![CDATA[NNPP]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://gcirne.wordpress.com/?p=83</guid>
		<description><![CDATA[Retrabalho significa jogar tempo, dinheiro, etc. fora. Certamente, ninguém quer isso. Para tentar evitar esse retrabalho, normalmente a solução proposta envolve especificar &#8220;bem especificado&#8221;, planejar &#8220;bem planejado&#8221;, tudo com muita antecedência. É a velha muscle memory agindo. Sabemos que isso não funciona. Simplesmente porque é impossível prever o futuro. A solução que eu acredito funcionar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=83&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Retrabalho significa jogar tempo, dinheiro, etc. fora. Certamente, ninguém quer isso. Para tentar evitar esse retrabalho, normalmente a solução proposta envolve especificar &#8220;bem especificado&#8221;, planejar &#8220;bem planejado&#8221;, tudo com muita antecedência. É a velha <a href="http://my.safaribooksonline.com/9780735623378/ch04">muscle memory</a> agindo. Sabemos que isso não funciona. Simplesmente porque é impossível prever o futuro.</p>
<p>A solução que eu acredito funcionar é aplicar as <a href="http://www.improveit.com.br/xp">práticas de XP</a>. E não basta aplicar uma ou outra, temos que aplicar todas. Juntas elas promovem uma sinergia que não existe quando são utilizadas de forma isolada.</p>
<p>Práticas como TDD, refactoring, integração contínua, programação em par, cliente presente, sentar-se junto, design incremental garantem uma base de código saudável, com design simples. Com isso o custo de mudança permanece constante ou mesmo pode cair com o tempo.</p>
<p><a href="http://web.archive.org/web/20060701070958/www.fawcette.com/interviews/beck_cooper/page7.asp">Kent Beck viu em muitos times XP que ao longo do tempo os sistemas desenvolvidos por esses times ficavam cada vez mais flexíveis e fáceis de mudar</a> ao invés do que estamos mais acostumados a ver, que são aqueles sistemas legados cujo custo de mudança cresce exponencialmente com o tempo. Tal afirmativa pode parecer ir contra o senso comum mas faz todo o sentido quando temos as práticas do XP aplicadas corretamente.</p>
<p>O custo de um time XP competente é inegavelmente alto. Mas compensa no longo prazo por permitir que sistemas não precisem ser reescritos do zero a cada x anos. Além disso, outros motivos existem para se ter um time competente. Por exemplo, evitar o <a href="http://blog.jayfields.com/2009/01/cost-of-net-negative-producing.html">custo dos Net Negative Producing Programmers</a>. Ou seja, na minha opinião vale a pena pagar pelos melhores.</p>
<p>Tenho vendido a idéia de que se uma equipe ágil está funcionando bem, nunca haverá retrabalho e sim, simplesmente, trabalho.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gcirne.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gcirne.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gcirne.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gcirne.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gcirne.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gcirne.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gcirne.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gcirne.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gcirne.wordpress.com&amp;blog=2133188&amp;post=83&amp;subd=gcirne&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gcirne.wordpress.com/2009/01/09/retrabalho-nao-combina-com-equipes-ageis/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7217ceaad90d7ae913d8742ccdd697f2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gcirne</media:title>
		</media:content>
	</item>
	</channel>
</rss>
