<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Blogosfera | RubyOnBr</title>
    <link>http://forum.rubyonbr.org/blogosfera</link>
    <copyright>Respectivo aos autores dos feeds e distribuidores</copyright>
    <generator>http://rubyonbr.org</generator>
    <language>pt-br</language>
    <ttl>60</ttl>
    <item>
      <title>Rails i18n: interpola&#231;&#227;o, pluraliza&#231;&#227;o e valores default</title>
      <description>&lt;p&gt; &lt;strong&gt;Interpola&#231;&#227;o&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Quando chamamos o m&#233;todo translate podemos passar algumas op&#231;&#245;es como par&#226;metro e elas ser&#227;o interpoladas com a mensagem correspondente. Supondo que temos o arquivo de mensagens:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;pt-BR:
  welcome : "Bem vindo {{name}}!"&lt;/pre&gt;
&lt;p&gt;quando executemos:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;I18n.translate(:welcome, :name =&gt; "Diego Carrion")&lt;/pre&gt;
&lt;p&gt;o resultado ira ser:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;Bem vindo Diego Carrion!&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Pluraliza&#231;&#227;o&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Algumas vezes quando interpolamos uma mensagem com um n&#250;mero queremos que o comportamento seja distinto quando o n&#250;mero representar uma ou varias unidades. Nesses casos podemos utilizar a op&#231;&#227;o count e definir uma mensagem para one (count == 1) e other (count &gt; 1). Caso tenhamos as seguintes mensagens:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;pt-BR:
  shoutt_received :
    one : "1 mensagem recebida"
    other : "Foram recebidas {{count}} mensagens&lt;/pre&gt;
&lt;p&gt;ao executar:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;I18n.translate(:shoutt_received, :count =&gt; 1)
I18n.translate(:shoutt_received, :count =&gt; 10)&lt;/pre&gt;
&lt;p&gt;obteremos como resultado:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;1 mensagem recebida
Foram recebidas 10 mensagens&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Valores default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ao chamar o m&#233;todo translate podemos especificar um valor a ser utilizado caso a mensagem para a chave passada como par&#226;metro n&#227;o seja encontrada:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;I18n.translate(:hello_world, :default =&gt; "Hola mundo loco!")&lt;/pre&gt;</description>
      <pubDate>Sun, 12 Oct 2008 23:30:19 -0300</pubDate>
      <author>Diego Carrion </author>
      <link>http://feeds.feedburner.com/~r/MouseoverStudio/~3/419087106/</link>
    </item>
    <item>
      <title>Rails i18n: populate agora &#233; load_path</title>
      <description>&lt;p&gt;Em Julho escrevi um &lt;a href="http://www.mouseoverstudio.com/blog/2008/07/24/rocking-mit-i18n-em-rails-en-3-pasos/"&gt;post&lt;/a&gt; descrevendo como trabalhar com o novo suporte a i18n do Rails. Na oportunidade mencionei que pod&#237;amos carregar nosso arquivo de mensagens com o m&#233;todo populate do modulo I18n, assim:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;I18n.populate do
    require "caminho/ate/#{locale}.rb"
  end&lt;/pre&gt;
&lt;p&gt;Resulta que desde esse momento ate hoje, a tarefa de carregar o arquivo de mensagens passou de populate para load_translactions, de load_translactions para load_paths e de load_paths para load_path, pelo que se hoje quisermos carregar algum arquivo de mensagens, teremos que executar a seguinte sintaxe:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;I18n.load_path = "caminho/ate/#{locale}.rb"&lt;/pre&gt;</description>
      <pubDate>Sun, 12 Oct 2008 02:58:07 -0300</pubDate>
      <author>Diego Carrion </author>
      <link>http://feeds.feedburner.com/~r/MouseoverStudio/~3/418344428/</link>
    </item>
    <item>
      <title>Links for 2008-10-11 [del.icio.us]</title>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://giantrobots.thoughtbot.com/2008/6/25/named-scopes-with-squirrel"&gt;Squirrel Updates for Rails 2.1, now with Named Scopes!&lt;/a&gt;&lt;br/&gt;
Como usar o Squirrel para construir queries complexas com uma sintaxe Rubista, tudo de forma integrada com named_scopes&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Sun, 12 Oct 2008 02:00:00 -0300</pubDate>
      <author>Flavio Granero</author>
      <link>http://feeds.feedburner.com/~r/flaviogranero/~3/418314415/maltempe</link>
    </item>
    <item>
      <title>Links for 2008-10-11 [del.icio.us]</title>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://giantrobots.thoughtbot.com/2008/6/25/named-scopes-with-squirrel"&gt;Squirrel Updates for Rails 2.1, now with Named Scopes!&lt;/a&gt;&lt;br/&gt;
Como usar o Squirrel para construir queries complexas com uma sintaxe Rubista, tudo de forma integrada com named_scopes&lt;/li&gt;
&lt;/ul&gt;</description>
      <pubDate>Sun, 12 Oct 2008 02:00:00 -0300</pubDate>
      <author>Fl&#225;vio Maltempe</author>
      <link>http://feeds.feedburner.com/~r/flaviogranero/~3/418314415/maltempe</link>
    </item>
    <item>
      <title>O TOMJobs &#233; isso!</title>
      <description>&lt;p&gt;&lt;a href="http://www.tomjobs.com.br"&gt;&lt;img class="alignright" src="http://www.egenial.com.br/arquivos/logoTOMJosbs.png" alt="" width="363" height="122" /&gt;&lt;/a&gt;Imagine um site de emprego diferente, um site onde voc&#234; n&#227;o ir&#225; deixar somente seu curr&#237;culo em pdf ou texto e nem precisar&#225; se deslocar at&#233; outras cidades para participar de uma entrevista em uma grande empresa ap&#243;s receber por email o contato para a primeira sele&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tomjobs.com.br" target="_blank"&gt;O TOMJobs &#233; isso!&lt;/a&gt; Uma forma diferente e interativa de conseguir aquele emprego em qualquer lugar do mundo sem sair de sua casa.&lt;/p&gt;</description>
      <pubDate>Sat, 11 Oct 2008 13:01:52 -0000</pubDate>
      <author>Carlos Eduardo</author>
      <link>http://blog.egenial.com.br/?p=184</link>
    </item>
    <item>
      <title>Cobertura de Testes em Flex</title>
      <description>&lt;p&gt;Todo mundo sabe que fazer testes automatizados para seus c&#243;digos em Ruby &#233; uma pr&#225;tica comum, temos v&#225;rios frameworks de teste como RSpec, Should, Test::Unit e v&#225;rios outros, n&#227;o sou nenhum expert em nenhum deles mas conhe&#231;o um pouquinho de RSpec e Test::Unit e de fato pode agilizar muito seu desenvolvimento e salvar sua vida em v&#225;rias situa&#231;&#245;es&#8230; mas e em Flex??? N&#227;o &#233; t&#227;o comum assim, mas estou fazendo este post r&#225;pido apenas para indicar um link que econtrei hoje. Um projeto que faz para o Flex algo semelhante ao RCov do Ruby.&lt;/p&gt;


	&lt;p&gt;Ainda n&#227;o usei o projeto e nem testei, mas parece legal. Fica aqui a dica e se alguem testar ou j&#225; tiver usado poste aqui nos coment&#225;rios. ;)&lt;/p&gt;


	&lt;p&gt;Vejam o link do projeto:&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://code.google.com/p/flexcover/"&gt;http://code.google.com/p/flexcover/&lt;/a&gt;&lt;/p&gt;
          &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?a=B0oAM"&gt;&lt;img src="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?i=B0oAM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?a=gl4wm"&gt;&lt;img src="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?i=gl4wm" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?a=yOOjm"&gt;&lt;img src="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?i=yOOjm" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?a=MDiBM"&gt;&lt;img src="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?i=MDiBM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?a=zLUFM"&gt;&lt;img src="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?i=zLUFM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?a=S1GdM"&gt;&lt;img src="http://feeds.feedburner.com/~f/AreaCriaes-WebEDesign-Home?i=S1GdM" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
      <pubDate>Sat, 11 Oct 2008 04:57:00 -0000</pubDate>
      <author>Daniel Lopes</author>
      <link>http://feeds.feedburner.com/~r/AreaCriaes-WebEDesign-Home/~3/417501501/cobertura-de-testes-em-flex</link>
    </item>
    <item>
      <title>Rails Summit: &#218;ltimos Dias!</title>
      <description>&lt;p&gt;&lt;a href="http://www.locaweb.com.br/railssummit"&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/8/1/468x60.gif" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pessoal, n&#227;o se esque&#231;am: as &lt;a href="http://www.locaweb.com.br/railssummit"&gt;inscri&#231;&#245;es&lt;/a&gt; se &lt;strong&gt;encerram&lt;/strong&gt; nesta segunda-feira. Quem n&#227;o se inscrever online at&#233; l&#225; e mudar de id&#233;ia ainda poder&#225; participar mas precisar&#225; pagar na entrada no dia do evento.&lt;/p&gt;
