Coding Dojo Floripa

Desenvolvimento Ágil

Archive for Fevereiro, 2007

Mais treinamentos Certified Scrum Master no Brasil

Posted by Ivan Sanchez em Terça-feira, Fevereiro 27, 2007

Tenho notado nas últimas semanas um aumento considerável de pessoas que chegam até este blog procurando informações sobre Scrum. Então aqui vai uma boa notícia: novos treinamentos Certified Scrum Master em outras partes do país: Florianópolis, Brasília, Rio de Janeiro e São Paulo.

Todos ocorrerão na mesma época, entre final de março e começo de abril e vale lembrar que o número de vagas é bem restrito, uma vez que o treinamento é muito mais prático do que teórico. Mais informações no site da TeamWare.

Posted in Agile, Scrum | 1 Comment »

Você pensa antes de sair programando?

Posted by Ivan Sanchez em Quinta-feira, Fevereiro 15, 2007

Gostei bastante da pergunta que o Plentz sentiu falta no post Teste: você é um desenvolvedor ágil?. Como não consegui decidir se ela deveria entrar lista, resolvi escrever um pouco sobre o assunto antes.

Acredito que o ato de pensar antes de se programar por si só não garante um bom código como resultado. Muitos ficam pensando horas antes de escrever a primeira linha de código inútil, enquanto outros conseguem sair programando e gerar ótimos resultados sem mal saber do que o problema tratava no início.

Um dos objetivos do desenvolvimento ágil é obter feedback rápido para melhorar a solução continuamente. E assim como isso é feito através de entregas constantes do software para avaliação dos usuários, também deve ser possível fazê-lo enquanto se está programando.

Eu normalmente penso o suficiente para escrever a primeira especificação do problema na forma de código (teste), e a partir daí o raciocínio vai fluindo conforme novos testes vão surgindo. Não sei se esta é a melhor forma, mas pelo menos me permite criar um jogo mental de “perguntas e respostas” para o problema que estou tentando solucionar. Eu parto de uma pergunta (mesmo que já tenha outras na cabeça) e procuro a resposta. Durante esta procura novas perguntas vão surgindo e desta forma que o programa evolui.

A questão é que isto só funciona quando posso me comunicar com alguém que possa me dar mais informações sobre o problema quando as dúvidas aparecerem. Vale lembrar que dúvidas aparecem por mais que se tente pensar antes de programar. Então isto significa que comunicação, assim como feedback, é vital para desenvolver um software.

Em resumo, ao meu ver o que importa não é o quanto se pensa antes de programar, e sim a quantidade de informação disponível antes de se começar. E no caso de desenvolvimento ágil creio que uma das vantagens é justamente não se exigir um detalhamento completo do problema antes do início da sua solução. São os “baby steps” que garantem que o desenvolvimento vai caminhar na direção certa.

Talvez a pergunta fique melhor assim: “Você busca o mínimo de informação antes de programar?”. Porque quem não pensa antes de sair programando provavelmente vai fazer besteira, mas quem pensa demais também pode estar perdendo um tempo precioso…

Posted in Agile, eXtreme Programming, Programming | 1 Comment »

Treinamento Certified Scrum Master

Posted by Ivan Sanchez em Sexta-feira, Fevereiro 9, 2007

Parece que eu estou repetindo o post anterior, mas não é bem por a. Só agora que eu vi que a TeamWare também vai fazer um treinamento de Certified Scrum Master, mais ou menos na mesma época que a Agile Brasil. Mais informações sobre o treinamento aqui.

Assim como no treinamento que eu participei, o treinador vai ser o Boris Gloger, que demonstrou ser realmente muito bom quando se trata de gerência ágil de projetos.

Fico contente em saber que novos treinamentos como estes e o Verão Ágil da USP estão surgindo. É sinal que as metodologias ágeis estão conquistando o seu espaço no mercado.

Posted in Agile, Scrum | Leave a Comment »

Treinamento Agile Project Management e Certified Scrum Master

Posted by Ivan Sanchez em Sexta-feira, Fevereiro 9, 2007

Em Março a Agile Brasil traz um novo treinamento de Certified Scrum Masters. Desta vez o curso incluirá uma parte de Agile Project Management e terá 3 dias de duração. A treinadora será Martine Devos:

