Nos dias 23 e 24 de Outubro participei do evento “Falando em Agile 2008” realizado pela Caelum aqui em São Paulo. Da mesma forma que fiz no “Rails Summit 2008“, tentarei transmitir um pouco da minha visão sobre o evento.

No primeiro dia, Alexandre Magno fez a abertura apresentando a proposta do evento e lançou uma questão para que as pessoas refletissem: “Agile simplesmente está na moda ou veio para ficar”?

Em seqüencia houve o Keynote de David Anderson, uma grande personalidade do mundo ágil envolvido na criação da metodologia Feature Driven Development (FDD), ele foi trazido à São Paulo pela Heptagon para ministrar o treinamento Zen Of Agile. Algumas pessoas falaram sobre a palestra do David, mas gostaria de comentar alguns pontos que me chamaram atenção.

Working Hard - Foto por Karol M

Working Hard – Foto por Karol M

Working harden rather than smarter:” David questionou sobre simplesmente trabalhar duro ao invés de trabalhar e forma inteligente, e comentou sobre a fato de as pessoas não terem vida social ou tempo para a família porque trabalham mais (ou muito mais) de 40 horas semanais. Será que isso é mesmo necessário?

Starbucks citado por David - Foto por Rob

Starbucks citado por David – Foto por Rob

The workers are not the problem, managers are:” Essa é uma frase de Barry Boehm que foi citada para começar uma reflexão sobre diversos problemas de gerenciamento de software, segundo David, um fraco gerenciamento pode encarecer o desenvolvimento de software mais intensamente do que qualquer outro fator. O palestrante disse acreditar que os gerentes do Starbucks são melhores do que a maioria dos gerentes de projetos de desenvolvimento de software: – “Eles simplesmente fazem o que tem que ser feito“.

Todo trabalhador do conhecimento é um executivo:” No sentido de que tomamos milhares de decisões todos os dias para realizar nosso trabalho, não se trata apenas de seguir uma especificação.

Bugs - Foto por Michael Porter

Bugs – Foto por Michael Porter

Software quase sem defeitos é possível:” David afirmou que um software sem defeitos pode até ser impossível, mas quase sem defeitos, com certeza, é possível. Comentou sobre a idéia que vem do Lean de parar tudo para resolver defeitos e falou da importância incentivar e dar condições aos desenvolvedores de fazer tudo de forma apropriada (inclusive dando a eles mais tempo se for necessário).

Alguns outros bons conselhos de David foram:

Arte por Nilson - www.nilson.de

Arte por Nilson – www.nilson.de

O Adail Retamal da Heptagon fez uma apresentação sobre Agile Thinking (Pensamento Ágil) onde apresentou diversas técnicas que utiliza como apoio ao desenvolvimento ágil. Adail fez um tributo a filósofos e pensadores que o ajudaram a formar seus principais conceitos: Platão, Aristóteles, Arquimedes, Newton, Professor Júlio César de Melo, Richard Feynman e Eliyahu Moshe Goldratt.

Mind Map - Foto por Keith Davenport

Mind Map – Foto por Keith Davenport

Em seqüencia, foi apresentada a técnica de desenhar Mapas Mentais, que são um tipo de diagrama voltados para a gestão de informações, de conhecimento e de capital intelectual, que pode ser usado para desenvolver documentação de projetos. Foi sugerido que se faça um mapa para projetos que responda as perguntas:

  • O que?
  • Por que?
  • Quem?
  • Quando?
  • Onde?
  • Como?
  • Quanto Custa?

Adail explicou como funciona a UML em cores, e apresentou o conceito de Teoria das Restrições (TOC), e como utilizá-los no desenvolvimento de software para melhoria contínua, identificar problemas, encontrar raízes de problemas, manter o foco no que é importante, e suas solucionar problemas.

Foto por ScottieT812

Foto por ScottieT812

A Galera da Sea Tecnologia e o Tenente Souto apresentaram um case de desenvolvimento ágil de software dentro da aeronáutica, comentaram sobre a experiência adquirida na quebra de paradigmas e enfrentando diversas dificuldades culturais.

O Guilherme Chapiewski da Globo.com fez uma apresentação sobre liderança em equipes ágeis, os principais conceitos na minha perspectiva foram os seguintes:

  • Um bom líder deve ter a Visão que incluí o Propósito, a Missão e os Valores, e deve transmitir isso para sua equipe.
  • Deve dar as direções para equipe.
  • Deve construir um bom ambiente para que as pessoas se desenvolvam.
  • Deve ter paixão pelo que faz.
  • Deve ser útil.
  • Deve estar presente.
  • Deve dar o melhor de si.
  • Deve ser autêntico.
  • Dever dar bom exemplo.
  • Deve incentivar as pessoas a tomar iniciativa para resolver problemas sozinhos (deve ser descentralizador).
  • Deve garantir que o trabalho está alinhado as expectativas.
  • Deve ser tolerante.
  • Não deve dar respostas deve ajudar as pessoas a encontrá-las.
  • Deve garantir que as pessoas têm as ferramentas necessárias para trabalhar.
  • Deve manter o seu time e contratar novos membros.