&lt;p&gt;Aconteceram alguns pequenos &lt;a href="http://www.akitaonrails.com/2008/10/9/off-topic-entendendo-a-crise-econ-mica"&gt;Cisnes Negros&lt;/a&gt; nos &#250;ltimos dias :-)&lt;/p&gt;
&lt;p&gt;Primeiro, o Carlos Villela n&#227;o poder&#225; vir. Ele ficou preso em projeto na ThoughtWorks e acabou tendo que declinar. Mas n&#227;o se preocupem, em seu lugar palestrar&#225; o &lt;a href="http://www.nomedojogo.com/2008/10/09/rails-summit-meu-emprego-foi-para-os-eua/"&gt;Carlos Brando&lt;/a&gt;, nome mais do que conhecido na comunidade Rails. E pelo que ele me disse, n&#227;o apenas ele mas o pessoal da Surgeworks estar&#225; participando do evento e da palestra numa sess&#227;o de perguntas e respostas tamb&#233;m. N&#227;o deixem de participar.&lt;/p&gt;
&lt;p&gt;Outra coisa: o Charles Nutter e Tom Enebo viriam para palestrar, por&#233;m tiveram problemas de &#250;ltima hora com visto (quem j&#225; lidou com consulado sabe que &#224;s vezes &#233; meio uma roleta-russa). De qualquer forma eles concordaram em participar online. Da mesma forma como o David Hansson j&#225; estava confirmado para participar via video confer&#234;ncia, ent&#227;o eles far&#227;o da mesma forma. O hor&#225;rio e dia ainda &#233; o mesmo.&lt;/p&gt;
&lt;p&gt;E falando no David Hansson, ele tamb&#233;m teve problemas de &#250;ltima hora. No fim o que conseguimos fazer foi o seguinte: a palestra dele que seria no dia 16 &#224;s 11:30 agora ser&#225; no dia 15 &#224;s 11:20. Dessa forma, a sess&#227;o paralela que seria eu e o Jay Fields mudou para o dia 16.&lt;/p&gt;
&lt;p&gt;Vejam a programa&#231;&#227;o atualizada no &lt;a href="http://www.locaweb.com.br/railssummit"&gt;site do evento&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/AkitaOnRails?a=d2zF7w"&gt;&lt;img src="http://feeds.feedburner.com/~a/AkitaOnRails?i=d2zF7w" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/AkitaOnRails?a=UDb5M"&gt;&lt;img src="http://feeds.feedburner.com/~f/AkitaOnRails?i=UDb5M" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AkitaOnRails?a=yjMJm"&gt;&lt;img src="http://feeds.feedburner.com/~f/AkitaOnRails?i=yjMJm" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AkitaOnRails/~4/416936316" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 10 Oct 2008 13:08:02 -0300</pubDate>
      <author>F&#225;bio Akita</author>
      <link>http://feeds.feedburner.com/~r/AkitaOnRails/~3/416936316/rails-summit-ltimos-dias</link>
    </item>
    <item>
      <title>Palestrante Rails Summit: George Guimar&#227;es</title>
      <description>&lt;p&gt;&lt;a href="http://www.locaweb.com.br/railssummit"&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/8/1/468x60.gif" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;O Rails Summit &#233; semana que vem! Estamos nos dias finais de inscri&#231;&#227;o. E aproveitando, vamos conhecer mais um de nossos palestrantes, &lt;strong&gt;George Guimar&#227;es&lt;/strong&gt;, da startup brasileira &lt;a href="http://pagestacker.com"&gt;Pagestacker&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Essa palestra ser&#225; particularmente importante para aqueles que j&#225; est&#227;o com a m&#227;o na massa em projetos de Rails e agora precisam colocar suas aplica&#231;&#245;es em produ&#231;&#227;o. O George explicar&#225; as min&#250;cias sobre infra-estrutura e como colocar aplica&#231;&#245;es web ao p&#250;blico.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/10/george.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Vamos conhecer o George:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AkitaOnRails:&lt;/strong&gt; Poderia se apresentar e falar um pouco mais sobre voc&#234;? Principalmente suas experi&#234;ncias anteriores em tecnologia ou empreendedorismo pr&#233;-Rails?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;George Guimar&#227;es:&lt;/strong&gt; Meu nome &#233; George Guimar&#227;es, tenho 23 anos, sou formado em Engenharia El&#233;trica pela Escola Polit&#233;cnica da &lt;span class="caps"&gt;USP&lt;/span&gt; e sou um dos fundadores do &lt;a href="http://pagestacker.com"&gt;Pagestacker&lt;/a&gt;. No Pagestacker, sou respons&#225;vel pela parte de infra-estrutura.&lt;/p&gt;
&lt;p&gt;O Pagestacker &#233; um aplicativo de bookmarking diferente, com forte &#234;nfase em simplicidade e em seu mecanismo de busca interno. O resultado disso &#233; um modelo de uso voltado para o armazenamento de altos volumes de informa&#231;&#245;es e facilidade de localiza&#231;&#227;o de documentos e nem tanto a sua categoriza&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;Sempre estive ligado na &#225;rea de infra-estrutura, servidores, e afins, desde a &#233;poca da Poli, como no meu trabalho no &lt;span class="caps"&gt;LSI&lt;/span&gt;-&lt;span class="caps"&gt;USP&lt;/span&gt; (Laborat&#243;rio de Sistemas Integrados), onde conheci o &lt;a href="http://fabiokung.com"&gt;F&#225;bio Kung&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tamb&#233;m atuei por muito tempo na empresa j&#250;nior da faculdade, a Poli J&#250;nior, gerenciando projetos de TI e liderando algumas equipes da empresa.&lt;/p&gt;
&lt;p&gt;Recentemente, trabalhei na Gemalto, multinacional francesa l&#237;der em seguran&#231;a digital.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AkitaOnRails:&lt;/strong&gt; Como se encontrou com Ruby on Rails? O que foi que o convenceu a apostar seus recursos em aprender e usar essa tecnologia? O que voc&#234; mais gosta sobre Ruby e Rails?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;George Guimar&#227;es:&lt;/strong&gt; Quando tivemos a id&#233;ia de montar uma empresa de engenharia de software, pesquisamos diversas alternativas. J&#225; hav&#237;amos trabalhado com plataforma .&lt;span class="caps"&gt;NET&lt;/span&gt;, mas o Rails acabou superando nossas expectativas.&lt;/p&gt;
&lt;p&gt;O que eu mais gosto sobre Ruby e Rails? Bem&#8230; sou o respons&#225;vel pela infra, e como eles n&#227;o escalam, significa mais desafios para mim (risos).&lt;/p&gt;
&lt;p&gt;Brincadeiras &#224; parte, acho a linguagem Ruby a mais leg&#237;vel de todas que eu j&#225; trabalhei. Isso pra mim &#233; muito importante. Legibilidade do c&#243;digo. Facilita pra todo mundo (revis&#227;o de c&#243;digo, mudan&#231;a de equipe, reuso de c&#243;digo&#8230;). E isso acaba transbordando pro mundo Rails. Facilidade de estender o framework, facilidade de adaptar o c&#243;digo pra sua necessidade. O&lt;br /&gt;
que acaba tamb&#233;m gerando uma comunidade fant&#225;stica de desenvolvedores.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AkitaOnRails:&lt;/strong&gt; Voc&#234; participa da comunidade brasileira de Ruby e Rails? Tem blog,&lt;br /&gt;
participa de projetos open source, ministra palestras ou cursos?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;George Guimar&#227;es:&lt;/strong&gt; Blogo esporadicamente no &lt;a href="http://blog.georgeguimaraes.com"&gt;http://blog.georgeguimaraes.com&lt;/a&gt;, mas tem sido cada vez mais dif&#237;cil atualizar o blog por conta do alto volume de trabalho no Pagestacker.&lt;/p&gt;
&lt;p&gt;Participei de palestras no &lt;a href="http://www.akitaonrails.com/2007/11/18/rejectconf-sp-07-dia-seguinte"&gt;RejectConf&#8217;SP 07&lt;/a&gt; e no WebDevCamp&#8217;SP. Tamb&#233;m procuro responder os emails que recebo com d&#250;vidas sobre Rails e infra-estrutura.&lt;/p&gt;
&lt;p&gt;Da nossa equipe, o Jos&#233; Valim se tornou o mantenedor oficial do Footnotes (anteriormente mantido pelo Dr. Nic), al&#233;m de publicar os plugins que criamos para usar com o Pagestacker no blog &lt;a href="http://josevalim.blogspot.com"&gt;dele&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;J&#225; o &lt;a href="http://hugobarauna.blogspot.com"&gt;Hugo Barauna&lt;/a&gt; contribuiu com o desenvolvimento do Contacts, para integra&#231;&#227;o com os webservices do Gmail, Hotmail e Yahoo Mail.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AkitaOnRails:&lt;/strong&gt; O Rails Summit ser&#225; uma grande oportunidade para conhecer pessoas, ver o que os outros est&#227;o fazendo, trocar id&#233;ias e ver o rumo da tecnologia. Sobre o que ser&#225; sua palestra?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;George Guimar&#227;es:&lt;/strong&gt; Ser&#225; um apanhado sobre escalabilidade, capacity planning e algumas t&#233;cnicas que considero que todo desenvolvedor (seja ele railer ou n&#227;o) deveria estar atento.&lt;/p&gt;
&lt;p&gt;&#201; f&#225;cil come&#231;ar a desenvolver em um framework como o Rails e &#8220;esquecer&#8221; aspectos b&#225;sicos de arquitetura e focar apenas no desenvolvimento de c&#243;digo. Mas &#233; preciso pensar na aplica&#231;&#227;o como um todo.&lt;/p&gt;
&lt;p&gt;Isso n&#227;o &#233; culpa do framework n&#227;o. Longe de mim falar mal do Rails (risos), mas o desenvolvedor tamb&#233;m precisa ter outros conceitos importantes em mente.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AkitaOnRails:&lt;/strong&gt; O que voc&#234; tem a dizer aos desenvolvedores brasileiros que gostariam de usar Rails mas se v&#234;em na situa&#231;&#227;o de aprender apenas a tecnologia que tem maior marketshare?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;George Guimar&#227;es:&lt;/strong&gt; Aprender linguagens e frameworks novos &#233; necess&#225;rio! &#201; o exerc&#237;cio de cada dia do desenvolvedor. Praticamente um hobby. Mesmo que voc&#234; n&#227;o v&#225; usar Rails diretamente no seu trabalho, isso vai tornar voc&#234; um desenvolvedor&lt;br /&gt;
melhor, com certeza.&lt;/p&gt;
&lt;p&gt;Se voc&#234; &#233; um desenvolvedor que tem uma base s&#243;lida em software, conhece os conceitos b&#225;sicos de computa&#231;&#227;o, ent&#227;o voc&#234; n&#227;o precisa se preocupar com modismos ou maior penetra&#231;&#227;o no mercado.&lt;/p&gt;
&lt;p&gt;E nunca se sabe&#8230; Vai que tem uma startup precisando contratar um pessoal gabaritado! =D&lt;/p&gt;
          
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/AkitaOnRails?a=t0tTFg"&gt;&lt;img src="http://feeds.feedburner.com/~a/AkitaOnRails?i=t0tTFg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/AkitaOnRails?a=4lTWM"&gt;&lt;img src="http://feeds.feedburner.com/~f/AkitaOnRails?i=4lTWM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AkitaOnRails?a=M6XJm"&gt;&lt;img src="http://feeds.feedburner.com/~f/AkitaOnRails?i=M6XJm" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AkitaOnRails/~4/416823933" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 10 Oct 2008 11:02:54 -0300</pubDate>
      <author>F&#225;bio Akita</author>
      <link>http://feeds.feedburner.com/~r/AkitaOnRails/~3/416823933/palestrante-rails-summit-george-guimar-es</link>
    </item>
    <item>
      <title>Autospec   Autotest-Notification = Autospec-Notification (e novidades)</title>
      <description>&lt;p&gt;O outro dia sem querer percebi que o &lt;a href="http://github.com/dchelimsky/rspec-rails/tree/master"&gt;RSpec-Rails&lt;/a&gt; cria um arquivo chamado autospec na pasta script do nosso projeto Rails. Isso quer dizer que ao executarmos &lt;em&gt;script/autospec&lt;/em&gt; criaremos um processo que ficara atento as mudan&#231;as no c&#243;digo e quando achar uma ira executar os testes correspondentes. O comportamento &#233; similar ao do &lt;a href="http://www.zenspider.com/ZSS/Products/ZenTest/#rsn"&gt;autotest&lt;/a&gt;, com a diferen&#231;a que os testes executados ser&#227;o os da pasta spec (RSpec) e n&#227;o os da pasta test (Test/Unit).&lt;/p&gt;
