<?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>XPCE &#187; Pair Programming</title>
	<atom:link href="http://www.xpce.org/category/pair-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xpce.org</link>
	<description>eXtreme Programming Ceará</description>
	<lastBuildDate>Thu, 25 Aug 2011 11:58:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hippie Programming</title>
		<link>http://www.xpce.org/2009/07/06/hippie-programming/</link>
		<comments>http://www.xpce.org/2009/07/06/hippie-programming/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 11:30:15 +0000</pubDate>
		<dc:creator>leonardo.eloy</dc:creator>
				<category><![CDATA[Pair Programming]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://www.xpce.org/?p=53</guid>
		<description><![CDATA[Weinberg cunhou o termo Egoless Programing para mostrar que “uma equipe tem responsabilidade coletiva para resolver os problemas com o código”. Este mesmo conceito serve como uma luva para descrever a Programação em Pares (PP). Sommerville utiliza a pesquisa de Weinberg para justificar uma das principais vantagens de utilizar PP: a idéia de responsabilidade e propriedade comum pelo sistema.

É nesse contexto que apresento a Hippie Programming. Apesar de não ser muito afeito com técnicas de gerenciamento de higiene pessoal, os hippies setentistas são uma fonte infindável de frases e atitudes que muitos de nós poderíamos utilizar no cotidiano.]]></description>
			<content:encoded><![CDATA[<p>por <a href="http://leonardoeloy.com/">Leonardo Eloy</a></p>
<p>Em 1971, <a href="http://www.geraldmweinberg.com/Site/Home.html">Weinberg</a> dissertou sobre um assunto extremamente relevante para Extreme Programming. No seu tratado <a href="http://books.google.co.uk/books?id=76dIAAAAMAAJ&amp;pgis=1">The Psychology of Computer Programming</a>, o autor analisou a relação entre um programador e os artefatos que ele produz ao longo de um projeto. Weinberg cunhou o termo <a href="http://en.wikipedia.org/wiki/Egoless_programming">Egoless Programing</a> para mostrar que “uma equipe tem responsabilidade coletiva para resolver os problemas com o código”.</p>
<p>Este mesmo conceito serve como uma luva para descrever a Programação em Pares (PP). <a href="http://www.cs.st-andrews.ac.uk/~ifs/">Sommerville</a> utiliza a pesquisa de Weinberg para justificar uma das principais vantagens de utilizar PP: a idéia de responsabilidade e propriedade comum pelo sistema. Ora, para mim isso só reforça o conceito de foco nos indivíduos e suas interações, ao invés de processos e ferramentas. Porém, esse conceito pode ser distorcido por membros de uma equipe. Imagine aquele programador que é possessivo ao ponto de tomar críticas ao seu código como ofensas pessoais. Não queremos que uma frase como “seu loop foi muito mal colocado” seja interpretada como “você cheira mal”!</p>
<div class="wp-caption alignnone" style="width: 382px"><img title="Protótipo de programador hippie" src="http://leonardoeloy.com/wp-content/uploads/2009/07/hippie.jpg" alt="Protótipo de programador hippie" width="372" height="510" /><p class="wp-caption-text">Protótipo de programador hippie</p></div>
<p>Eu gosto de imaginar Weinberg como um programador hippie, muito parecido com o senhor da imagem acima. Em plena década de 1970, o Movimento Hippie mudou a sociedade americana (e por tabela, o resto do mundo). Este movimento foi muito maior que o consumo de drogas e sexo<em> ad hoc</em>, ele popularizou a idéia da diversidade cultural e do respeito ao próximo. Trazendo para o nosso lado, uma das principais desvantagens de fazer PP é pegar aquele cara xiita ou então o indivíduo que adora o modelo <a href="http://en.wikipedia.org/wiki/Taylorism">Taylorista</a>, que consiste na frase “eu digo, você faz&#8221;. Situações assim são péssimas para a produtividade que uma prática de PP poderia trazer ao seu leque de técnicas de engenharia. Quando estamos no controle do teclado ou como observadores e temos que nos relacionar com pessoas assim, como devemos agir? Será que você é assim? O que deveria mudar na sua postura?</p>
<p>É nesse contexto que apresento a Hippie Programming. Apesar de não serem muito afeitos com técnicas de gerenciamento de higiene pessoal, os hippies setentistas são uma fonte infindável de frases e atitudes que muitos de nós poderíamos utilizar no cotidiano. Seguem algumas dicas de como incorporar uma abordagem hippie durante o PP, de acordo com algumas máximas eternizadas durante o movimento:</p>
<p>1. <strong>Peace and Love</strong>: cabeça aberta. Você provavelmente é xiita ou chato em alguma coisa também! Pare, analise a situação como uma terceira pessoa e faça esta pergunta “eu realmente preciso me impor desta forma?”;</p>
<p>2. <strong>Be here now</strong>: o foco não é agradar seu colega de PP, sim dar continuidade a uma atividade que envolve programação, porém, por incrível que pareça, pessoas são seres humanos, e todos merecem respeito. Não faça com seu par o que você não gostaria que fosse feito com você. “Esteja aqui agora” é uma advertência para o foco no objetivo, que é cumprir a atividade, mas o respeito pelo seu par deve vir em primeiro lugar;</p>
<p>3. <strong>Make love, not war</strong>: a tecnologia que você está utilizando é principal meio de atingir os objetivos definidos pela atividade em execução. Os participantes de um PP devem fazer amor com suas tecnologias e ferramentas! Não adianta reclamar que Java não tem ponteiros! <img src='http://www.xpce.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>4. <strong>Drop acid, not bombs</strong>: ao encontrar um entrave, procure abstrair o problema antes de tentar algo pela força bruta. Novamente, pare e pense! Caso vocês não consigam encontrar uma solução, parem e discutam sobre o problema, entendam o problema. Antes de pensar na solução você precisa entender a razão pela qual ela está sendo projetada. Essa pode ser a melhor saída, muito melhor do que começar a ler arquivos de log e fazer um “clean &amp; build” no projeto.</p>
<p>E você? Quais são as principais medidas que você acha importante para garantir um bom ambiente ao fazer uma sessão de PP? Deixe sua contribução! <img src='http://www.xpce.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Agradeço ao <a href="http://www.handersonfrota.com.br">Handerson Frota</a> por revisar e discutir este post comigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xpce.org/2009/07/06/hippie-programming/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

