Planning Poker – vamos nos divertir e integrar

Semana passada ministrei um curso prático de XP pela AgilCoop. O formato do curso é bem interessante e ideal para pessoas nunca tiveram contato com a metodologia OU conhecem a teoria mas nunca usaram as práticas.

O curso tem 20 horas de duração. O objetivo é usar a metodologia para desenvolver em 4 ciclos de 4 horas uma Pizzaria Online – a AgilPizza. As outras 4 horas são destinadas a explicações básicas e encerramento do curso.

Cada ciclo de 4 horas está dividido em 30min de planejamento, 3.5h de desenvolvimento e 15 minutos de retrospectivas.

O curso é uma versão no meio do caminho entre o Jogo de XP (onde cada iteração dura 1 minuto) e o ambiente de desenvolvimento real (onde cada iteração tem em média de 5 a 20 dias de duração).

A atmosfera de brincadeira e diversão criada em torno desse projeto de pizzaria é um dos atributos chave para o aprendizado da metodologia. Continue reading

Ser humano acima de tudo


Esse é um trecho que escrevi em abril de 2003, refletindo sobre o absurdo de se comparar o ser humano com o computador

Opiniões de muitos cientistas renomados por todo o mundo ajudam a confirmar a idéia de que a ciência é muitas vezes, arrogante ao colocar com veemência certas afirmações que estão bem longe de serem verdade. A postura científica é a de basear-se na idéia de que tudo pode ser explicado matematicamente ou fisicamente. A questão é: a ciência tem um conhecimento limitado da ”verdade” e isso induziu ao longo da história (e ainda induz) a erros grotescos.

Cientistas de Inteligência Artificial afirmam absurdos, baseados apenas em elocubrações mentais. Eles muitas vezes ignoram a grandeza da mente humana ao supor que um computador pode pensar como o homem. Continue reading

Criação, Padrões e Arte

Uma ótima maneira de aprender a fazer alguma coisa é fazendo. Os livros de português e gramática estão aí e ajudam muito no ensino da escrita, mas para aprender a escrever é preciso escrever. Assim como para aprender a fazer software é preciso programar. Só se aprende a meditar meditando. São atividades cujo aprendizado vem da prática, não da teoria.

Estou relizando um trabalho que aborda prática, não as teorias. Recomendo a ação e a arte. Arte é ação, é criação. Do dicionário:

cri.a.ção sf (lat creatione)

  1. Ação ou efeito de criar, de tirar do nada.
  2. Totalidade dos seres criados.
  3. O universo visível.
  4. Produção, obra, invento.
  5. Estabelecimento, formação, fundação, instituição.
  6. Amamentação de uma criança.
  7. Educação.
  8. Animais domésticos que se criam para alimento do homem.
  9. Propagação da espécie.
  10. Alvenaria de pedras miúdas e argamassa que serve de enchimento aos vãos deixados pelas pedras mais volumosas.
  11. Nas agências de publicidade, o conjunto formado pelos departamentos de redação e de arte.


Alguns significados da palavra criação são óbvios (1,4,5). Continue reading

A Arte como ferramenta para inovação

Hoje sabe-se muito bem que um programador não produzirá 25% a mais se trabalhar 10 ao invés de 8 horas diárias. A vinda de métodos ágeis trouxe muitas mudanças e quebra de preconceitos trazidos da revolução industrial. Ainda assim, existem muitos paradigmas a serem quebrado. Na era industrial, a fórmula de um produto era guardada a sete chaves. Essa fórmula secreta garantia que o produto não seria copiado. Naquela época, a exclusividade na comercialização de produtos foi muito lucrativa para as indústrias.

A partir do surgimento da Internet, Continue reading

Práticas que vão bem com o plano de iterações

Joca Torres defendeu nesse post algumas vantagens de usar métodos ágeis, do ponto de vista do gerente de produtos. O design incremental e o uso de iterações permite que o cliente veja mais rapidamente aquilo que já está pronto. A partir do momento que o cliente está usando nosso software, ele começa a PAGAR e a ter benefícios (e nós também!).

Porém, do ponto de vista do time de desenvolvimento, existem alguns cuidados que precisam ser tomados para que o software se torne “modificável” para atender as necessidades do cliente. Para entregar funcionalidade de forma incremental, você precisa ter um ambiente de desenvolvimento e uma base de código que facilite e permita essas entregas iterativas.

As práticas de XP são um guia para isso. O gerente de produtos tem muito contato com as práticas de planejamento (histórias, iterações, velocidade etc) mas em software não basta planejar. Continue reading