&lt;p&gt;O melhor de tudo o mencionado &#233; que o script autospec utiliza o autotest por embaixo dos panos, pelo que podemos utilizar o &lt;a href="http://github.com/carlosbrando/autotest-notification/tree/master"&gt;autotest-notification&lt;/a&gt; para ir recebendo alertas com os resultados em quanto estamos programando, xavecando uma mina em algum IM ou qualquer outra coisa no computador.&lt;/p&gt;
&lt;p&gt;Ah! Gra&#231;as ao &lt;a href="http://xucros.com/"&gt;Lucas Uyezu&lt;/a&gt; agora o autotest-notification tamb&#233;m informa sobre testes pendentes e caso estejam um pouco enjoados dos &#237;cones padr&#245;es, &lt;a href="http://www.thoughtsoverflow.com/"&gt;Samuel Flores&lt;/a&gt; adicionou um novo modelo de icones que podem ser ativados na instala&#231;&#227;o com o par&#226;metro buuf:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;an-install --buuf&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; para ativar a notifica&#231;&#227;o de testes pendentes &#233; necess&#225;rio o par&#226;metro pending:&lt;/p&gt;
&lt;pre class="prettyprint"&gt;an-install --pending&lt;/pre&gt;</description>
      <pubDate>Fri, 10 Oct 2008 01:21:11 -0300</pubDate>
      <author>Diego Carrion </author>
      <link>http://feeds.feedburner.com/~r/MouseoverStudio/~3/416436665/</link>
    </item>
    <item>
      <title>Off-Topic: O Manifesto &#193;gil, ou Como se Tornar o Google</title>
      <description>&lt;p&gt;&lt;a href="http://www.locaweb.com.br/railssummit"&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/8/1/468x60.gif" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;N&#227;o sou um dos melhores estudiosos de metodologias &#193;geis que existe, nem de longe. Por isso vou me dar ao luxo de seguir uma vis&#227;o talvez &#8220;ing&#234;nua&#8221; sobre o que eu pessoalmente enxergo sobre o assunto. E eu sei, eu sei, a palavra &#8220;Google&#8221; no t&#237;tulo &#233; mais para chamar a aten&#231;&#227;o. No final eu explico ;-)&lt;/p&gt;
&lt;p&gt;Antes de mais nada, quero separar duas coisas: &lt;strong&gt;metodologia&lt;/strong&gt; e &lt;strong&gt;filosofia&lt;/strong&gt;. A parte mais relevante sempre &#233; a filosofia. Se uma empresa/profissional n&#227;o absorveu a &lt;strong&gt;filosofia &#193;gil&lt;/strong&gt; dificilmente ser&#225; verdadeiramente &#193;gil por mais que se implemente uma metodologia, ou seja, uma s&#233;rie de procedimentos. Voc&#234; pode at&#233; ler receitas de pratos franceses, mas at&#233; entender como um cozinheiro de verdade pensa, at&#233; adquirir a cultura francesa, dificilmente ter&#225; pratos franceses decentes, apenas c&#243;pias mec&#226;nicas de baixa qualidade.&lt;/p&gt;
&lt;p&gt;O importante n&#227;o &#233; o &#8220;como&#8221; e sim o &#8220;porqu&#234;&#8221;. O &lt;a href="http://agilemanifesto.org/"&gt;Manifesto &#193;gil&lt;/a&gt; diz isso j&#225; no seu &lt;strong&gt;primeiro&lt;/strong&gt; valor. Vamos relembrar os quatro valores &#193;geis:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Estamos descobrindo melhores maneiras de desenvolver software fazendo isso e ajudando outros a faz&#234;-lo. A partir desse trabalho temos os seguintes valores:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Indiv&#237;duos e intera&#231;&#245;es mais que processos e ferramentas&lt;/li&gt;
	&lt;li&gt;Software que funciona mais que documenta&#231;&#227;o completa&lt;/li&gt;
	&lt;li&gt;Colabora&#231;&#227;o do cliente mais que negocia&#231;&#227;o de contratos&lt;/li&gt;
	&lt;li&gt;Responder &#224; mudan&#231;a mais que seguir um plano&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Quer dizer, mesmo que exista valor nos &#237;tens da direita, n&#243;s valorizamos mais os &#237;tens da esquerda.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;O primeiro valor j&#225; diz tudo: &lt;em&gt;indiv&#237;duos&lt;/em&gt; mais que &lt;em&gt;processos&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Neste artigo quero mostrar porque a grande maioria das empresas n&#227;o &#233; efetivamente &#193;gil, mesmo quando implementam &#8220;metodologias&#8221; &#193;geis.&lt;/p&gt;