Happy Hour no Bar Opção - Foto por Victor Hugo

Happy Hour no Bar Opção – Foto por Victor Hugo

No final no primeiro dia, claro, assim como no Rails Summit, tivemos um Happy Hour no bar opção que fica na região da Avenida Paulista com presença da maioria dos palestrantes e uma galera super bacana.

No segundo dia, o Danilo Bardusco da Globo.com falou sobre como foi a introdução do Scrum na Globo.com, como surgiu a idéia, quais eram as necessidades, quais foram as dificuldades e como eles estão as vencendo. Entre as dificuldades, Danilo citou a quebra do paradigma do Big Design Up Front (BDUF), ter a equipe toda trabalhando em uma historia por vez e enfrentar a resistência de quem acha que está perdendo o poder. Achei interessante a idéia de utilizar personas para ajudar entender as histórias e reuniões periódicas entre disciplinas (arquitetos da informação scrum masters, etc.). Os Slides da apresentação estão disponíveis no blog do Bardusco.

Foto por Sara Petagna

O Daniel Cukier e o Professor Fábio Kon, ambos da Agilcoop e do IME/USP fizeram uma apresentação sobre “Padrões para Introduzir Nova Idéias” com base no livro “Fearless Change” de Linda Rising e Mary Lynn Manns, uma ótima abordagem quem está implementando metodologias ágeis em organizações. Recomendo assistir à esta entrevista (em inglês) e ouvir à este podcast da Agilcoop (em português) para mais informações sobre o assunto.

O Daniel Wildt da Dell em sua palestra contou um pouco sobre sua experiência na implantação de metodologias ágeis em equipes distribuídas, acho que a principal mensagem da palestra foi “Qualidade não é um opção“. Segundo Daniel, os princípios de qualidade da norma ISO 9000 são coerentes com o Manifesto Ágil.

O Antonio Carlos Silveira do Yahoo falou sobre o papel o Product Owner e a Priorizarão do Product Backlog. Os principais recados foram:

  • Entenda o cliente. Utilizar personas (pessoas que representam seus usuários) podem ajudar.
  • O Product Owner precisa entender muito bem do domínio do problema e precisa saber e ser muito bom em tomar decisões.
  • O Product Owner pode ser técnico? Depende do domínio do problema, se o domínio for técnico, claro que pode.

Antônio também apresentou as técnicas “Kano Model” e “Benefício Relativo” para estimativa de histórias, mas disse que no fim das contas a o chute é a técnica que impera.

Arte por Leo Reynolds

O Phillip Calçado “Shoes” da ThoughtWorks em sua palestra “A Maldição da Fábrica de Software” falou sobre algumas lições que aprendeu em projetos que trabalhou na Austrália.

O Primeiro problema citado foi o de um projeto onde muitas pessoas foram envolvidas e como “gente demais compromete a comunicação” as coisas foram ficando complicadas, até chegar a um ponto em que 4 pessoas desenvolveram a mesma coisa no mesmo dia. Eu acho que este tipo de coisa acontece porque algumas pessoas ainda não entenderam que a idéia de que “o fato de 1 mulher poder ter 1 filho em 9 meses não significa que 9 Mulheres podem ter 1 filho em 1 mês“.

O Segundo problema foi referente a um projeto com um pouco de BDUF em que havia um arquiteto super-herói que dizia aos programadores o que e como desenvolver. Como resultado, a primeira versão do projeto foi entregue em metade do tempo planejado porém, na segunda versão os programadores queriam começar tudo de novo porque era impossível dar manutenção no código que havia sido desenvolvido. Isso aconteceu principalmente porque não houve refactoring.

De acordo com Shoes problemas como os citados acima acontecem porque as pessoas muitas vezes não entendem que tudo em métodos ágeis é um ciclo e que como as práticas estão relacionadas, jogar uma prática fora pode comprometer as outras, por isso experimente antes de jogar fora. Isso não quer dizer que você não possa adaptar métodos ágeis a uma forma mais adequada a sua realidade, mas quer dizer que você deve tomar cuidado e adaptar conscientemente. Saiba o que você está fazendo e pense no que você perde.

Algumas dicas do Shoes:

  • Estude e Entenda os Conceitos. Saiba o que você está fazendo.
  • Lembre-se que você desenvolve software.
  • Não leve nada a ferro e fogo.
  • Cuidado com quem você contrata (existem falsos agilistas).
  • Só melhoria contínua salva.
  • É muito fácil ser medíocre, mas você precisa ir além.

Além das palestras citadas, houveram outras de excelente qualidade apresentadas por Danilo Sato, Francisco Trindade, Professor José Papo, Alexandre Magno e  Robinson Caiado.

Meus parabéns a toda a equipe da Caelum pela realização do evento, a Globo.com, ao Yahoo e a Borland pelo patrocínio, e todas a pessoas que tornaram o “Falando em Agile 2008” realidade.

Fique Ligado nos próximos eventos: OpenHack 2008 e Lançamento da InfoQ Brasil.