código Ágil

Agile, Scrum, Extreme Programming , Java e mais

Palestrando no Scrum Gathering Brazil

Posted by Luciano Félix em 16 abril, 2009

Como o Igor já noticiou no seu blog estarei palestrando juntamente com o Gustavo Coutinho no Scrum Gathering Brazil em São Paulo. O tema da nossa palestra será “Usando DoD (Definition of Done) para amadurecer a qualidade do produto”. A idéia é discutir o quanto o DoD é importante para uma equipe scrum e porque ele não pode ser ignorado. O horário da palestra será as 14:30 do dia 12/05.

Além de nós,  figuras carimbadas do Scrum User Group de Recife e da comunidade nacional estarão lá, além da presença do Ken Schawber, um dos pais do Scrum, tem tudo para ser um evento incrível.

Posted in Uncategorized | Etiquetado: | 1 Comment »

Brazil Scrum Gathering por US$ 200,00 !!!

Posted by Luciano Félix em 8 abril, 2009

Grande notícia!!

A Scrum Alliance divulgou uma campanha muito legal para quem está interessado em participar do Scrum Gathering.

Os 200 primeiros inscritos pagarão apenas US$ 200,00 pela inscrição. Um desconto de 60% , sem dúvida uma grande oportunidade.

O Brazil Scrum Gathering acontecerá nos dias 12 e 13 de maio em São Paulo.

brazil_gathering

Posted in Uncategorized | Etiquetado: | Leave a Comment »

Sprint backlog tips na Scrum Alliance

Posted by Luciano Félix em 24 março, 2009

sa2

Hoje tive a satisfação de ter um artigo publicado no site da Scrum Alliance, esse artigo foi resultado de uma revisão de um post antigo já publicado aqui no blog. Espero que seja útil a todos

Posted in Uncategorized | Etiquetado: , , | 1 Comment »

Estimar ou Não Estimar

Posted by Luciano Félix em 12 março, 2009

Esse é um assunto um tanto quanto polêmico dentro da comunidade, temos defensores das 2 abordagens, nos livros do Ken Schawber e Mike Cohn, vemos a recomendação de estimar as tarefas em horas, mas já a algum tempo a idéia de abrir mão das estimativas das tarefas vem crescendo e ganhando adeptos e eu particularmente sou um deles. O que acontece normalmente é que o planejamento da sprint pode tornar-se longo e cansativo quando a equipe tem de estimar cada uma das tarefas que ela acredita serem necessárias para desenvolver os itens debacklog , o que se vê normalmente são discussões intermináveis se uma tarefa vai levar 4 ou 6 horas sendo que essa informação não será de fato importante na hora de se entregar um item pronto.

Na minha opinião é totalmente possível se atingir todos os objetivos de uma sprint, tanto no que diz respeito ao incremento de software produzido quanto no que diz respeito ao processo, além de simplificar o planejamento sem prejudicar em nada seu resultado. Em seu artigo publicado pela Scrum Alliance o Alan Atlas fala muito bem sobre esse assunto.

De acordo com Alan os dois principais motivos da maioria das equipes utilizarem estimativas para tarefas:

  1. Criar um compromisso que seja exequível pela equipe em termos de incremento de software
  2. Criar um gráfico de burndown para monitorar o progresso da equipe.

Bem, esses 2 objetivos podem ser atingidos sem a necessidade de estimar as tarefas.

O compromisso da equipe pode se basear apenas na quantidade de story points que a equipe acredita ser possível entregar dentro do tempo da sprint e ao passo que a velocidade da equipe vai estabilizando as estimativas de tarefas ficam ainda mais dispensáveis.

Já o burndown chart pode passar a ser baseado apenas na quantidade de tarefas, o que exigirá da equipe uma diminuição do tamanho de suas tarefas, identificando-as mais claramente, assim o gráfico será atualizado somente quando uma tarefa for concluída completamente. Além desse gráfico também é interessante usar umburndown baseado em story points. Enquanto o burndown baseado em quantidade dá um idéia de progresso técnico, o baseado em story point da uma idéia de progresso mais voltado ao negócio.