&lt;h2&gt;Princ&#237;pios por tr&#225;s do Manifesto &#193;gil&lt;/h2&gt;
&lt;p&gt;Para recapitular, ser&#225; &#250;til citar os 12 Princ&#237;pios por tr&#225;s do Manifesto de Valores. Muita gente j&#225; leu todos esses &#237;tens. Mas &#8220;ler&#8221; e &#8220;entender&#8221; s&#227;o duas coisas completamente diferentes. Para efeitos da minha explica&#231;&#227;o, vou colocar algumas palavras-chave em negrito para me referir a elas mais tarde.&lt;/p&gt;
&lt;p&gt;N&#243;s seguimos estes princ&#237;pios:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Nossa maior prioridade &#233; satisfazer o cliente atrav&#233;s de entregas mais r&#225;pidas e cont&#237;nuas de software que agrega valor.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Recebemos bem &lt;strong&gt;mudan&#231;as de requerimentos&lt;/strong&gt;, mesmo mais tarde no desenvolvimento. Processos &#225;geis gerenciam mudan&#231;as para a vantagem competitiva do cliente.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Entregamos software que funciona frequentemente, de algumas poucas semanas a poucos meses, com prefer&#234;ncia para intervalos mais curtos.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Pessoas de neg&#243;cio e desenvolvedores devem trabalhar juntos diariamente pelo projeto.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Constru&#237;mos projetos atrav&#233;s de &lt;strong&gt;indiv&#237;duos motivados&lt;/strong&gt;. D&#234;-lhes o &lt;strong&gt;ambiente e suporte&lt;/strong&gt; que precisam, e &lt;strong&gt;confie&lt;/strong&gt; neles para ter o trabalho executado.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;A maneira mais eficiente e efetiva de transportar informa&#231;&#227;o para dentro e para fora da equipe de desenvolvimento &#233; atrav&#233;s de conversa face-a-face.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Software que funciona &#233; a medida principal de progresso.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Processos &#193;geis promovem &lt;strong&gt;desenvolvimento sustent&#225;vel&lt;/strong&gt;. Os patrocinadores, desenvolvedores, e usu&#225;rios devem ser capazes de manter um ritmo constante indefinidamente.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Aten&#231;&#227;o cont&#237;nua &#224; excel&#234;ncia t&#233;cnica e bom design melhora a agilidade.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Simplicidade &#8211; a arte de maximizar a quantidade de trabalho n&#227;o feito &#8211; &#233; essencial.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;As melhores arquiteturas, requerimentos, e designs emergem de &lt;strong&gt;equipes auto-organizadas&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Em intervalos regulares, as equipes refletem sobre como se tornar mais efetivos, ent&#227;o &lt;strong&gt;ajustam&lt;/strong&gt; seu comportamento de acordo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;O Quinto Elemento&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&#8220;Constru&#237;mos projetos atrav&#233;s de &lt;strong&gt;indiv&#237;duos motivados&lt;/strong&gt;. D&#234;-lhes o &lt;strong&gt;ambiente e suporte&lt;/strong&gt; que precisam, e &lt;strong&gt;confie&lt;/strong&gt; neles para ter o trabalho executado.&#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Eu realmente n&#227;o sei como os fundadores do Manifesto chegaram a estes princ&#237;pios, mas baseado apenas neste ponto imagino que eles sejam realmente muito experientes. Este elemento, para mim, &#233; o mais denso de todos os Princ&#237;pios.&lt;/p&gt;
&lt;p&gt;Corol&#225;rios ao Quinto Elemento s&#227;o o 11&lt;sub&gt;o&lt;/sub&gt; e 12&lt;sub&gt;o&lt;/sub&gt; Elementos. Vou explicar porque.&lt;/p&gt;
&lt;h2&gt;Escalando Agilidade&lt;/h2&gt;
&lt;p&gt;Recentemente eu citei um cap&#237;tulo do livro &lt;a href="http://www.infoq.com/resource/articles/scaling-lean-agile-feature-teams/en/resources/Larman Vodde Feature Teams - InfoQ.pdf"&gt;Scaling Lean and Agile Development: Successful Large, Multisite and Offshore Products with Large-Scale Scrum&lt;/a&gt;. Acredito que muita gente n&#227;o teve paci&#234;ncia para ler, por isso vou resumir a parte que me interessa.&lt;/p&gt;
&lt;p&gt;Esse &lt;span class="caps"&gt;PDF&lt;/span&gt; discute as diferen&#231;as entre &lt;strong&gt;Feature Teams&lt;/strong&gt; e &lt;strong&gt;Component Teams&lt;/strong&gt;. De forma simplificada, uma equipe &#193;gil &#233; necessariamente uma Feature Team, ou seja, uma equipe que &#233; o mais independente poss&#237;vel e assume um produto ou uma &lt;em&gt;feature&lt;/em&gt; completa de um produto, do come&#231;o ao fim, dos requerimentos at&#233; o contato com o cliente.&lt;/p&gt;
&lt;p&gt;Um Componente Team &#233; o estilo tradicional e departamental. Cada equipe &#233; respons&#225;vel apenas por um trecho de v&#225;rios produtos. Equipe de interfaces, equipe de infra-estrutura, equipe de arquitetura, equipe de componentes visuais, equipe de banco de dados, equipe de qualidade e assim por diante.&lt;/p&gt;
&lt;p&gt;Uma Feature Team &#233; uma equipe cross-funcional, normalmente formada por generalistas. Uma Component Team &#233; uma equipe limitada, formada normalmente por especialistas. Uma &lt;strong&gt;Equipe Scrum&lt;/strong&gt; &#233;, &lt;strong&gt;por defini&#231;&#227;o&lt;/strong&gt;, uma Feature Team, capaz de realizar todo o trabalho de um &#237;tem de um Product Backlog.&lt;/p&gt;
&lt;p&gt;Como eu disse antes, esque&#231;a o &#8220;como&#8221; por enquanto.&lt;/p&gt;
&lt;h2&gt;Lei de Conway&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Conway's_Law"&gt;Melvin Conway&lt;/a&gt;, em abril de 1968 escreveu uma pesquisa onde um trecho dela entraria para os anais da hist&#243;ria da computa&#231;&#227;o:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#8220;Qualquer organiza&#231;&#227;o que faz design de sistemas (defini&#231;&#227;o ampla) produzir&#225; um design cuja estrutura &#233; uma c&#243;pia da estrutura de comunica&#231;&#227;o da empresa&#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Como est&#225; explicado em &lt;a href="http://www.melconway.com/law/index.html"&gt;seu site&lt;/a&gt;, o famoso &lt;a href="http://en.wikipedia.org/wiki/Fred_Brooks"&gt;Frederick Brooks&lt;/a&gt; citou essa pesquisa e sua id&#233;ia no cl&#225;ssico (que &lt;strong&gt;todo&lt;/strong&gt; profissional da &#225;rea de tecnologia deveria ler) &lt;a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959"&gt;The Mythical Man Month&lt;/a&gt;, chamando essa id&#233;ia de &lt;strong&gt;Lei de Conway&lt;/strong&gt;. Brooks reconheceu que a lei tinha corol&#225;rios importantes em teorias de gest&#227;o. Aqui vai uma afirma&#231;&#227;o sua:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#8220;Como o design que acontece primeiro quase &lt;strong&gt;nunca&lt;/strong&gt; &#233; o melhor poss&#237;vel, o conceito de sistema que permanece pode precisar de &lt;strong&gt;mudan&#231;as&lt;/strong&gt;. Portanto, flexibilidade da organiza&#231;&#227;o &#233; importante para design efetivo.&#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Como eu j&#225; disse em &lt;a href="http://www.akitaonrails.com/2008/9/13/off-topic-matando-a-m-dia"&gt;Matando a M&#233;dia&lt;/a&gt; at&#233; hoje ainda aplicamos metodologias e processos Gaussianos. Ainda n&#227;o consegui escrever um material mais completo que explique isso, portanto assista ao v&#237;deo que gravei e leia os materiais de refer&#234;ncia que indico nele. Por enquanto apenas entenda que a grande maioria do que conhecemos como verdades incontest&#225;veis da Teoria das Organiza&#231;&#245;es n&#227;o se aplica mais.&lt;/p&gt;
&lt;p&gt;Essas Teorias antiquadas, que delineiam cadeias de comando r&#237;gidas, diversos departamentos &#8220;feudais&#8221;, cultura baseada em cargo e poder pol&#237;tico, foram feitos essencialmente para dar grande grau de controle a chefes de se&#231;&#227;o em linhas de f&#225;bricas do s&#233;culo &lt;span class="caps"&gt;XIX&lt;/span&gt;, onde o m&#225;ximo que se esperava de um trabalhador era que ele apertasse parafusos e n&#227;o executasse muitos trabalhos que exigissem o c&#233;rebro.&lt;/p&gt;
&lt;p&gt;Como diz a Lei de Conway: as equipes tendem a criar estruturas que espelham a estrutura da organiza&#231;&#227;o. O corol&#225;rio disso &#233;: tenha uma empresa que incentiva o trabalho med&#237;ocre e suas equipes ser&#227;o med&#237;ocres. Como eu falava sobre o &lt;strong&gt;Quinto Elemento&lt;/strong&gt;: &lt;em&gt;&#8220;&#8230; d&#234;-lhes o ambiente e o suporte que precisam &#8230;&#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;O &lt;span class="caps"&gt;PDF&lt;/span&gt; de Larman menciona Brad Silverberg, VP s&#234;nior do Windows e Office que enfatizou:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#8220;O software tende a refletir a estrutura da organiza&#231;&#227;o que a construiu. Se voc&#234; tiver uma organiza&#231;&#227;o grande e lenta, voc&#234; tende a construir software grande e lento.&#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Uma afirma&#231;&#227;o ir&#244;nica, mas verdadeira.&lt;/p&gt;
&lt;h2&gt;Generalistas vs Especialistas&lt;/h2&gt;
&lt;p&gt;Empresas tradicionais que se iludem achando que conseguir&#227;o controle total de suas equipes apenas conseguem criar funcion&#225;rios pouco produtivos, sem atitude, sem perseveran&#231;a, comodistas, limitados e que nunca aprender&#227;o nada de novo.&lt;/p&gt;
&lt;p&gt;Isso porque o estilo de Controle Total, prefere a divis&#227;o de trabalho, como em linha de ch&#227;o de f&#225;bricas, onde cada equipe faz uma parte do todo. Nesse estilo de gest&#227;o reina o incentivo aos &lt;strong&gt;Especialistas&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Especialistas s&#227;o aqueles funcion&#225;rios que normalmente come&#231;aram determinado peda&#231;o do sistema e apenas eles sabem como aquele peda&#231;o funciona. Eles n&#227;o se sentem muito confort&#225;veis em dividir esse conhecimento e se sentem menos confort&#225;veis ainda em aceitar mudan&#231;as externas. Ele costuma ser tratado como &lt;strong&gt;her&#243;i&lt;/strong&gt; porque quando h&#225; urg&#234;ncia, n&#227;o h&#225; tempo para outra pessoa aprender sobre aquele peda&#231;o e apenas ele consegue resolver o problema.&lt;/p&gt;
&lt;p&gt;Se voc&#234; tem &lt;em&gt;her&#243;is&lt;/em&gt; desse tipo em sua empresa, esses devem ser os primeiros a ser despedidos.&lt;/p&gt;
&lt;p&gt;N&#227;o &#233; &#224; toa que equipes Scrum s&#227;o, por defini&#231;&#227;o, Feature Teams. Caso contr&#225;rio o primeiro efeito que vem &#224; tona &#233; o seguinte:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/7/Picture_1.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Reconhecem isso? Cada Component Team faz seu Sprint, sua itera&#231;&#227;o. Somente quando a itera&#231;&#227;o de uma equipe acaba, a da outra pode come&#231;ar. Isso justamente porque nenhuma das equipes comanda a &lt;em&gt;Feature&lt;/em&gt; completa e depende de peda&#231;os das anteriores.&lt;/p&gt;
&lt;p&gt;Isso tem um nome: bem vindos de volta ao &lt;strong&gt;Waterfall&lt;/strong&gt;! N&#227;o importa que costumem chamar isso de &lt;em&gt;mini-waterfall&lt;/em&gt;, cascata &#233; cascata, n&#227;o importa o tamanho delas.&lt;/p&gt;
&lt;p&gt;Outros grandes efeitos colaterais de Component Teams: como ningu&#233;m &#233; efetivamente o dono do produto, nenhuma das equipes se sente respons&#225;vel pelo todo, apenas por sua parte. Naturalmente emergem os comportamentos de &lt;em&gt;&#8220;a minha parte eu fiz, a culpa &#233; da outra equipe.&#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Al&#233;m disso, Component Teams, por sua pr&#243;pria natureza de lidar apenas com um tipo de problema, for&#231;a seus integrantes a se tornarem especialistas. E fazendo assim, for&#231;a esse profissional a limitar seus conhecimentos, n&#227;o dando absolutamente nenhuma &lt;strong&gt;motiva&#231;&#227;o&lt;/strong&gt; para aprender coisas novas.&lt;/p&gt;
&lt;p&gt;Lembram do &lt;strong&gt;Quinto Elemento&lt;/strong&gt;? &lt;em&gt;&#8220;Constru&#237;mos projetos atrav&#233;s de &lt;strong&gt;indiv&#237;duos motivados&lt;/strong&gt; &#8230;&#8221;&lt;/em&gt; Onde est&#227;o os indiv&#237;duos motivados numa organiza&#231;&#227;o que for&#231;a todos &#224; mediocridade? Claro, n&#227;o quer dizer que todos devem saber tudo de tudo, sempre haver&#225; uma ou mais disciplinas onde cada profissional se adeque mais, mas todos devem ser incentivados a saber um pouco de todo o resto. Por isso mesmo Feature Teams s&#227;o importantes: voc&#234; tem v&#225;rios especialistas onde cada um sabe um pouco das coisas diferentes que seu colega do lado sabe fazer. E com isso &lt;strong&gt;Pair Programming&lt;/strong&gt; ganha novo significado.&lt;/p&gt;
&lt;p&gt;Al&#233;m disso &lt;strong&gt;Test Driven Development&lt;/strong&gt; come&#231;a a fazer muito mais sentido se a equipe &#233; realmente respons&#225;vel por um produto/feature que agrega valor de verdade ao cliente final. Uma vez que n&#227;o h&#225; depend&#234;ncia entre equipes fica muito mais claro como realizar os testes completos. Mas h&#225; outra quest&#227;o sobre testes que vou explicar mais abaixo.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/7/charlie_chaplin02.jpg" alt="" /&gt;&lt;/p&gt;
&lt;h2&gt;Auto-Organiza&#231;&#227;o&lt;/h2&gt;
&lt;p&gt;Este &#233; o ponto crucial nas novas teorias organizacionais. Don Tapscott e Anthony D. Williams chamariam isso de &lt;a href="http://www.wikinomics.com/book/"&gt;Wikinomics&lt;/a&gt; ou a economia da colabora&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;As organiza&#231;&#245;es tradicionais tem horror ao caos e por isso perseguem controle absoluto de maneira patol&#243;gica, o suficiente para ser prejudicial.&lt;/p&gt;
&lt;p&gt;E eles deveriam mesmo ter horror ao caos. Mas o que elas precisam entender &#233; que existe o fen&#244;meno de &lt;strong&gt;ordem que emerge a partir do caos&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Estamos acostumados a pensar em eventos isolados, em resultados baseados na soma de eventos independentes. Coloque uma colher de a&#231;&#250;car e o ch&#225; fica doce. Coloque duas colheres de a&#231;&#250;car e o ch&#225; fica duas vezes mais doce.&lt;/p&gt;
&lt;p&gt;Por&#233;m, sistemas din&#226;micos n&#227;o podem ser definidas dessa forma. Certos sistemas s&#227;o muito sensitivos a condi&#231;&#245;es iniciais, dando resultados &lt;a href="http://en.wikipedia.org/wiki/Nonlinearity"&gt;n&#227;o lineares&lt;/a&gt;. Em particular, fen&#244;menos naturais como relacionamentos sociais, cadeias alimentares, eventos econ&#244;micos, s&#227;o todos sistemas n&#227;o lineares.&lt;/p&gt;
&lt;p&gt;Isso retorna &#224; minha palestra sobre &lt;a href="http://en.wikipedia.org/wiki/Power_law"&gt;Distribui&#231;&#245;es Power Law&lt;/a&gt;, ou &lt;a href="http://en.wikipedia.org/wiki/Pareto_distribution"&gt;Distribui&#231;&#245;es de Pareto&lt;/a&gt;. Recapitulando, um mundo plat&#244;nico e linear pode ser modelado segundo &lt;a href="http://en.wikipedia.org/wiki/Normal_distribution"&gt;Gauss&lt;/a&gt;. Esse tipo de distribui&#231;&#227;o &#233; extremamente confort&#225;vel para os analistas pois possui &lt;strong&gt;m&#233;dia definida&lt;/strong&gt; e &lt;strong&gt;desvio padr&#227;o constante, est&#225;vel&lt;/strong&gt;. Power Laws, por sua vez, s&#227;o caracterizados pela &lt;strong&gt;aus&#234;ncia&lt;/strong&gt; de m&#233;dia e desvio padr&#227;o que tende ao infinito!&lt;/p&gt;
&lt;p&gt;O ponto mais &#243;bvio &#233; que &lt;em&gt;&#8220;Bell Curves&#8221;&lt;/em&gt; (curvas em forma de sino) como a Normal/Gauss, exigem eventos &lt;strong&gt;independentes&lt;/strong&gt;, &lt;strong&gt;isolados&lt;/strong&gt;, como jogar dados ou tirar cara ou coroa em uma moeda &lt;del&gt;n&#227;o viciada&lt;/del&gt;. N&#227;o &#233; dif&#237;cil ver, por exemplo, que comportamento de seres humanos pode ser tudo, menos independentes: por defini&#231;&#227;o, humanos se relacionam entre si, logo formamos sistemas altamente dependentes.&lt;/p&gt;
&lt;p&gt;Mas algo importante em redes din&#226;micas, ao contr&#225;rio do que se imaginava, n&#227;o formam redes com conex&#245;es aleat&#243;rias &#8211; cuja distribui&#231;&#227;o seria Normal &#8211; mas sim exibem distribui&#231;&#227;o de Pareto. &lt;a href="http://www.nd.edu/~networks/Publication Categories/01 Review Articles/ScaleFree_Scientific Ameri 288, 60-69 (2003).pdf"&gt;Albert-L&#225;szl&#243; Barab&#225;si&lt;/a&gt; explica em mais detalhes a forma&#231;&#227;o de &lt;a href="http://www.nd.edu/~networks/Publication Categories/01 Review Articles/ScaleFree_Scientific Ameri 288, 60-69 (2003).pdf"&gt;Redes Scale-Free&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Como eu dizia, se algu&#233;m pensa em n&#243;s (pessoas, animais, neur&#244;nios, v&#237;rus) e conex&#245;es (amizade, transmiss&#227;o, sinapse), &#233; mais natural primeiramente imaginar que os n&#243;s se conectem de forma aleat&#243;ria e ca&#243;tica. Por&#233;m, os estudos de Barab&#225;si e as observa&#231;&#245;es detalhadas dos fen&#244;menos naturais levou &#224; conclus&#227;o que elas tendem a formar redes scale-free, cuja distribui&#231;&#227;o de n&#243;s segue Pareto, ou seja, poucos n&#243;s concentram a grande maioria das conex&#245;es e muitos n&#243;s dividem as poucas conex&#245;es restantes, formando algo assim:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/7/Picture_2.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Para n&#243;s de tecnologia, isso se pareceria com a representa&#231;&#227;o da Internet, onde os n&#243;s s&#227;o websites e as conex&#245;es s&#227;o, literalmente, os &lt;em&gt;links&lt;/em&gt; entre elas. Mas &#233; isso mesmo: a Internet segue uma distribui&#231;&#227;o de Pareto.&lt;/p&gt;
&lt;p&gt;Para os que tem tend&#234;ncias socialistas, esque&#231;am Marx, ele estava obviamente errado ao se inspirar na curva de Gauss e tentar rebaixar toda a sociedade &#224; m&#233;dia. O pensamento de &lt;em&gt;&#8220;tirar dos ricos para dar aos pobres&#8221;&lt;/em&gt; &#233; totalmente anti-natural. O natural &#233; exatamente o oposto: poucas pessoas v&#227;o sempre deter a grande maioria da riqueza do mundo, enquanto a maioria das pessoas ter&#225; menos riquezas. A &#250;nica forma de os pobres enriquecerem &#233; fazer o &lt;strong&gt;sistema inteiro&lt;/strong&gt; enriquecer, incluindo os pr&#243;prios ricos. A natureza sempre privilegia a &lt;strong&gt;meritocracia&lt;/strong&gt;, nunca a &lt;strong&gt;mediocridade&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Assumindo que todos estudem mais um pouco sobre Barab&#225;si, Poincar&#233;, Mandelbrot, Zipf, Pareto, Bak e assuntos como redes scale-free, power laws, self-organized criticality, phase transition, chaos, fractals, vamos concluir algo rapidamente: a ordem costuma sim emergir do caos, redes se formam como Barab&#225;si descreveu, atrav&#233;s de mecanismos como &lt;a href="http://en.wikipedia.org/wiki/Preferential_attachment"&gt;preferential attachment&lt;/a&gt; e no final teremos redes scale-free, &lt;strong&gt;auto-organizadas&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;80/20&lt;/h2&gt;
&lt;p&gt;A famosa regra 80/20 de Pareto n&#227;o veio a partir do nada. Num estudo na It&#225;lia muitos anos atr&#225;s, Wilfredo Pareto constatou que 80% do territ&#243;rio italiano esta nas m&#227;os de n&#227;o mais do que 20% da popula&#231;&#227;o. Da&#237; o &#8220;80/20&#8221;.&lt;/p&gt;
&lt;p&gt;Essa divis&#227;o &#233; justamente o que mostra uma distribui&#231;&#227;o de Pareto, conforme figura abaixo:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/7/300px-Long_tail.svg.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Como &lt;strong&gt;Chris Anderson&lt;/strong&gt; explica em seu livro &lt;a href="http://www.changethis.com/pdf/10.01.LongTail.pdf"&gt;The Long Tail&lt;/a&gt;, pensa na famosa &lt;a href="http://wikipedia.org"&gt;Wikipedia&lt;/a&gt;. Na &#233;poca da publica&#231;&#227;o de seu livro em 2006 a Wikipedia j&#225; tinha 860 mil artigos, contra 80 mil da Enciclop&#233;dia Britannica.&lt;/p&gt;
&lt;p&gt;A id&#233;ia de &lt;a href="http://en.wikipedia.org/wiki/Jimmy_Wales"&gt;Jimmy Wales&lt;/a&gt; foi ousada e bastante controversa apesar da boa inten&#231;&#227;o de fornecer uma rica e extensa enciclop&#233;dia gratuita a todas as pessoas do mundo, incluindo crian&#231;as pobres em pa&#237;ses sub-desenvolvidos que de outra forma talvez nunca tivessem acesso &#224; informa&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;Wales come&#231;ou com o projeto Nupedia em 2000, com apenas alguns poucos verbetes e uma id&#233;ia que na realidade se popularizou antes disso, com Linus Torvalds e seu Linux: criar uma plataforma totalmente aberta (livre, liberdade) onde qualquer pessoa que quisesse poderia contribuir, revisar, refinar.&lt;/p&gt;
&lt;p&gt;Olhando hoje, em 2008, todos diriam que Jimbo (como &#233; conhecido) &#233; um g&#234;nio. Mas no ano 2000, ele foi considerado um louco. Quando vemos as coisas em retrospectiva sempre &#233; muito mais simples de criar uma narrativa que encaixa-se perfeitamente nos eventos que j&#225; aconteceram. Como &lt;a href="http://www.fooledbyrandomness.com/ARTE.pdf"&gt;Nassim Nicholas Taleb&lt;/a&gt; diria: depois que um &lt;strong&gt;Cisne Negro&lt;/strong&gt; acontece, &#233; f&#225;cil explic&#225;-lo, mas antes que ele aconte&#231;a &#233; imposs&#237;vel prev&#234;-lo.&lt;/p&gt;
&lt;p&gt;Seguindo o exemplo de Torvalds, Jimbo criou um &lt;strong&gt;ambiente&lt;/strong&gt; adequado para &lt;strong&gt;colaboradores&lt;/strong&gt;. Ele foi capaz de &lt;strong&gt;motivar&lt;/strong&gt; as pessoas e, principalmente, &lt;strong&gt;confiar&lt;/strong&gt; nelas, pois ao contr&#225;rio do sistema editorial tradicional, n&#227;o haveria editores ou filtros: tudo o que qualquer um digitasse estaria imediatamente dispon&#237;vel. Sua esperan&#231;a &#233; que erros grosseiros seriam rapidamente corrigidos pelos pr&#243;prios colaboradores, assim como &lt;strong&gt;Eric S. Raymond&lt;/strong&gt; descreve no cl&#225;ssico &lt;a href="http://www.catb.org/~esr/writings/cathedral-bazaar/"&gt;The Cathedral and the Bazaar&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&#8220;Dada uma quantidade suficiente de olhos, todos os bugs s&#227;o superficiais&#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Eric chamou essa afirma&#231;&#227;o de &#8220;Lei de Linus&#8221;, que tamb&#233;m pode ser explicada como &lt;em&gt;&#8220;dada uma quantidade suficiente de beta-testers e co-desenvolvedores, quase todo problema ser&#225; encontrado rapidamente e a corre&#231;&#227;o ser&#225; &#243;bvia para algu&#233;m.&#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/7/1139845442_1927.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;A Wikipedia se valeu dessa mesma Lei: num sistema din&#226;mico, aberto, onde os colaboradores come&#231;am a participar lentamente, evoluindo para uma rede scale-free auto-organizada, erros v&#227;o acontecer, mas a maioria deles ser&#225; rapidamente corrigida. O benef&#237;cio de se conseguir informa&#231;&#245;es de milhares de pessoas espalhadas pelo mundo &#233; ordens de grandeza superior aos pequenos defeitos que aparecem de vez em quando.&lt;/p&gt;
&lt;p&gt;Num modelo de controle tradicional, costuma se pensar como na Britannica: poucos verbetes mas todos muito corretos. Qual vale mais: 80 mil verbetes com taxa de erro perto de zero, ou quase 1 milh&#227;o de verbetes com uma pequena taxa de erros? Alguns cr&#237;ticos retr&#243;grados continuam achando que 1 pequeno erro na Wikipedia invalida 1 milh&#227;o de grandes acertos.&lt;/p&gt;
&lt;h2&gt;Software como Arte&lt;/h2&gt;
&lt;p&gt;Pete McBreen j&#225; escreveu em 2001 sobre &lt;a href="http://www.mcbreen.ab.ca/SoftwareCraftsmanship/"&gt;Software Craftsmanship&lt;/a&gt; e eu sou um defensor dessa defini&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;Muita gente pensa em Software, programa&#231;&#227;o como &lt;strong&gt;Engenharia&lt;/strong&gt;. Sinto inform&#225;-los de que n&#227;o &#233;. Software &#233; m&#250;sica. Desenvolvimento de Software &#233; muito pr&#243;ximo de se compor uma m&#250;sica.&lt;/p&gt;
&lt;p&gt;Software &#233; pintura. Desenvolver Software &#233; como pintar um quadro. Sem querer diminuir a &#225;rea da engenharia, que j&#225; nos trouxe maravilhas incr&#237;veis pelo mundo todo como a Muralha da China, as pir&#226;mides do Egito, mas no caso espec&#237;fico de software &#233; muito mais simples pensar nela como Engenharia do que como Arte.&lt;/p&gt;
&lt;p&gt;Novamente, o mesmo motivo: tentativa de controle, afinal engenharia &#233; previs&#237;vel, &#233; control&#225;vel, &#233; mensur&#225;vel. Arte &#233; criativa, rebelde, imprevis&#237;vel, ca&#243;tica. Acho muito interessante que muitos dos grandes nomes do passado como Pit&#225;goras, Da Vinci, foram grandes &lt;strong&gt;generalistas&lt;/strong&gt;, &lt;strong&gt;artistas&lt;/strong&gt; mas com muitos trabalhos nos campos da &lt;strong&gt;ci&#234;ncia&lt;/strong&gt; e &lt;strong&gt;matem&#225;tica&lt;/strong&gt;. &#201; exatamente isso que um desenvolvedor de software precisa ser: um artista da Renascen&#231;a.&lt;/p&gt;
&lt;p&gt;Como eu disse antes, um membro de uma &lt;em&gt;Feature Team&lt;/em&gt; tem algumas especialidades, mas tem a mente absolutamente aberta a tentar novas coisas, a aprender novos of&#237;cios, a explorar e criar.&lt;/p&gt;
&lt;p&gt;Arte n&#227;o pode ser implementada apenas lendo procedimentos. E &#233; exatamente isso que muitos dos que se entitulam &#8220;desenvolvedores&#8221; ou &#8220;programadores&#8221; fazem: aprendem uma (ou poucas) maneira de fazer as coisas e continuam fazendo conforme lhe foi ensinado. Artistas aprendem a partir de mentores, treinam incansavelmente num longo processo de tentativa e erro, inspiram-se nos trabalhos de outros mestres, entendendo suas t&#233;cnicas e tentando mescl&#225;-las &#224;s suas pr&#243;prias.&lt;/p&gt;
&lt;p&gt;Apesar de n&#227;o ser uma verdade absoluta, eu tendo a achar que desenvolvedores de software que participam ativamente de projetos Open Source, como um Linux, s&#227;o programadores muito mais completos do que programadores que sa&#237;ram da faculdade e passaram a integrar &lt;em&gt;&#8220;Component Teams&#8221;&lt;/em&gt; dentro de organiza&#231;&#245;es tradicionais. Especialmente se ficaram anos demais na mesma organiza&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;Um programador especialista, membro de um Component Team, numa organiza&#231;&#227;o gaussiana tradicional, &#233; exatamente como um pintor de parede: sabe apenas passar o rolo de cal de cima para baixo, simetricamente, sem um pingo de criatividade e sem absolutamente nenhum talento ao aprendizado e &#224; auto-evolu&#231;&#227;o.&lt;/p&gt;
&lt;p&gt;80% do perfil profissional de um funcion&#225;rio &#233; reflexo direto da organiza&#231;&#227;o onde trabalha &#8211; os outros 20% s&#227;o culpa do pr&#243;prio funcion&#225;rio que n&#227;o aceita sair da zona de conforto. Ambos tem 100% da culpa por apenas 29% dos projetos de software serem considerados sucessos. Ambos tem 100% da culpa pelo custo de &lt;span class="caps"&gt;USD&lt;/span&gt; 55 bilh&#245;es gastos em projetos de software cancelados. (fonte: &lt;a href="http://www.galorath.com/wp/software-project-failure-costs-billions-better-estimation-planning-can-help.php"&gt;Standish Chaos Reports&lt;/a&gt;)&lt;/p&gt;
&lt;h2&gt;Mundo Open Source&lt;/h2&gt;
&lt;p&gt;Acredito que n&#227;o seja necess&#225;rio explicar muito mais sobre projetos open source. N&#227;o h&#225; milagres: n&#227;o significa que simplesmente porque um projeto &#233; de c&#243;digo-aberto que ele automaticamente ter&#225; tanto sucesso quanto o Linux. Muito pelo contr&#225;rio: centenas de projetos nunca chegam a ver a luz do dia.&lt;/p&gt;
&lt;p&gt;Novamente, estamos falando de Pareto, talvez apenas 20% dos projetos open source realmente tenham grande sucesso. Por&#233;m, os outros 80% s&#227;o identificados como fracasso muito mais rapidamente, alguns se mesclam em projetos maiores, alguns simplesmente p&#225;ram. A decis&#227;o de parada &#233; muito mais r&#225;pida e efetiva do que em projetos tradicionais corporativos que j&#225; investiram recursos (tempo e dinheiro, al&#233;m da reputa&#231;&#227;o de alguns dos envolvidos).&lt;/p&gt;
&lt;p&gt;Com tudo que expliquei acima, fica f&#225;cil entender que projetos Open Source come&#231;am com condi&#231;&#245;es iniciais simples: uma id&#233;ia, uma pequena implementa&#231;&#227;o, poucas pessoas. Tamb&#233;m come&#231;a a fazer sentido entender como elas evoluem do &lt;em&gt;caos&lt;/em&gt; para redes scale-free atrav&#233;s de &lt;strong&gt;auto-organiza&#231;&#227;o&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;N&#227;o &#233; dif&#237;cil entender que esses projetos n&#227;o tem como ser implementados atrav&#233;s de consenso pr&#233;vio muito r&#237;gido, s&#243; poderia evoluir para Feature Teams onde os colaboradores normalmente tem habilidades diferentes e complementares.&lt;/p&gt;
&lt;p&gt;Tamb&#233;m n&#227;o &#233; dif&#237;cil entender que, como na Wikipedia, os verbetes mais importantes e/ou mais conhecidos s&#227;o preenchidos primeiros, depois os mais obscuros s&#227;o preenchidos com o tempo. No melhor estilo Pareto, 20% das prioridades acontecem primeiro. Num ambiente onde os recursos costumam ser escassos (n&#227;o existe presen&#231;a f&#237;sica, os colaboradores s&#227;o volunt&#225;rios, motivas as pessoas &#233; ainda mais importante), realmente as prioridades &#8211; que d&#227;o mais valor ao grupo como um todo &#8211; s&#227;o implementadas primeiro.&lt;/p&gt;
&lt;p&gt;Em se entendendo Software como Arte, tamb&#233;m fica simples entender que desenvolvedores que participam de v&#225;rios projetos open source est&#227;o automaticamente expostos a muitas diferentes express&#245;es de arte e, como tal, a diferentes maneiras de se implementar software. Um bom desenvolvedor come&#231;ar&#225; a incorporar essas diferen&#231;as em seu pr&#243;prio estilo, automaticamente melhorando muito a qualidade do seu trabalho.&lt;/p&gt;
&lt;p&gt;Um desenvolvedor, sozinho, ou numa equipe conhecida, tem muito pouco motivo para criar testes do seu pr&#243;prio c&#243;digo. Mas quando se v&#234; numa situa&#231;&#227;o onde est&#225; colaborando numa comunidade onde qualquer desconhecido poder&#225; ver seu c&#243;digo e, portanto, aferir sua reputa&#231;&#227;o, a motiva&#231;&#227;o para criar c&#243;digo de boa qualidade, decentemente coberta com testes, fica mais &#243;bvio. Da&#237; porque eu disse antes que Test-Driven Development come&#231;a a fazer n&#227;o s&#243; mais sentido como se torna uma real necessidade.&lt;/p&gt;
&lt;p&gt;O idealizador do projeto, o desenvolvedor ou grupo de programadores que iniciou o projeto, necessariamente ser&#227;o obrigados a gerenci&#225;-lo. E num ambiente aberto, onde as pessoas n&#227;o tem cargos, n&#227;o tem sal&#225;rios, n&#227;o tem chefes nem clientes diretos, vai por baixo qualquer tentativa de se usar t&#233;cnicas gaussianas de gerenciamento tradicional de projetos. Agora estamos falando de projetos de verdade, sem a zona de conforto do cub&#237;culo. O &lt;strong&gt;mantenedor&lt;/strong&gt; do projeto se ver&#225; numa posi&#231;&#227;o onde ser&#225; obrigado a tomar decis&#245;es. Entender&#225; rapidamente que &#233; imposs&#237;vel obter unanimidade em todos impasses e por isso vestir&#225; o chap&#233;u de &lt;strong&gt;ditador benevolente&lt;/strong&gt;, ou seja, um ditador que se for r&#237;gido e autorit&#225;rio demais ir&#225; afastar todos os seus colaboradores (que n&#227;o tem obriga&#231;&#227;o nenhuma de segu&#237;-lo) e que se for flex&#237;vel demais se arriscar&#225; a demonstrar inseguran&#231;a, indecis&#227;o, morosidade e por fim poder&#225; motivar um &lt;em&gt;coup&lt;/em&gt; um tipo de &#8220;golpe de estado&#8221;, onde seu projeto ser&#225; clonado e outro mantenedor mais carism&#225;tico e efetivo poder&#225; tomar seu lugar. Ou pior: seu projeto pode simplesmente parar e deixar de existir.&lt;/p&gt;
&lt;p&gt;N&#227;o existe ambiente mais hostil mas ao mesmo tempo mais recompensador para um verdadeiro gerente de projetos do que projetos open source. Tire de um Gerente o seu cargo e seu poder e s&#243; ent&#227;o poder&#225; avaliar se ele realmente sabe o que significa &#8220;gerenciar&#8221;.&lt;/p&gt;
&lt;h2&gt;Princ&#237;pios &#193;geis, Redux&lt;/h2&gt;
&lt;p&gt;Tudo isso dito, acho que podemos recapitular o 6&lt;sub&gt;o&lt;/sub&gt;, 11&lt;sub&gt;o&lt;/sub&gt; e 12&lt;sub&gt;o&lt;/sub&gt; princ&#237;pios novamente:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
	&lt;li&gt;Constru&#237;mos projetos atrav&#233;s de &lt;strong&gt;indiv&#237;duos motivados&lt;/strong&gt;. D&#234;-lhes o &lt;strong&gt;ambiente e suporte&lt;/strong&gt; que precisam, e &lt;strong&gt;confie&lt;/strong&gt; neles para ter o trabalho executado.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;As &lt;strong&gt;melhores arquiteturas&lt;/strong&gt;, requerimentos, e designs emergem de &lt;strong&gt;equipes auto-organizadas&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;Em intervalos regulares, as equipes refletem sobre como se tornar mais efetivos, ent&#227;o &lt;strong&gt;ajustam&lt;/strong&gt; seu comportamento de acordo.&lt;br /&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Os outros princ&#237;pios s&#227;o consequ&#234;ncia:&lt;/p&gt;
&lt;p&gt;Dado um &lt;strong&gt;ambiente&lt;/strong&gt; adequado, com profissionais efetivamente elevados acima da m&#233;dia, &lt;strong&gt;motivados&lt;/strong&gt; podemos realmente &lt;strong&gt;confiar&lt;/strong&gt; em suas capacidades de &lt;strong&gt;auto-organiza&#231;&#227;o&lt;/strong&gt;, onde a pr&#243;pria estrutura org&#226;nica e n&#227;o hierarquizada naturalmente levar&#225; seus membros a &lt;strong&gt;reajustarem&lt;/strong&gt; sua rotina de acordo com os problemas enfrentados, levando-os a gerar c&#243;digo de qualidade, onde apenas o essencial est&#225; realmente sendo produzido, com alta qualidade, aten&#231;&#227;o &#224; refatora&#231;&#227;o, testes, integra&#231;&#227;o cont&#237;nua, o que leva tamb&#233;m naturalmente &#224;s &lt;strong&gt;melhores arquiteturas&lt;/strong&gt;, e o sistema como um todo se retro-alimenta num ciclo cont&#237;nuo de feedback positivo, criando um ambiente &lt;strong&gt;sustent&#225;vel&lt;/strong&gt;, sempre produtivo, com profissionais pesquisando e implementando inova&#231;&#245;es tecnol&#243;gicas que de tempos em tempos d&#227;o saltos de qualidade e produtividade para a empresa como um todo.&lt;/p&gt;
&lt;p&gt;Como resultado, o cliente estar&#225; recebendo produtos que lhe agregam real valor, &lt;strong&gt;mudan&#231;as de requerimentos&lt;/strong&gt; podem efetivamente ser aceitos sem maiores problemas, uma vez que a organiza&#231;&#227;o &#233; flex&#237;vel e cada membro se sente respons&#225;vel pelo todo. Al&#233;m disso nesse tipo de ciclo virtuoso, os profissionais est&#227;o em constante aprendizado, aumentando suas habilidades em ritmo crescente indeterminado, gerando uma empresa inovadora, acima da m&#233;dia, que n&#227;o se baseia no passado para tentar, futilmente, prever o futuro: eles n&#227;o precisam mais pois os profissionais finalmente est&#227;o preparados para seja l&#225; qual for o futuro que chegar. Em vez de tentar prever o futuro, as pessoas estar&#227;o capacitadas para qualquer futuro, e isso &#233; fundamental: mudan&#231;as constantes n&#227;o os assusta mais, pelo contr&#225;rio, eles querem mudan&#231;as.&lt;/p&gt;
&lt;h2&gt;Como chegar L&#225;?&lt;/h2&gt;
&lt;p&gt;N&#227;o foi &#224; toa que eu falei sobre:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.akitaonrails.com/2008/9/13/off-topic-matando-a-m-dia"&gt;Matando a M&#233;dia&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.akitaonrails.com/2008/9/20/off-topic-o-poder-do-mito-redux"&gt;O Poder do Mito, Redux&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.akitaonrails.com/2008/9/21/colaborando-no-github"&gt;Colaborando no Github&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.akitaonrails.com/2008/10/2/entendendo-git-e-instalando-gitorious-git-via-web"&gt;Entendendo Git e Instalando Gitorious&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Os dois artigos primeiros focam na figura do profissional: uma tentativa de acordar os funcion&#225;rios-batedores-de-cart&#227;o de que o mundo n&#227;o &#233; est&#225;tico, o futuro n&#227;o &#233; est&#225;vel e o mundo gaussiano &#233; uma ilus&#227;o.&lt;/p&gt;
&lt;p&gt;Os dois &#250;ltimos artigos falam especificamente de uma ferramenta: Git. &#201; uma dica para criar o &lt;strong&gt;ambiente&lt;/strong&gt; que suporte o que o desenvolvedor precisa, como est&#225; no Quinto Princ&#237;pio. Mas ferramenta, assim como metodologia, n&#227;o serve para nada se tanto empresa quanto funcion&#225;rio n&#227;o incorporarem os Valores e Princ&#237;pios &#193;geis.&lt;/p&gt;
&lt;p&gt;Da&#237; este artigo.&lt;/p&gt;
&lt;p&gt;Como eu disse no come&#231;o, n&#227;o me considero nenhum grande estudioso dessa filosofia, mas por alguma raz&#227;o me identifico com suas bases e observo claramente sua aplica&#231;&#227;o na pr&#225;tica em projetos Open Source. Tamb&#233;m est&#225; claro que no mundo de Pareto esse modelo n&#227;o s&#243; sobreviveu como deu frutos impressionantes, como a Wikipedia, como o fato de mais de 60% dos servidores web do mundo serem Apache e assim por diante.&lt;/p&gt;
&lt;p&gt;Voc&#234; &#233; uma empresa onde software faz parte do seu core business? Aplique o modelo &#8220;Open Source&#8221;, ou o modelo &#8220;Bazaar&#8221;, segundo Eric Raymond. N&#227;o necessariamente abra seu c&#243;digo para o p&#250;blico em geral na internet, claro.&lt;/p&gt;
&lt;p&gt;Crie um reposit&#243;rio simples, que todos os funcion&#225;rios tenham acesso irrestrito, onde a barreira de ado&#231;&#227;o seja baixa. Incentive-os a participar de projetos fora de seus departamentos tradicionais. No come&#231;o, c&#243;digo mal feito, de baixa qualidade, sem testes, e toda qualidade de defeitos ser&#225; revelada. Mas o objetivo n&#227;o &#233; apontar o dedo e sim parar o ciclo vicioso que gera esse tipo de software.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#8220;Programador ruim far&#225; c&#243;digo ruim, n&#227;o importa que linguagem, ferramenta voc&#234; d&#234; a ele.&#8221;&lt;/strong&gt; Portanto, o objetivo &#233; criar Programadores excelentes, n&#227;o mudar de ferramenta. De forma impressionante, um programador bom far&#225; c&#243;digo bom at&#233; mesmo em &lt;span class="caps"&gt;ASP&lt;/span&gt; ou Perl (novamente, sem querer denegrir o Perl, mas apenas falando pela reputa&#231;&#227;o &#8211; criada principalmente pelos programadores ruins).&lt;/p&gt;
&lt;p&gt;Assim como numa escultura, &#233; hora de aparar as pontas, refazer alguns peda&#231;os, remoldar o que n&#227;o parece certo e levar essa pe&#231;a a se tornar realmente uma obra de arte, de forma colaborativa. &#201; a melhor maneira de se evitar desperd&#237;cios, uma vez que pessoas com um pouco mais de tempo sobrando numa equipe, podem ajudar seus colegas que est&#227;o mais atarefados na outra.&lt;/p&gt;
&lt;p&gt;No come&#231;o haver&#225; desordem e sinais de caos. Haver&#225; duplica&#231;&#227;o de trabalho. Acontecer&#225; dessincronia, problemas de comunica&#231;&#227;o (afinal, ningu&#233;m estava habituado a realmente se comunicar). As defici&#234;ncias de habilidade e conhecimento ficar&#227;o &#243;bvias. Todos os problemas existentes vir&#227;o &#224; tona e isso ser&#225; feio, desconfort&#225;vel.&lt;/p&gt;
&lt;p&gt;Por&#233;m, se houver apenas um pouco de insist&#234;ncia e confian&#231;a nas pessoas, ver&#225; que o grupo como um todo sair&#225; do caos. Os verdadeiros l&#237;deres v&#227;o emergir como hubs na rede scale-free. O fen&#244;meno de preferential attachment come&#231;ar&#225; a delinear a ordem. Com tempo suficiente, as pessoas se auto-organizar&#227;o de forma org&#226;nica.&lt;/p&gt;
&lt;p&gt;A partir da&#237; sim, realmente poderemos come&#231;ar a falar em crescimento &lt;strong&gt;sustent&#225;vel&lt;/strong&gt; com ritmo constante ou crescente de produtividade.&lt;/p&gt;
&lt;h2&gt;Um dia de Inova&#231;&#227;o&lt;/h2&gt;
&lt;p&gt;No Google existe aquela velha hist&#243;ria de que todos os seus funcion&#225;rios tem direito a um dia por semana para fazer o que bem entender.&lt;/p&gt;
&lt;p&gt;Dito apenas dessa forma a primeira coisa que me vem &#224; cabe&#231;a &#233; um monte de garotos passeando de bicicleta, jogando videogame, tomando uma caipirinha &#224; beira da piscina do campus.&lt;/p&gt;
&lt;p&gt;Por&#233;m, assumindo que voc&#234; leu todo meu artigo, imagine o &lt;strong&gt;Orkut B&#252;y&#252;kk&#246;kten&lt;/strong&gt; num desses dias. Ele tem o ambiente correto, tem a cultura correta, tem a motiva&#231;&#227;o correta, tem o conhecimento correto. Ele resolve iniciar um certo projeto pessoal para experimentar com conceitos de redes sociais.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.akitaonrails.com/assets/2008/10/7/orkut.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Ele tem um local onde colocar seu c&#243;digo. Tamb&#233;m entende que deve se desapegar dele. Entende naturalmente como funciona a colabora&#231;&#227;o no estilo &#8220;open source&#8221;. Por causa disso sabe como se comunicar.&lt;/p&gt;
&lt;p&gt;Ele divulga seu projeto internamento. Os membros de sua equipe ou de outras, tamb&#233;m todos sintonizados na cultura correta de pr&#243;-atividade, inova&#231;&#227;o, aceita&#231;&#227;o de mudan&#231;as e colabora&#231;&#227;o, imediatamente entendem o valor da id&#233;ia. Mais do que isso: sabem de onde baixar o c&#243;digo e como come&#231;ar a colaborar.&lt;/p&gt;
&lt;p&gt;Eu n&#227;o sei realmente como funciona o Google, nunca trabalhei l&#225; e provavelmente ela deve ter tantos problemas quanto qualquer empresa normal. Mesmo assim eu fantasio que muitos produtos deles come&#231;aram dessa forma: num ambiente permissivo, voltado &#224; inova&#231;&#227;o. N&#227;o basta apenas apenas contratar phds. do &lt;span class="caps"&gt;MIT&lt;/span&gt; ou de Stanford se n&#227;o houver ambiente e cultura adequadas para realmente faz&#234;-los produzir de verdade. Como Larry e Sergey tiveram um come&#231;o nesse mundo permissivo de open source eu fico imaginando se eles n&#227;o criaram uma organiza&#231;&#227;o que segue exatamente esse modelo, mesmo que tenha sido de forma instintiva.&lt;/p&gt;
&lt;p&gt;Muitas empresas querem ser o pr&#243;ximo Google. Por&#233;m, quero lembr&#225;-los que &#233; preciso muito mais do que sof&#225;s confort&#225;veis, mesas de pebolim, salas de videogame e restaurantes de comida japonesa dentro da empresa para se tornar um Google. Isso &#233; f&#225;cil: basta comprar.&lt;/p&gt;
&lt;p&gt;O dif&#237;cil &#233; &lt;strong&gt;cultivar&lt;/strong&gt; uma cultura. Muitas empresas reclamam que profissionais de boa qualidade pedem demiss&#227;o e procuram outras empresas. &#211;bvio: pessoas realmente inteligentes n&#227;o aceitam uma cultura gaussiana por muito tempo. N&#243;s n&#227;o gostamos da mesmice, n&#227;o gostamos de pensamento retr&#243;grado e falta de atitude. Verdadeiros artistas precisam de ambientes de inspira&#231;&#227;o para serem criativos.&lt;/p&gt;
&lt;p&gt;O cub&#237;culo da maioria das empresas &#233; um p&#233;ssimo lugar para se criar.&lt;/p&gt;
&lt;h2&gt;Bibliografia&lt;/h2&gt;
&lt;p&gt;Finalmente, uma vez entendida a &lt;strong&gt;filosofia&lt;/strong&gt;, podemos voltar &#224; &lt;strong&gt;metodologia&lt;/strong&gt;. Agora faz sentido aplicar as ferramentas que metodologias como XP ou Scrum advogam: Pair Programming, Planning Game, Test Driven Development, Continuous Integration, Refactoring, Small Releases, Collective Code Ownership, Simple Design, Sustainable Pace, etc.&lt;/p&gt;
&lt;p&gt;Leiam com outros olhos minhas recomenda&#231;&#245;es de leitura:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Larman, Craig &amp;amp; Vodde, Bas &#8211; &lt;a href="http://www.amazon.com/Scaling-Lean-Agile-Development-Organizational/dp/0321480961"&gt;Scaling Lean &amp;amp; Agile Development: Thinking and Organizational Tools for Large-Scale Scrum&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Fowler, Chad &#8211; &lt;a href="http://www.amazon.com/Job-Went-India-Pragmatic-Programmers/dp/0976694018"&gt;My Job Went to India: 52 Ways to Save Your Job&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Christensen, Clayton M. &#8211; &lt;a href="http://www.amazon.com/Innovators-Dilemma-Revolutionary-Business-Essentials/dp/0060521996"&gt;The Innovator&#8217;s Dilemma: The Revolutionary Book that Will Change the Way You Do Business&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Beck, Kent &#8211; &lt;a href="http://www.amazon.com/Extreme-Programming-Explained-Embrace-Change/dp/0201616416"&gt;Extreme Programming Explained: Embrace Change&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Poppendieck, Mary &#8211; &lt;a href="http://www.amazon.com/Lean-Software-Development-Agile-Toolkit/dp/0321150783/ref=sr_1_2?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360469&amp;amp;#38;sr=1-2"&gt;Lean Software Development: An Agile Toolkit&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Brooks, Frederick P. &#8211; &lt;a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360514&amp;amp;#38;sr=1-1"&gt;The Mythical Man-Month: Essays on Software Engineering&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;McBreen, Pete &#8211; &lt;a href="http://www.amazon.com/Software-Craftsmanship-Imperative-Pete-McBreen/dp/0201733862/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360552&amp;amp;#38;sr=1-1"&gt;Software Craftsmanship: The New Imperative&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Raymond, Eric S. &#8211; &lt;a href="http://www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary/dp/0596001088/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360585&amp;amp;#38;sr=1-1"&gt;The Cathedral &amp;amp; the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Don, Taps &amp;amp; Williams, Anthony D. &#8211; &lt;a href="http://www.amazon.com/Wikinomics-Mass-Collaboration-Changes-Everything/dp/1591841933/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360619&amp;amp;#38;sr=1-1"&gt;Wikinomics: How Mass Collaboration Changes Everything&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Anderson, Chris &#8211; &lt;a href="http://www.amazon.com/Long-Tail-Revised-Updated-Business/dp/1401309666/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360666&amp;amp;#38;sr=1-1"&gt;Long Tail, The, Revised and Updated Edition: Why the Future of Business is Selling Less of More&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Gladwell, Malcolm &#8211; &lt;a href="http://www.amazon.com/Tipping-Point-Little-Things-Difference/dp/0316346624/ref=sr_1_2?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360700&amp;amp;#38;sr=1-2"&gt;The Tipping Point: How Little Things Can Make a Big Difference&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Gladwell, Malcolm &#8211; &lt;a href="http://www.amazon.com/Blink-Power-Thinking-Without/dp/0316010669/ref=sr_1_3?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360700&amp;amp;#38;sr=1-3"&gt;Blink: The Power of Thinking Without Thinking&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Taleb, Nassim Nicholas &#8211; &lt;a href="http://www.amazon.com/Fooled-Randomness-Hidden-Chance-Markets/dp/1400067936/ref=sr_1_3?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360749&amp;amp;#38;sr=1-3"&gt;Fooled by Randomness: The Hidden Role of Chance in Life and in the Markets&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Taleb, Nassim Nicholas &#8211; &lt;a href="http://www.amazon.com/Black-Swan-Impact-Highly-Improbable/dp/1400063515/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360749&amp;amp;#38;sr=1-1"&gt;The Black Swan: The Impact of the Highly Improbable&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Mandelbrot, Benoit &#8211; &lt;a href="http://www.amazon.com/Misbehavior-Markets-Fractal-View-Reward/dp/0465043577/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360793&amp;amp;#38;sr=1-1"&gt;The Misbehavior of Markets: A Fractal View of Risk, Ruin &amp;amp; Reward&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Sagan, Carl &#8211; &lt;a href="http://www.amazon.com/Demon-Haunted-World-Science-Candle-Dark/dp/0345409469/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360832&amp;amp;#38;sr=1-1"&gt;The Demon-Haunted World: Science as a Candle in the Dark&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Sagan, Carl &#8211; &lt;a href="http://www.amazon.com/Pale-Blue-Dot-Vision-Future/dp/0345376595/ref=sr_1_5?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360832&amp;amp;#38;sr=1-5"&gt;Pale Blue Dot: A Vision of the Human Future in Space&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Dawkins, Richard &#8211; &lt;a href="http://www.amazon.com/Selfish-Gene-Anniversary-Introduction/dp/0199291152/ref=sr_1_1?ie=UTF8&amp;amp;#38;s=books&amp;amp;#38;qid=1223360984&amp;amp;#38;sr=1-1"&gt;The Selfish Gene&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dica: A maioria desses livros tem tradu&#231;&#245;es em portugu&#234;s.&lt;/p&gt;
&lt;p&gt;Sei que alguns desses livros n&#227;o tem a ver diretamente com este assunto (como os de Carl Sagan), mas acredite: faz muita diferen&#231;a para a maneira como formamos nossas &lt;strong&gt;id&#233;ias&lt;/strong&gt;.&lt;/p&gt;
          
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/AkitaOnRails?a=OSw9Bz"&gt;&lt;img src="http://feeds.feedburner.com/~a/AkitaOnRails?i=OSw9Bz" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/AkitaOnRails?a=qbVmM"&gt;&lt;img src="http://feeds.feedburner.com/~f/AkitaOnRails?i=qbVmM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/AkitaOnRails?a=jlB2m"&gt;&lt;img src="http://feeds.feedburner.com/~f/AkitaOnRails?i=jlB2m" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AkitaOnRails/~4/413539159" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 09 Oct 2008 20:07:54 -0300</pubDate>
      <author>F&#225;bio Akita</author>
      <link>http://feeds.feedburner.com/~r/AkitaOnRails/~3/413539159/off-topic-o-manifesto-gil-ou-como-se-tornar-o-google</link>
    </item>
  </channel>
</rss>
