<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>BeckLog: Beck Novaes' Web Log</title>
	
	<link>http://www.becklog.org</link>
	<description>Blog pessoal do Beck Novaes</description>
	<lastBuildDate>Fri, 06 Nov 2009 11:15:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/becklog" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Tenha sua própria página de “Quotes”</title>
		<link>http://www.becklog.org/2009/11/06/tenha-sua-propria-pagina-de-quotes/</link>
		<comments>http://www.becklog.org/2009/11/06/tenha-sua-propria-pagina-de-quotes/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 11:15:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscelânea]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=515</guid>
		<description><![CDATA[Sempre gostei de ler &#8220;frases de efeito&#8221; principalmente aquelas de pessoas que eu admiro como Albert Einstein, Alan Kay, Mark Twain, Martin Luther King e Steve Jobs. 
Uma das minhas frases preferidas do Mark Twain diz &#8220;Se eu tivesse mais tempo, eu teria escrito menos&#8221;. Pois bem, é exatamente assim que eu encaro estas frases. [...]]]></description>
			<content:encoded><![CDATA[<p>Sempre gostei de ler &#8220;frases de efeito&#8221; principalmente aquelas de pessoas que eu admiro como <a href="http://www.brainyquote.com/quotes/authors/a/albert_einstein.html">Albert Einstein</a>, <a href="http://www.brainyquote.com/quotes/authors/a/alan_kay.html">Alan Kay</a>, <a href="http://www.brainyquote.com/quotes/authors/m/mark_twain.html">Mark Twain</a>, <a href="http://www.brainyquote.com/quotes/authors/m/martin_luther_king_jr.html">Martin Luther King</a> e <a href="http://www.brainyquote.com/quotes/authors/s/steve_jobs.html">Steve Jobs</a>. </p>
<p>Uma das minhas frases preferidas do Mark Twain diz &#8220;Se eu tivesse mais tempo, eu teria escrito menos&#8221;. Pois bem, é exatamente assim que eu encaro estas frases. Eu as vejo como verdadeiros <a href="http://en.wikipedia.org/wiki/Insight">insights</a>, sínteses que dizem muito em poucas palavras. Aliás, falar com poucas palavras é o que o Twitter nos obriga a fazer e vira e mexe eu me pego tentando sintetizar uma idéia para compartilhar com os meus seguidores.</p>
<p>Estes dias descobri que poderia usar o <a href="http://twitter.com/BeckNovaes/favorites">favoritos</a> do Twitter para ter um local único onde eu pudesse deixar as <a href="http://twitter.com/BeckNovaes/favorites">minhas frases favoritas de mim mesmo</a> (minuto egocêntrico). O bom disso também é que estando nos favoritos as frases não se perdem como aconteceria na &#8220;time-line&#8221; do Twitter.</p>
<p>Na democracia da Web não tem porque colocar só coisas politicamente corretas. Por isso, na <a href="http://twitter.com/BeckNovaes/favorites">minha página de frases</a>, também terá muita &#8220;abobrinha&#8221;. </p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=515&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/11/06/tenha-sua-propria-pagina-de-quotes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>O Imersão Adobe Flex começa neste sábado</title>
		<link>http://www.becklog.org/2009/11/05/o-imersao-adobe-flex-comeca-neste-sabado/</link>
		<comments>http://www.becklog.org/2009/11/05/o-imersao-adobe-flex-comeca-neste-sabado/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 16:04:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=503</guid>
		<description><![CDATA[Se você ainda está com dúvida em fazer ou não este Treinamento, talvez o vídeo abaixo possa ajudar:

]]></description>
			<content:encoded><![CDATA[<p>Se você ainda está com dúvida em fazer ou não <a href="http://egenial.com.br/imersao-flex/como.html">este Treinamento</a>, talvez o vídeo abaixo possa ajudar:</p>
<p><embed src="http://blip.tv/play/gs0fgazlLgA" type="application/x-shockwave-flash" width="500" height="310" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=503&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/11/05/o-imersao-adobe-flex-comeca-neste-sabado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saiu o vencedor do #imersaopromo</title>
		<link>http://www.becklog.org/2009/10/19/saiu-o-vencedor-do-imersaopromo/</link>
		<comments>http://www.becklog.org/2009/10/19/saiu-o-vencedor-do-imersaopromo/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 11:35:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscelânea]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=489</guid>
		<description><![CDATA[Sábado, 17 de outubro, fiz a palestra &#8220;OUTBOX: Um modo diferente de desenvolver RIA&#8221; no Café com o Tom. Pelo feedback que tive no Twitter creio que o pessoal gostou.

Além disso, saiu o vencedor, ou melhor a vencedora do #imersaopromo. 
A palestra foi gravada e assim que estiver disponível para download eu aviso já está [...]]]></description>
			<content:encoded><![CDATA[<p>Sábado, 17 de outubro, fiz a palestra &#8220;OUTBOX: Um modo diferente de desenvolver RIA&#8221; no <a href="http://www.treinatom.com.br/pt/cafe-com-o-tom">Café com o Tom</a>. Pelo feedback que tive no Twitter creio que o pessoal gostou.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/10/twitter-feedback1.jpg" alt="Feedback do Outbox no Twitter" title="Feedback do Outbox no Twitter" width="500" height="624" class="alignnone size-full wp-image-494" /></p>
<p>Além disso, saiu o vencedor, ou melhor <a href="http://twitter.com/maiswebs/status/4950729654">a vencedora</a> do <a href="http://search.twitter.com/search?q=%23imersaopromo">#imersaopromo</a>. </p>
<p>A palestra foi gravada <del datetime="2009-10-20T14:56:15+00:00">e assim que estiver disponível para download eu aviso</del> já está <a href="http://www.tomsas.com.br/cafecomtom/18_BeckNovaesOutbox.mov.zip">disponível para download</a>. Estou bastante ansioso para ver se consegui explicar bem as teses do Outbox. Afinal de contas, não é fácil falar sobre um tema tão peculiar para mais de 80 pessoas que prestigiaram a palestra (a sala nunca teve menos que 83, e chegou a ter 86 pessoas presentes).</p>
<p><strong>UPDATE: Como pode ser visto no ultimo parágrafo deste post a palestra já está <a href="http://www.tomsas.com.br/cafecomtom/18_BeckNovaesOutbox.mov.zip">disponível para download</a>.</strong></p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=489&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/10/19/saiu-o-vencedor-do-imersaopromo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ganhe um treinamento de Adobe Flex</title>
		<link>http://www.becklog.org/2009/10/13/ganhe-um-treinamento-de-adobe-flex/</link>
		<comments>http://www.becklog.org/2009/10/13/ganhe-um-treinamento-de-adobe-flex/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 14:52:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscelânea]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=480</guid>
		<description><![CDATA[Se uma imagem vale mais que mil palavras, dois vídeos então&#8230;

 
Update: Descrição da Palestra
A cada ano que passa as tecnologias RIA ficam cada vez melhores. A cada ano que passa as pessoas dizem: &#8220;Agora sim! Vou fazer RIAs arrasadoras.&#8221; A cada ano que passa muitos não conseguem realizar este sonho. E, por fim, a [...]]]></description>
			<content:encoded><![CDATA[<p>Se uma imagem vale mais que mil palavras, dois vídeos então&#8230;</p>
<p><embed src="http://blip.tv/play/gs0fgabzRAI" type="application/x-shockwave-flash" width="480" height="330" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p><embed src="http://blip.tv/play/gs0fgabzTAI" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"></embed> </p>
<p><strong>Update: Descrição da Palestra</strong><br />
A cada ano que passa as tecnologias RIA ficam cada vez melhores. A cada ano que passa as pessoas dizem: &#8220;Agora sim! Vou fazer RIAs arrasadoras.&#8221; A cada ano que passa muitos não conseguem realizar este sonho. E, por fim, a cada ano que passa eu comprovo a minha tese: Não é como você implementa RIA, mas o modo que você as desenvolve que realmente importa. É sobre este MODO de desenvolver RIA que o Outbox trata. Concorde você ou não com as teses do Outbox, elas no mínimo irão te fazer pensar.</p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=480&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/10/13/ganhe-um-treinamento-de-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Trade-off com Foco no Valor Agregado</title>
		<link>http://www.becklog.org/2009/08/31/trade-off-com-foco-no-valor-agregado/</link>
		<comments>http://www.becklog.org/2009/08/31/trade-off-com-foco-no-valor-agregado/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 12:00:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Outbox]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=412</guid>
		<description><![CDATA[Ninguém compra um carro apenas por causa do motor. As pessoas não buscam apenas resolver seu problema de transporte. Hoje em dia, ninguém mais compra um celular só porque ele faz ligações. Então, por que o Software tem apenas que resolver um problema, mesmo que de forma feia?
Desenvolvimento de Software, ao contrário de outras áreas [...]]]></description>
			<content:encoded><![CDATA[<p>Ninguém compra um carro <em>apenas</em> por causa do motor. As pessoas não buscam apenas resolver seu problema de transporte. Hoje em dia, ninguém mais compra um celular só porque ele faz ligações. Então, por que o Software tem apenas que resolver um problema, mesmo que de forma feia?</p>
<p>Desenvolvimento de Software, ao contrário de outras áreas como construção civil e arquitetura ainda é uma área relativamente nova.  Nestas e em inúmeras outras áreas num primeiro instante não havia preocupação com a estética por uma questão de prioridade: prioriza-se a solução do problema essencial. Mas passada esta fase (que acredito que estamos chegando próximo no que diz respeito ao desenvolvimento de software) começa a pesar os fatores humanos, os fatores psicológicos, etc. Como diz <a href="http://pt.wikipedia.org/wiki/Donald_Norman">Donald Norman</a> &#8220;As coisas mais bonitas funcionam melhor&#8221;. Por que? Porque somos seres humanos e as coisas mais bonitas colocam nosso cérebro num estado muito mais propicio para uma determinada atividade: seja dirigir um carro, manusear um celular ou usar uma aplicação. Aqui entra uma outra tese minha junto com o <a href="http://www.becklog.org/2009/08/06/ti-centrismo-vs-usuario-centrismo/">TI-Centrismo Vs. Usuário-Centrismo</a> que é o <strong>Trade-off com Foco no Valor Agregado</strong>.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/ser-ou-nao-ser.jpg" alt="" title="Ser ou não ser?" width="468" height="414" class="alignnone size-full wp-image-384" /></p>
<p>Desenvolver softwares é também saber tomar as decisões certas com foco no todo e não em partes isoladas. E este conceito é sutil mas poderoso (e acredito que possui certa relação com a <a href="http://en.wikipedia.org/wiki/Gestalt_psychology">Gestalt</a>). Daí a importância do <a href="http://en.wikipedia.org/wiki/Trade-off">Trade-off</a> &#8211; que para quem não sabe é, basicamente, você fazer uma escolha entre um número de opções mas sempre sair perdendo umas coisas e ganhando outras. O grande problema do Trade-off em desenvolvimento do Software é que ele é influenciado pelo <a href="http://www.becklog.org/2009/08/06/ti-centrismo-vs-usuario-centrismo/">TI-Centrismo</a> e não pelo valor agregado à experiência final do usuário como deveria ser.</p>
<p>Vejam exemplos:</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/tradeoff-1.png" alt="" title="Trade-off Tradicional" width="441" height="145" class="alignnone size-full wp-image-385" /></p>
<p>A tabela acima deixa duas coisas bem claras:<br />
1. Desenvolvimento sempre ganha<br />
2. Estética sempre perde</p>
<p>Porém, dada a premissa de que a estética é importante porque somos seres humanos, será que, visando o produto final, visando a experiência como um todo, não seria interessante considerar eventualmente fazer um <a href="http://www.becklog.org/wp-content/uploads/2009/08/pog-do-bem2.png">POG do Bem</a> para oferecer uma melhor estética pois o usuário vai se sentir melhor com a sua aplicação? Será que você não deveria considerar que a Usabilidade não precisa ser a melhor do mundo, num dado contexto, para deixar o Designer Gráfico mais livre para trabalhar a estética? <em>(sim, a Usabilidade cria restrições para o Designer Gráfico. Perguntem aos Designers se eles não se sentem um tanto limitados pelos Wireframes).</em></p>
<p>Quando eu falei da idéia do Trade-off com foco no valor agregado com o <a href="http://www.nahipermidia.com/">Luciano Lobato</a> da DClick ele disse: mas todo Trade-off não deveria ser com foco no valor agregado? Sim, deveria, mas não é! Por quê? Porque na maioria das empresas cada tipo de profissional olha para o seu próprio umbigo e não para o software como produto final.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/motal-kombat1.jpg" alt="Motal Kombat" title="Motal Kombat" width="500" height="319" class="alignnone size-full wp-image-452" /></p>
<p>Que designers e programadores não se bicam não é novidade. Mas isto não é uma questão pessoal (pelo menos não no começo) . O problema, paradoxalmente, é que cada um de nós quer fazer o melhor trabalho possível. O Arquiteto da Informação quer oferecer a melhor usabilidade. O Programador quer fazer o melhor código. E o Designer quer fazer a aplicação mais bonita. Mas como cada um trabalha de forma independente, o que geralmente acontece é que um complica a vida do outro e ninguém sabe de fato o que é mais importante para a experiência final do usuário como um todo &#8211; chamo isto de <strong><em>Egocentrismo Funcional</em>: o ego criado pela função que você exerce o impede de enxergar o que é melhor para o produto final</strong>. Desta forma, o programador se recusa a implementar algo muito complexo definido pelo arquiteto de informação &#8211; mas perde um baita tempo aplicando patterns desnecessários. O arquiteto de informação se recusa a mudar um wireframe sugerido pelo designer para deixar as coisas mais bonitas &#8211; e não pensa que talvez tal mudança agregue muito mais em estética do que perde em Usabilidade. Enfim, quando nenhum destes profissionais olham para o software como um todo, o que eles mais fazem é criar restrições que impactam negativamente o trabalho dos demais. E, além disso, quando se trata de tomar uma decisão isto não é deliberado e sim imposto por uma questão hierárquica (quem manda) ou pelo TI-Centrismo (Estética perde sempre. Usabilidade perde sempre.)</p>
<p>O <a href="http://www.becklog.org/wp-content/uploads/2009/08/pog-do-bem2.png">POG do Bem</a> nada mais é do que um exemplo de Trade-off com foco no valor agregado envolvendo programação e estética/usabilidade. Vamos agora a um exemplo de Usabilidade Vs. Estética. </p>
<p>Antigamente na DClick os arquitetos de informação definiam a usabilidade e depois restava ao Designer colorir os Wireframes. Certa vez uma alteração proposta pelo designer estava para ser recusada (como freqüentemente acontece) com argumentos dos arquitetos do tipo:<br />
- Isso é ruim. O usuário terá que dar dois cliques no lugar de um.<br />
Como eu estava de fora, observando o produto como um todo, eu perguntei:<br />
- Mas espere um pouco! Com que freqüência ele terá que dar dois cliques?<br />
- Não muita. &#8211; Responderam os arquitetos.<br />
- Então isso é realmente um problema?<br />
- Não, não é um problema grande!<br />
- Então devemos priorizar a estética que no final das contas vai agregar mais à solução, visto que a perda de usabilidade neste caso é insignificante.</p>
<p><em>Suponha que na sua empresa o Arquiteto de Informação tenha mais &#8220;moral&#8221; que o designer, o que aconteceria? Suponha que o TI-Centrismo impere na sua empresa e que a mudança proposta pelo designer vai gerar certa complexidade, o que aconteceria?</em></p>
<p>Isto é Trade-off com foco no valor agregado! Você precisa abstrair e pensar num contexto maior: o produto final. Assim, não se deve tomar como regra a tabela de tabela de trade-off tradicional onde o desenvolvimento sempre ganha e a estética sempre perde. Não deixe esta tabela, que talvez esteja implicitamente arraigada na cultura da sua empresa, influenciar você!</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/rules.jpg" alt="" title="Break the Rules" width="300" height="225" class="alignnone size-full wp-image-387" /></p>
<p>O que temos que ter em mente é que nosso cérebro (novamente ele) não avalia nada isoladamente. Assim, o usuário falar se uma aplicação é boa depende do conjunto da obra. Por isso precisamos encontrar um equilíbrio entre a estética e a parte funcional. As vezes o programador deve deixar de fazer algo assim tão otimizado, pois talvez não seja necessário, para dedicar mais tempo na implementação de uma animação que agrega valor ou fazer bem um skin numa parte do software que o usuário passa a maior parte do tempo. As vezes você deve deixar de querer a melhor usabilidade do mundo se o problema de usabilidade não for assim tão grave e, por outro lado, isto deixa o designer livre para fazer algo realmente mais bonito. Por que? Porque é disso que o usuário vai lembrar quando ele pensar sobre o software. Não digo que ele vai lembrar APENAS da estética. Não digo que ele vai lembrar APENAS do funcional. Ele vai lembrar do conjunto da obra (<a href="http://en.wikipedia.org/wiki/Gestalt_psychology">Gestalt</a> novamente). Ele vai lembrar das animações e isso o fará pensar que, junto com outras coisas, o software é bom. Ele vai lembrar do que ele pode fazer (funcionalidades) e isso o fará pensar que o software, em conjunto com a estética, é bom. <strong>É isto que é a experiência do usuário: o todo, não as partes isoladas.</strong>  Então, refazendo a tabela de trade-off ela ficaria assim:</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/tradeoff-2.png" alt="" title="Trade-off com foco no valor agregado" width="484" height="127" class="alignnone size-full wp-image-388" /></p>
<p>Isto é Trade-off com foco no valor agregado e não em paradgmas arraigados na cultura das organizações influenciados pelo <a href="http://www.becklog.org/2009/08/06/ti-centrismo-vs-usuario-centrismo">TI-Centrismo</a> ou por algum tipo de hierarquia burra.</p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=412&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/08/31/trade-off-com-foco-no-valor-agregado/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Terroristas Juvenis que trabalham com Flex</title>
		<link>http://www.becklog.org/2009/08/23/terroristas-juvenis-que-trabalham-com-flex/</link>
		<comments>http://www.becklog.org/2009/08/23/terroristas-juvenis-que-trabalham-com-flex/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 00:00:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscelânea]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=330</guid>
		<description><![CDATA[Este fim de semana descobri que tem dois caras da comunidade de RIA no Brasil que já aprontaram muito quando criança. Veja a conversa deles abaixo e tente descobrir quem são estes terroristas juvenis.
Terrorista Juvenil A:
porra então tu assistia jaspion?
Terrorista Juvenil B:
eu ñ gostava mto do Jaspion&#8230; gostava mais dos Changeman
Ahamis&#8230; clássico!

Terrorista Juvenil A:
era legal [...]]]></description>
			<content:encoded><![CDATA[<p>Este fim de semana descobri que tem dois caras da comunidade de RIA no Brasil que já aprontaram muito quando criança. Veja a conversa deles abaixo e tente descobrir quem são estes terroristas juvenis.</p>
<p><strong>Terrorista Juvenil A:</strong><br />
porra então tu assistia jaspion?</p>
<p><strong>Terrorista Juvenil B:</strong><br />
eu ñ gostava mto do Jaspion&#8230; gostava mais dos Changeman<br />
Ahamis&#8230; clássico!</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/changeman.jpg"/></p>
<p><strong>Terrorista Juvenil A:</strong><br />
era legal também</p>
<p><strong>Terrorista Juvenil B:</strong><br />
eu era o Change Dragon&#8230; meus outros primos eram o Pegasus e o Gryphon</p>
<p><strong>Terrorista Juvenil A:</strong><br />
hahahah</p>
<p><strong>Terrorista Juvenil B:</strong><br />
hahahaha<br />
cara&#8230; mto engraçado estas coisas<br />
eu tb brincava de Rambo no fundo de casa. tem bastante mato lá</p>
<p><strong>Terrorista Juvenil A:</strong><br />
iiiiiii<br />
O_o</p>
<p><strong>Terrorista Juvenil B:</strong><br />
eu amarrava uma fita vermelha na cabeça, fazia arco e flecha com arame de guarda chuva, colocava pano com álcool na ponta da flecha e atirava no mato para ver pegando fogo<br />
de vez em qdo eu tb pegava a espingarda de chumbinho do meu pai e ficava dando tiro nas vacas do vizinho</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/rambo.jpg"/></p>
<p><strong>Terrorista Juvenil A:</strong><br />
haha<br />
caralho<br />
tu era foda</p>
<p><strong>Terrorista Juvenil B:</strong><br />
q bom. eu aprontei bem</p>
<p><strong>Terrorista Juvenil A:</strong><br />
eu uma vez comprei uma caixa de fogos e fiquei soltando no final da tarde na esquina da casa da minha vó, nos últimos fogos eu joguei dentro do galinheiro da vizinha<br />
matei quase todas as galinhas<br />
umas 20</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/galinha.png"/></p>
<p><strong>Terrorista Juvenil B:</strong><br />
hahaha<br />
mto loco<br />
devia ter filmado</p>
<p><strong>Terrorista Juvenil A:</strong><br />
eu fiz curso de eletrônica, aí eu ficava carregando capacitor e descarregando no pescoço de meus amigos</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/choque.jpg"/></p>
<p>eu montava transmissor de FM, e ficava entrando na frequencia de tv  ae entrava na hora do silvio santos e ficava saindo minha voz<br />
os vizinhos me chamavam de terrorista</p>
<p><strong>Terrorista Juvenil B:</strong><br />
haha</p>
<p><strong>Terrorista Juvenil A:</strong><br />
eu falava &#8220;Vou te pegar&#8230;..! hahahhaha&#8221;</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/darth-vader.jpg"/></p>
<p><strong>Terrorista Juvenil B:</strong><br />
mto boa</p>
<p><strong>Terrorista Juvenil B:</strong><br />
uma vez eu estava brincando de soldado ou coisa do tipo. resolvi fazer uma cerca elétrica. então peguei um monte de arame, espalhei pela lavanderia da minha casa e liguei na tomada. levei um choque da porra. depois tive que pegar a vassoura para tirar o arame da tomada.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/cerca.jpg"/></p>
<p><strong>Terrorista Juvenil A:</strong><br />
hahaha</p>
<p><strong>Terrorista Juvenil A:</strong><br />
eu montava transmissor e montei um bem pequeno, e coloquei no banheiro das meninas pra escutar elas, ae eu levava um walkman pra escutar. Fui expulso da sexta serie minha primeira vez<br />
eu fiz a sexta serie 3x, e não passava, aí resolvi largar mão</p>
<p><strong>Terrorista Juvenil B:</strong><br />
hahaha<br />
caraca&#8230; vc foi expulso?!!<br />
hahaha</p>
<p><strong>Terrorista Juvenil B:</strong><br />
eu repeti a quinta série<br />
na época eu treinava karatê e gostava de ficar arrumando briga na escola</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/karate.jpg"/></p>
<p><strong>Terrorista Juvenil A:</strong><br />
hahaha<br />
da outra vez que fui expulso eu quebrei o braço do anderson</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/maluquinho.png"/></p>
<p><strong>Terrorista Juvenil B:</strong><br />
kkkk<br />
putz&#8230; a gente tem q ter estas conversar num happy hour<br />
ia ser hilário</p>
<p><strong>Terrorista Juvenil A:</strong><br />
porra bicho, o anderson ficava me zuando<br />
ficava me chamando de ^%$##$</p>
<p><strong>Terrorista Juvenil B:</strong><br />
hahaha</p>
<p><strong>Terrorista Juvenil B:</strong><br />
a melhor: eu ficava p da vida qdo eu comprava salgadinho e vinha aquele monte de moleque da rua ficar pedindo. uma vez eu resolvi aprontar para nunca mais ninguém me pedir. comprei um cebolitos e coloquei um monte de sal de fruta. ficava igualzinho sal. aí veio aquele monte de moleque&#8230; fulano, fulano me dá um pouco. opa, pode pegar&#8230;. em dois minutos estavam todos com a boca espumando. </p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/eno.jpg"/></p>
<p><strong>Terrorista Juvenil B:</strong><br />
outra vez apareceu um pasta de dente lá em casa q parecia recheio daqueles doces de padaria. eu peguei um pão, enchi de pasta de dente e saí na rua. aí veio a molecada novamente. eu distribui a vontade. em segundos os caras estavam cuspindo no chão. acho q depois destes dois episódios ninguém nunca mais me pediu nada</p>
<p><strong>Terrorista Juvenil A:</strong><br />
cara tu era terrorista</p>
<p><strong>Terrorista Juvenil B:</strong><br />
haha. nunca matei ninguém. só dava coisa ruim pros caras comer. hahaha</p>
<p><strong>Terrorista Juvenil A:</strong><br />
hahaha</p>
<p><strong>Terrorista Juvenil B:</strong><br />
é mto loco mesmo. mas acho q de tanto aprontar qdo criança acabei me tornando um adulto criativo. eu gostava de inventar. queria ser inventor quando criança. meu maior fracasso foi a maquina de matar mosquito q era basicamente uma madeira com dois pregos, um elástico e um clips. vc tinha q tentar acertar o clips no mosquito. nunca matei nenhum. mas acho que hoje eu viajo no Flex por causa disso. hehehe</p>
<p><strong>Terrorista Juvenil A:</strong><br />
hahahah</p>
<p><strong>Terrorista Juvenil B:</strong><br />
vamos continuar esta conversa qq dia desses pessoalmente. vai ser hilário. eu vou contar o q eu fiz para ñ ser seqüestrado por ET. eu morria de medo disso</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/varginha.jpg"/></p>
<p><strong>Terrorista Juvenil A:</strong><br />
hahahah<br />
falow</p>
<p>Bem, o <strong>Terrorista Juvenil A</strong> é o Carlos Eduardo e o <strong>Terrorista Juvenil B</strong> é o Beck Novaes. Sim, foi o Carlos que matou 20 galinhas e o Beck que deixou o boca dos garotos da rua cheia de espuma com sal de fruta. O que vocês acabaram de ler foi uma conversa que tivemos no Talk. </p>
<p>Mas e você? Também é um terrorista juvenil que trabalha com Flex? Conte-nos qual foi sua maior travessura. </p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=330&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/08/23/terroristas-juvenis-que-trabalham-com-flex/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Não faça o que os usuários querem! Faça o que eles precisam!</title>
		<link>http://www.becklog.org/2009/08/11/nao-faca-o-que-os-usuarios-querem-faca-o-que-eles-precisam/</link>
		<comments>http://www.becklog.org/2009/08/11/nao-faca-o-que-os-usuarios-querem-faca-o-que-eles-precisam/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 12:15:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Crítica]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Outbox]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=308</guid>
		<description><![CDATA[“Não ouça os compradores, eles não sabem o que querem” – Steve Jobs.
Algo parecido acontece com os usuários em minha opinião.
“Saber o que quer” é diferente de “saber o que precisa”. O usuário sabe o que quer, mas você NÃO DEVE fazer o que ele quer, você deve fazer o que ele precisa!
O que usuário [...]]]></description>
			<content:encoded><![CDATA[<p>“Não ouça os compradores, eles não sabem o que querem” – Steve Jobs.</p>
<p>Algo parecido acontece com os usuários em minha opinião.</p>
<p><strong>“Saber o que quer”</strong> é diferente de <strong>“saber o que precisa”</strong>. O usuário sabe o que quer, mas você <strong>NÃO DEVE</strong> fazer o que ele quer, você deve fazer o que ele precisa!</p>
<p>O que usuário quer num primeiro momento vai deixá-lo com a falsa impressão que o projeto está indo bem. Mas depois de um tempo ele verá que não é bem assim. Depois de um tempo ele vai querer mudar para o que ele precisava mas não sabia.</p>
<p>O problema de desenvolver com foco no que o usuário quer é que isso é baseado em desejo e como tal é rotineiramente distorcido pelas impressões. Desenvolver baseado no desejo dos usuários o leva a assumir premissas e criar restrições erradas para o desenvolvimento do Software. Isso complicará o seu projeto e provavelmente levará a resultados pouco satisfatórios. O problema é que o usuário vai culpar você por isso e nem vai lembrar das informações imprecisas que ele lhe passou sobre o que ele desejava.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/requisitos-dilbert1.jpg" alt="" title="Requisitos Dilbert" width="500" height="352" class="alignnone size-full wp-image-315" /></p>
<p>Sim, o usuário não vai lhe dizer o que ele precisa porque ele não sabe! Pior, por sua natureza, entender o que o usuário realmente precisa é mais &#8220;arte&#8221; do que ciência. Você precisa saber lidar com pessoas. Você precisa saber que o usuário é um ser humano como outro qualquer e que está muito confuso sobre o seu problema. O usuário define seus softwares tal como um casal apaixonado olha para o céu e vê cachorrinhos nas nuvens. E ele faz isso porque o nosso cérebro funciona assim: por associações. É por isso que vira e mexe ele olha outro software que não tem nada a ver com o seu problema e diz: eu preciso disso! Então você começa a desenvolver e aprende a duras penas que não era nada daquilo&#8230; e você muda um pouco aqui, muda um pouco ali e quando vê já está com um Software Frankenstein nas mãos. </p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/dogcloud.jpg" alt="" title="Nuvem Cachorrinho" width="500" height="352" class="alignnone size-full wp-image-321" /></p>
<p><em>O usuário define seus softwares tal como um casal apaixonado olha para o céu e vê cachorrinhos nas nuvens.</em></p>
<p>É neste ponto que você deve deve ter a &#8220;astúcia&#8221; de abstrair os desejos do usuário, considerar as informações relevantes sobre o que ele está lhe falando e propor soluções que, pelo seu conhecimento, devem agregar mais valor do que aquilo que o usuário pensava antes. E você terá que saber argumentar com ele sobre esta &#8220;nova&#8221; solução. Porém, compre mesmo esta briga! Não desista tão facilmente de convencê-lo a &#8220;fazer do seu jeito&#8221;. Demonstre confiança no que você esta falando. Baseie-se em estudos, fatos, exemplos. Conquiste a confiança dele antes de qualquer coisa. Não existe receita de bolo para isso e eu acredito que é por isso que estes templates de Casos de Uso ou qualquer outra coisa do tipo falham. Não me refiro ao artefato em si, mas o modo como ele é concebido: geralmente um processo burocrático, formal, nada humano e extremamente chato! </p>
<p>Finalmente, quando você consegue fazer <strong>O QUE O USUÁRIO PRECISA</strong> pode até ser que exista algum atrito no inicio – porque ele ainda não tem certeza que precisa daquilo. Mas conforme o tempo passa ele entenderá melhor porque as coisas estão tomando o rumo que estão tomando – ele aprende junto com você o real problema. E eis que o usuário passa a querer o que ele precisa e é aí que está a chave do sucesso.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/user-happy.jpg" alt="" title="User Happy" width="425" height="282" class="alignnone size-full wp-image-322" /></p>
<p><strong>Nota:</strong> Este post é uma &#8220;extensão&#8221; do comentário que fiz <a href="http://blog.mxml.com.br/voce-esta-preparado-para-dizer-o-que-estas-precisando">neste outro post</a>.</p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=308&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/08/11/nao-faca-o-que-os-usuarios-querem-faca-o-que-eles-precisam/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>TI-Centrismo Vs. Usuário-Centrismo</title>
		<link>http://www.becklog.org/2009/08/06/ti-centrismo-vs-usuario-centrismo/</link>
		<comments>http://www.becklog.org/2009/08/06/ti-centrismo-vs-usuario-centrismo/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 12:06:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Crítica]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Outbox]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=279</guid>
		<description><![CDATA[Um dos problemas de desenvolvimento do Software, especialmente no Brasil, é o TI-Centrismo.
O TI-Centrismo prega que TI é o centro do Universo. Desta forma, muitas das decisões tomadas no ciclo de vida de desenvolvimento do Software visam &#8220;proteger&#8221; TI.
- &#8220;Não pudemos mudar isso, é padrão de TI!&#8221; = TI-Centrismo
- &#8220;Não dá para fazer assim, o [...]]]></description>
			<content:encoded><![CDATA[<p>Um dos problemas de desenvolvimento do Software, especialmente no Brasil, é o TI-Centrismo.</p>
<p>O TI-Centrismo prega que TI é o centro do Universo. Desta forma, muitas das decisões tomadas no ciclo de vida de desenvolvimento do Software visam &#8220;proteger&#8221; TI.<br />
- &#8220;Não pudemos mudar isso, é padrão de TI!&#8221; = TI-Centrismo<br />
- &#8220;Não dá para fazer assim, o banco não permite&#8221; = TI-Centrismo<br />
- &#8220;Não vou deixar meu código feio assim. Deixa essa animação pra lá&#8221; = TI-Centrismo<br />
- &#8220;Vamos fazer o Café com Leite, senão vai dar muito trabalho.&#8221; = TI-Centrismo</p>
<p>Precisamos mudar isso! Precisamos deixar o TI-Centrismo e adotar o Usuário-Centrismo. Pode não parecer mais isso muda muita coisa.</p>
<p>Programadores odeiam código feio. Por outro lado a parte estética da aplicação e as animações são sempre deixados para o final. O problema? Bem, muitas vezes perde-se muito tempo tentando fazer aquela arquitetura super hiper robusta com o super hiper design pattern onde não precisa.</p>
<p>Mas por que a estética, incluindo animação é importante? Porque isso deixa o usuário num estado mental muito melhor. Isso faz com que o usuário:</p>
<p>1. Perdoe erros mais facilmente<br />
2. Tenha maior pré-disposição para aprender a mexer na aplicação</p>
<p>Fizeram uma experiência com dois caixas eletrônicos idênticos em termos de usabilidade e implementação. Um bonito e outro feio. O Caixa mais bonito teve uma avaliação muito melhor do que o caixa mais feio. No Caixa mais feio as pessoas reclamaram muito mais dos erros (propositais) do que no caixa mais bonito. Uma coisa é o usuário bater o olho numa coisa bonita e falar: &#8220;Uau&#8230; que legal isso. Bem, agora deixa eu ver como eu uso!&#8221;. Outra coisa é ele falar &#8220;Nossa! Que coisa medonha, como eu uso isso?&#8221; O estado mental é tudo. A motivação é tudo. E coisas feias definitivamente desmotivam.</p>
<p>Quando abandonamos o TI-Centrismo e adotamos o Usuário-Centrismo nossa percepção muda. Eu prefiro perder tempo fazendo uma animação que vai agregar mais valor à experiência do usuário do que aplicando aquele super ultra design pattern que li no ultimo livro que ostento na minha estante e que só vai servir para eu exercitar o que aprendi. E isso tem a ver com outra coisa que eu chamo de Tradeoff com foco no valor agregado (assunto para um outro post).</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/galileu1.jpg" alt="" title="Galileu" width="289" height="343" class="alignnone size-full wp-image-292" /><br />
<em>Em muitos casos o TI-Centrismo é como uma religião. Só espero não ser condenado como <a href="http://pt.wikipedia.org/wiki/Galileu_Galilei#A_condena.C3.A7.C3.A3o_de_Galileu_pelo_Santo_Of.C3.ADcio">Galilei Galilei</a> por tentar mostrar que o centro do Universo não é o que os devotos pensam. </em></p>
<p>Ao adotar o Usuário-Centrismo comecei a me perguntar se os POGs que tanto incomodam os programadores que pregam boas práticas em 100% do Software (TI-Centrismo) são realmente um mal em todos os contextos. Eu ousaria dizer que, no Usuário-Centrismo existe o <strong>POG do Mal</strong> e o <strong>POG do Bem</strong>. Imagine que você precisa implementar uma animação em Flex e que, como um bom programador, você tentou fazer da melhor forma possível. Mas não teve jeito! Você vai ter que colocar um Timer para fazer funcionar perfeito (típico POG para resolver problemas de tempo em animações em Flex). Mas você é um programador &#8220;bonzão&#8221;. Você jamais vai fazer este POG. Então você se recusa. Afinal de contas, para quê animação, não é mesmo? Mas a pergunta é: Tal animação vai agregar valor à experiência do usuário? Sim! O POG vai ser fonte potencial de problemas? Não! O POG vai ser difícil dos programadores entender? Não (nada que um comentário simples não resolva). Então, por que que eu vou me recusar de fazer algo que mais agrega à experiência do usuário do que, de fato, prejudica TI? Porque eu sou adepto do TI-Centrismo. Eu não faço software para o usuário, eu faço para mim. Para o meu ego.</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/pog-do-bem2.png" alt="" title="POG do Mal Vs. POG do Bem" width="445" height="517" class="alignnone size-full wp-image-299" /><br />
<em>Eu quis manter o diagrama acima simples e por isso o fiz &#8220;incompleto&#8221;. No caso da complexidade, por exemplo, mesmo que POG pareça &#8220;comprometer a complexidade&#8221; é preciso colocar isto na balança pois também acredito que não há mal algum em algo complexo, encapsulado e que pouco vai ser mexido. Mais um vez, é o que eu chamo de Tradeoff com foco no valor agregado.</em></p>
<p>O TI-Centrimo começa nas Universidades ou quando o iniciante está aprendendo a programar. Nesta época, sem experiência e capacidade para julgar, os professores colocam na cabeça das pessoas que a performance do sistema é um problema independente do contexto. Em outras palavras, aprende-se que sempre se deve otimizar um simples &#8220;for&#8221; (tentar transformar 200 iterações em 100 por exemplo). Aprende-se que se deve preocupar com a performance desde o início. Mas o que não é dito é que código otimizado é mais complexo. O que não é dito é que o gargalo de performance corresponde a um percentual muito pequeno do código do seu software. O que não e dito é que você geralmente não sabe onde está este gargalo e que no final das contas você vai perder muito tempo tentando otimizar código onde não é preciso, adicionando complexidade ao seu código e deixando de fazer outras coisas que agregam mais valor. Isto é TI-Centrismo!</p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/08/teacher.png" alt="" title="Teacher" width="250" height="238" class="alignnone size-full wp-image-301" /></p>
<p>O TI-Centrismo cria tantas restrições para se fazer um bom trabalho que Software de qualidade do ponto de vista do usuário é praticamente impossível. O TI-Centrismo é respaldado (entre outras coisas) pela alienação do programador. Softwares existem porque alguém precisa usar. Este alguém é o usuário. Ele é a razão do software existir. Mas muitos programadores esquecem disto e o seu código passa a ter uma razão de existir em si. Este programador aplica Design Pattern porque ele gosta. Ele aplica boas práticas porque ele gosta. Ele faz código otimizado porque ele gosta. Mas ele não gosta de perder tempo com animação &#8211; que as vezes é o que vai agregar valor à experiência final. </p>
<p>Você pode adotar o Usuário-Centrismo e continuar apreciando código bonito e de qualidade. A diferença é que o Usuário-Centrismo vai lhe fazer pensar que o seu código tem que ser bom para lhe permitir fazer um Software cada vez melhor não para você, mas sim para o usuário.</p>
<p>O que jamais podemos esquecer é que fazemos softwares para os usuários. Então ele deveria ser o centro do universo, e não TI.</p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=279&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/08/06/ti-centrismo-vs-usuario-centrismo/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Feedback do curso Imersão Adobe Flex</title>
		<link>http://www.becklog.org/2009/07/29/feedback-do-curso-imersao-adobe-flex/</link>
		<comments>http://www.becklog.org/2009/07/29/feedback-do-curso-imersao-adobe-flex/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 11:31:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscelânea]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=263</guid>
		<description><![CDATA[Você pode conferir no Twitter a reação da galera sobre o curso Imersão Adobe Flex que ministrei no eGenial. 
Ou, pela imagem abaixo, pode ver o feedback do pessoal no final do curso. 

Aqui os meus sinceros agradecimentos às pessoas que acordaram cedo quatro sábados seguidos para participar do curso, souberam me dar umas dicas [...]]]></description>
			<content:encoded><![CDATA[<p>Você pode <a href="http://twitter.com/search?q=flex%20imers%C3%A3o">conferir no Twitter</a> a reação da galera sobre o curso <a href="http://www.egenial.com.br/imersao-flex">Imersão Adobe Flex</a> que ministrei no <a href="http://blog.egenial.com.br/">eGenial</a>. </p>
<p>Ou, pela imagem abaixo, pode ver o feedback do pessoal no final do curso. </p>
<p><img src="http://www.becklog.org/wp-content/uploads/2009/07/feedback2.png" alt="" title="Feedback Imersão Adobe Flex" width="500" height="396" class="alignnone size-full wp-image-275" /></p>
<p>Aqui os meus sinceros agradecimentos às pessoas que acordaram cedo quatro sábados seguidos para participar do curso, souberam me dar umas dicas do rumo e do ritmo que o curso estava tendo na hora certa, e me recompensaram com este feedback final tão positivo. Sensação de dever cumprido. </p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=263&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/07/29/feedback-do-curso-imersao-adobe-flex/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Por que o código dos outros é sempre ruim?</title>
		<link>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/</link>
		<comments>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 15:12:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.becklog.org/?p=238</guid>
		<description><![CDATA[Sabe por que o código fonte dos outros é ruim? Porque os programadores começam o projeto sem saber quais partes do Software precisam de código realmente bom e, pior, não refatoram no decorrer do projeto. Estas partes do Software são as que mais sofrem manutenção, as mais sujeitas à bugs e alterações futuras. Para facilitar [...]]]></description>
			<content:encoded><![CDATA[<p>Sabe por que o código fonte dos outros é ruim? Porque os programadores começam o projeto sem saber quais partes do Software precisam de código realmente bom e, pior, não refatoram no decorrer do projeto. Estas partes do Software são as que mais sofrem manutenção, as mais sujeitas à bugs e alterações futuras. Para facilitar a explicação vamos chamar estas partes de Partes Relevantes.</p>
<p>Pois bem, sabemos que o código não vai ficar bom em 100% das partes do Software. Então, a chave é fazer o código bem feito onde ele precisa ser bem feito, ou seja, nas Partes Relevantes. O problema? No início de todo projeto sempre há aquela preocupação em fazer tudo genérico, bonito, organizado, etc. E justamente neste momento sabemos muito pouco sobre as Partes Relevantes. Como resultado, acabamos perdendo muito tempo implementando coisas bonitas e genéricas onde não precisava e isso toma justamente o tempo que deveríamos dedicar à&#8230; quem? quem? às Partes Relevantes do Software. </p>
<p>Então um outro programador assume o nosso código e, obvimante, ele terá que mexer&#8230;bem, você sabe aonde. E não importa o quanto seu código está bom nas outras partes pois ele não vai nem entrar nelas. Você teve sim a preocupação em fazer um código bom, mas fez isso no lugar errado pois não sobrou tempo para fazer no lugar certo. Por isso, o outro programador vai achar que o seu código é uma merda pois ele sabe do código bom que ele é capaz de fazer (mesmo que ele o faça onde não precisa) e está vendo a parte do seu código que até você tem vergonha. Então ele vai ficar dando palpites no seu código &#8211; mas agora é fácil, pois neste momento as Partes Relevantes são evidentes. Até que um dia ele precisa implementar um conjunto de funcionalidades novas e o ciclo se repete (outro assume, critica, faz bem onde não precisava e mal onde precisava). E assim continuamos achando sempre que o nosso código é melhor do que o dos outros pois sempre analisamos no final, numa atividade onde uma das coisas mais importantes é entender realmente o que precisa ser feito. </p>
<p>Mas eu desconfio que este ciclo poderia ser quebrado se a Refatoração fosse levada a sério. Eu disse: <strong>LEVADA A SÉRIO</strong>! Não falo do mito da refatoração no final do projeto. Falo em Refatorar sempre que adicionar uma nova funcionalidade, por menor que seja. Falo em adaptar o código existente para que esta nova funcionalidade se encaixe como uma luva sem a necessidade de &#8220;ifs&#8221; para tratar casos não previstos.  Se o caso não foi previsto eu não vou colocar um &#8220;if&#8221; (ou violar os princípios de OOP) para que funcione, eu vou mudar o código existente para que ela se encaixe como se tivesse sido prevista desde o início. </p>
<p>Quando você Refatora corretamente o código fica melhor com o tempo pois a cada nova funcionalidade você entende melhor o que precisa fazer. A cada funcionalidade nova você entende melhor quais são as Partes Relevantes. Por outro lado, quando você não Refatora o código fica ruim com o tempo pois você está ignorando o que está aprendendo de novo sobre o que precisa de fato ser feito.</p>
<img src="http://www.becklog.org/?ak_action=api_record_view&id=238&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.becklog.org/2009/07/14/por-que-o-codigo-dos-outros-e-sempre-ruim/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