Acredito que as estimativas de tarefas podem levar a um microgerenciamento desnecessário e custoso para a equipe e podemos de fato abandoná-las sem prejuízo ao projeto tornando o planejamento e o acompanhamento mais simples.

Posted in Uncategorized | Etiquetado: | 1 Comment »

Brazil Scrum Gathering 2009 – Confirmado !!

Posted by Luciano Félix em 20 fevereiro, 2009

As datas do próximo Scrum Gathering, que acontecerá aqui no Brasil já foram confirmadas. O encontro acontecerá nos dias 12 e 13 de Maio de 2009, Hotel Grand Hyatt, em São Paulo/SP.

Informações sobre a programção e inscrições ainda não foram divulgados, mas acredito de possamos contar com a presença do Ken Schawber e Jeff Sutherland.

Para mais informações acessem a página da Scrum Alliance.

Posted in Uncategorized | Etiquetado: , | Leave a Comment »

Eventos ágeis da semana

Posted by Luciano Félix em 18 fevereiro, 2009

No início da semana estive presentes em dois eventos bem interessantes para a comunidade ágil de Recife.

Na segunda feira tivemos o workshop Agile Practices for Software Companies promovido pelo CESAR dentro da programação do Recife Summer School. O workshop contou com a presença do Danilo Bardusco da Globo.com falando mais uma vez sobre como foi o processo de implantação o Scrum na empresa, as dificuldades enfrentadas e como está a situação atual, tivemos também o Felipe Furtado e a Teresa Maciel falando sobre a adoção de Scrum e CMMI no CESAR e os problemas criados pelos mitos gerados em torno dos dois assuntos. A tarde, o Manoel Pimentel, Certified Scrum Pratictioner e editor das revistas Visão Ágil e InfoQ Brasil, falando um pouco sobre gestão de requisitos, depois o Scott Ambler apresentou através de vídeo conferência algumas idéias sobre desenvolvimento de software globalmente distribuído e por fim o Boris Gloger fez sua apresentação sobre a aplicação do Scrum num ambiente corporativo.

Na terça, aproveitando a presença do Boris na cidade realizamos o 3º encontro do Recife Scrum Group, o primeiro de 2009, a pedidos o Boris repetiu a apresentação do anterior, o que foi muito bom, visto que a grande maioria dos presentes não haviam participado do workshop no dia anterior. Aguardem a agenda das próximas reuniões.

Posted in Uncategorized | Etiquetado: , | Leave a Comment »

David Anderson em Recife

Posted by Luciano Félix em 29 janeiro, 2009

Ontem estive presente na palestra do David Anderson, sobre Agile + CMMI promovida pelo CESAR.EDU como parte da programação do Recife Summer School. A palestra foi bem interessante, David falou um pouco sobre o contexto histórico em que o Manifesto Ágil foi criado e a motivação por trás dos seus valores. Mais uma vez foi mostrado que o CMMI e o Movimento Ágil tem os mesmos objetivos, apenas diferem nas aplicações. David continuou a apresentação mostrando essas diferenças, não concordo com tudo que ele disse, mas mesmo assim foi enriquecedor participar da palestra.

Um dos grandes problemas que vejo no adoção de CMMI com Agile, e isso ficou claro na palestra do David, é o grande desconhecimento e preconceito por parte dos avaliadores do CMMI sobre o que é Agile. Encontrar algum auditor que aceite evidências que são comumente usadas pela comunidade ágil ainda é muito difícil, o próprio SEI reconhece o problema e tenta buscar uma solução, mas acredito que esse cenário não vá mudar assim tão rápido.

Além da palestra de ontem, o David vai ministrar o curso Zen of Agile Management, hoje e amanhã, também dentro da programação do Recife Summer School.

Posted in Uncategorized | Leave a Comment »

Certified Scrum Practitioner

Posted by Luciano Félix em 28 janeiro, 2009

Na segunda feira (26/01/2009) recebi uma grande notícia da Scrum Alliance, fui aprovado no processo de seleção de Certified Scrum Practitioner. Um passo importante para alcançar meu objetivo de me tornar um CST.