Martine Devos é uma das pioneiras no processo Scrum, possui mais de 30 anos de experiencia no gerenciamento de projetos e é certificada para treinar Scrum Masters. Pelo trabalho realizado no departamento de educação da Belgica recebeu o título de ICT Manager of the Year. Possuidora de uma energia unica ela é apaixonada pelo trabalho em equipe, por resolver problemas e compartilhar ideias.

Assim como no treinamento que eu fui, ele será todo ministrado em inglês. Mais informações sobre o treinamento podem ser encontradas no site da Agile Brasil.

Posted in Agile, Scrum | 1 Comment »

Ping Pong Programming

Posted by Ivan Sanchez em Sexta-feira, Fevereiro 9, 2007

Pra quem quer experimentar um pouco de Pair Programming e TDD, este é o exercício:

De preferência em dois programadores (talvez com mais também funcione, se alguém conseguir me avise), definam um problema simples para ser resolvido. Agora sigam o processo:

  1. Programador A escreve um novo teste que falha;
  2. Programador B faz o teste passar;
  3. Programador B escreve um novo teste que falha;
  4. Programador A faz o teste passar;
  5. Repita.

Simples, não? Seguindo estes passos já deve ser possível sentir a maioria das dificuldades e benefícios que ambas as práticas apresentam, e ainda pode servir como um passatempo para quem gosta de programar.

Esse exercício foi proposto em 2003, no Wiki da C2. Estou pensando em fazer uma sessão dele na próxima reunião do Dojo. Neste caso acho que vou precisar de um teclado sem fio 😉

Posted in Agile, eXtreme Programming, Programming, TDD | 2 Comments »

Scrum em 2 minutos

Posted by Ivan Sanchez em Quarta-feira, Fevereiro 7, 2007

Scrum overview

 

Uma das melhores referências que eu já vi para apresentar Scrum para quem ainda não conhece é o artigo “Scrum in Five Minutes“, criado pela SoftHouse. Em apenas 16 páginas eles mostram a essência do método, mas se você ainda não estiver convencido a ponto de ler o artigo, aqui vai algo ainda mais resumido:

Scrum em 2 minutos

1. O que é Scrum?

Scrum é uma metodologia ágil para gerência de projetos. Ela é baseada em ciclos de 30 dias chamados Sprints, onde se trabalha para alcançar objetivos bem definidos. Estes objetivos são representados no Product Backlog, uma lista de coisas para fazer que é constantemente atualizada e repriorizada.

2. Quais são os papéis?

  • Equipe: responsável por entregar soluções, geralmente é formada por um grupo pequeno (entre 5 e 9 pessoas) e que trabalha de forma auto-gerenciada;
  • Product Owner: responsável pela visão de negócios do projeto, é ele quem define e prioriza o Product Backlog. Geralmente é o papel desempenhado pelo cliente;
  • Scrum Master: é uma mistura de gerente, facilitador e mediador. Seu papel é remover obstáculos da equipe e assegurar que as práticas de Scrum estão sendo executadas com eficiência.

3. Como funciona?

  • Definição do Backlog: todas as funcionalidades ou mudanças no produto são definidas pelo Product Owner no Product Backlog. Esta lista é priorizada para refletir a necessidade dos clientes ou demandas do mercado. Os itens do topo da lista são destacados para serem entregues no final do próximo Sprint.
  • Andamento do Sprint: durante o Sprint, os itens do Product Backlog que devem ser entregues são agora tratados no Sprint Backlog. As tarefas agora são responsabilidade da Equipe, que tem autonomia para decidir como elas devem ser executadas.
  • Reuniões Diárias: o Scrum Master se reune diariamente com a Equipe num mesmo horário, para que se reporte:
    • O que foi feito ontem?
    • O que se pretende fazer hoje?
    • Quais são os impedimentos que estão atrapalhando a execução das tarefas?
  • Revisões: no final do Sprint a Equipe demonstra os resultados para o Product Owner e demais interessados, de forma que os itens do Backlog sejam considerados prontos e então possa se iniciar um novo Sprint.

Bem, este é apenas um resumo, mas espero que ajude como primeiro contato com Scrum. Se você ficou interessado no assunto aconselho agora a leitura do Scrum in Five Minutes.

Posted in Agile, Scrum | 33 Comments »