domingo, 5 de julho de 2009

Checklist para Scrum

Uma das reuniões previstas no Scrum é a Sprint Retrospective. Nesse encontro, a equipe discute o sprint anterior, o que foi bom (e deve ser mantido), o que não foi bom (e precisa ser melhorado ou não repetido) e o que poderia ser feito de novo para melhorar ainda mais os próximos sprints. É um momento excelente para captar opções de melhorias vindas do próprio time, com base em fatos concretos e experiências reais.
Contudo, fica uma questão: como manter esse conhecimento ao longo do tempo e transformá-lo em um 'asset' da empresa, aplicavel não apenas para o time em questão, para todos os times de scrum, replicando as melhores práticas e evitando cometer os mesmos erros?
Uma forma que aplicamos, com relativo sucesso (importando a idéia dos métodos de gerenciamento da rotina) foi a criação de um checklist: Uma lista de perguntas que é aplicada sempre ao final das reuniões de planning, e atualizada ao final de cada reunião de retrospective. Serve como uma verificação de que os pontos principais levantados pela equipe no passado estão sendo considerados no planejamento e não foram esquecidos. Questões como:
  • Reservamos tempo suficiente para testes? E homologação?
  • Existe algum item de backlog que não está claro? Todos sabem o objetivo de cada um?
  • Temos algum evento previsto para ocorrer durante o próximo sprint? Algum membro do time tem algum compromisso marcado, férias, ou precisará se ausentar? Se sim, irá impactar nos prazos?
Essa lista, que pode parecer simples e óbvia para equipes mais experientes, pode auxiliar muito novas equipes, evitando falhas comuns no planejamento e auxiliando a alcançar o objetivo assumido pela equipe.
Importante: No modelo que implementamos, fica a critério dos Scrum Masters (ou do PMO, quando existir um) selecionar os pontos que devem ou não ser incluidos nessa lista comum. É importante separar o que é específico de um projeto, e portanto deve ser incluído apenas naquele contexto, e o que pode beneficiar todos os demais times de Scrum. É uma tarefa importante, que irá transformar o conhecimento adquirido pelas equipes em conhecimento corporativo, fazendo com que velhos erros não sejam repetidos, mesmo por equipes novas. O checklist pode ficar disponivel on-line , com ferramentas como blogs e wikis corporativos, e ser consultado por todos.

quarta-feira, 1 de julho de 2009

Java 6 no MAC

Nos últimos dias, tive uma surpresa ao tentar compilar um projeto Java 6 usando o maven. Ao que parece, o Java 6 para MAC somente funciona nas versões 64 bits e, ainda assim, não é default. A alteracão usando a interface de preferences também não funciona. Para configura-lo, é preciso alterar as variaveis de ambiente JAVA_HOME e PATH:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
export PATH=$PATH:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin

Depois disso, a compilação no maven funcionou e consegui adiciona-los no eclipse.

Fica a dica. Referencia da solução:

http://mail-archives.apache.org/mod_mbox/maven-users/200810.mbox/%3CB795E29E-15C4-45F7-A6A6-B6A0ED7AD923@resolvesw.com%3E