Queria agradecer aos amigos da Solver Ltda. que me ajudaram implantar o processo na empresa e ao Boris Gloger que tem me ajudado constantemente, permitindo que eu o auxilie nos treinamentos de CSM e claro a minha esposa que aguenta me ouvir falar sobre Scrum o tempo inteiro.

Grande abraço a todos !!

Wuff !!

Posted in Uncategorized | Etiquetado: , | 6 Comments »

Dicas sobre Pair Programming

Posted by Luciano Félix em 21 janeiro, 2009

O Patrick Kua publicou em seu blog algumas dicas interessantes que ele usa quando está trabalhando em pares. Traduzo aqui o texto para vocês.

Entender o estilo de trabalho de cada um

Gosto de entender como a pessoa com quem estou pareando gosta de trabalhar e eu gosto de explicar a maneira como prefiro trabalhar. Entender as preferências de cada um ajuda a não criar conflitos quando o par precisa fazer algo diferente, Alguns gostam de desenhar diagramas, outros gostam de analisar código, etc. Torne as coisas implícitas em explícitas.

Relaxe e conte até 3

Eu digito rápido mas reconheço que preciso ser paciente em relação a coisas como, erros de digitação ou sintaxe quando estou trabalhando com alguém que não digita tão rápido quanto eu. Nada diz mais “Não confio em você” do que ficar constantemente chamando atenção sobre essas coisas quando seu parceiro ainda está traduzindo o design em código. Eu confio no meu parceiro para perceber esses problemas e espero um longo intervalo antes de aponta-los. Quando tenho o impulso de interromper, paro e conto até 3 para dar um espaço ao par. Claro, erros de digitação são chatos, mas são corrigidos facilmente e não são o fim do mundo.

Troque de posições constantemente

Trocar posições frequentemente ajuda a criar um senso de posse coletiva do código, no entanto fazer isso de forma excessiva pode quebrar o fluxo de trabalho. Quando começo a trabalhar em pares tento organizar o tempo de teclado, sugerindo os momentos apropriados para a troca (fim de um teste, fim de uma funcionalidade).

Assegure-se que o par entenda por que está pareando

Pair Programming traz vários benefícios, mas, as vezes, pode ser difícil entender por que estamos trabalhando em pares. Veja se o trabalho em par está trazendo benefícios como, entendimento compartilhado, revisão de código contínua, opções de design, etc. Sem entender porque estamos pareando, muitas pessoas não conseguem atingir os resultados esperados.

Reconhecer que PP não é a solução para tudo

Me incomoda quando ouço, “Preciso de um par para resolver isso”, sem descobrir qual o problema de fato. As vezes problemas são melhor resolvidos pela equipe, ou padrões precisam ser acordados com a equipe, não com apenas um parceiro. Por outro lado, não acredito que todas as tarefas precisam de duas pessoas, coisas como ler uma documentação, ou pesquisar na web a solução de uma dívida. Pode ser difícil perceber quando e quando não trabalhar em pares. Entender o por que pode ajudar.

O navegador deve ver  além da tarefa atual

O valor do navegador é pensar além do que está sendo codificado, o que vem a seguir. Quando estou no papel do navegador penso nas consequências da tarefa atual nas outras partes do sistema, considerando tarefas que podemos ter nos esquecido ou pensando em diferentes cenários de teste que ainda são necessários criar. Também penso se a tarefa que estamos fazendo é realmente válida para o contexto do sistema, se isso nos leva mais próximo do nosso objetivo e se essa é a melhor forma de fazer.

O texto original pode ser lido aqui.

Posted in Uncategorized | 3 Comments »

“Testes são superestimados”

Posted by Luciano Félix em 12 janeiro, 2009

Na semana passada o InfoQ publicou uma apresentação do Luke Francl, especialista em Ruby, sobre como alguns conceitos que temos sobre nossos testes podem estar equivocados.

Luke apresenta idéias bastante interessantes para criar uma estrutura de testes que seja de fato efetiva, vale a pena dar uma olhada.

A apresentação pode ser vista aqui

Posted in Uncategorized | Etiquetado: | Leave a Comment »