O documento discute soluções simples e de baixo custo para implementar Scrum em projetos de software, incluindo a adoção de uma metodologia ágil, modelagem de linguagem simples, e compromisso com o cliente através de transparência e visibilidade do projeto.
É bom explicar o que pretendo exibir com esta palestra
- Mostrar nossa experiência com Scrum, XP e Kanban nos últimos 18 meses
- As ferramentas que utilizamos para controlar
- Como motivar as pessoas a trabalharem nesse ambiente diferente do mercado
Vou falar o que fazemos para auxiliar no entendimento
Software web para gestão de varejos
Controle de estoque, compras, financeiro, contabilidade, solução completa exceto software de PDV (frente de caixa)
8 Clientes - são supermercados ou atacados ... todos fazem solicitações de melhorias ou informam bugs
1 único produto com poucas personalizações
A apresentação está dividida em 4 partes principais
O que acontecia antes das metodologias ágeis
Alguns muito bons, mas no geral equipe inexperiente
Mudança de planos a toda hora. As vezes no meio de uma tarefa.
Novas solicitações interrompiam o trabalho
Por não termos testes unitários não sabíamos se íamos quebrar alguma coisa.
- Manutenção em legado de 8 anos
O vizinho não sabia o que o outro estava fazendo
Por todos estes motivos dá pra ver que não tínhamos nem uma metodologia tradicional (RUP) nem ágil
Porém já tínhamos princípios ágeis
Esboço em papel ou na lousa facilita explicação
Misto de tela + modelo de BD + fluxo com decisões
Sempre entregamos o máximo de valor e procuramos ajudá-los no que fosse preciso
Muita sinceridade entre os membros da equipe
Todo tipo de junk food
Achamos que isto não era suficiente
Precisávamos nos organizar de alguma forma
O que fizemos para resolver
Curso na Teamware com Juan Bernabó (sexta e sábado)
Montamos o quadro com tinta magnética e ímãs para prender os papéis. Isto facilita o “drag-and-drop”
Explicar rapidamente o fluxo (segunda - planejamento ... sexta - revisão e retro)
Quem quiser saber mais consulte o blog
Agora vamos conhecer o fluxo de trabalho...
Idéias são cadastradas por membros do suporte ou desenvolvimento
Product Owner prioriza as tarefas de acordo com sua importância
Ele é um proxy entre todos os clientes
Também usamos Fibonacci para o valor de negócio
Com o backlog priorizado é possível fazer a reunião de planejamento
Ciclo de 1 semana com planejamento na segunda e revisão na sexta
Durante a reunião estimam-se as tarefas não estimadas
Modelo de cartas disponíveis no blog
Durante a semana as tarefas em andamento são acompanhadas pelo ticket ao lado da foto.
- Quando uma pessoa tem muitas tarefas em paralelo algo está errado (mas ainda não aplicamos kanban)
Para tarefas mais difíceis há programação em par
- Para não ficar tão entediante utiliza-se a técnica de ping pong pairing
- Escreve um teste e deixa falhando (aí passa a bola)... o outro implementa e faz outro teste falhar (e novamente passa a bola)
Assim que uma tarefa é concluída ela é validada por uma equipe de testes
- Pode voltar para desenvolvimento ou ir para o Done!
O acompanhamento do que foi concluído fica na TV de plasma (não é de tão baixo custo)
- Feito em php sobre o banco de dados postgres do trac
Na sexta-feira fazemos a revisão e depois a retrospectiva para encontrar soluções de melhoria contínua
Analisamos os cartões escritos durante a semana
- Verdes são bons, vermelhos são ruins, amarelos são idéias de ações a tomar
- Uma reunião que não é do Scrum
- Toda quarta-feira temos uma reunião de uma hora onde qualquer um pode propor um assunto que seja de interesse da empresa
- Alguém apresenta um framework novo como jQuery, Linux, Effective Java, GIT
- Agora vamos entrar na parte técnica...
Para acompanhamento dos projetos e wiki
Para desenvolvimento em Java
Framework para controle de transações, injeção de dependências e MVC
Servidor de aplicações que substituiu o Tomcat e nos deu estabilidade
Framework para javascript muito famoso
- Muito fácil de usar. Possui abas, árvore, drag and drop
- Facilita a escrita e manutenção de javascript
Mudamos recentemente de SVN para GIT e sentimos a diferença
- Não usamos distribuído. Usamos um repositório central. Trocamos pela velocidade
- Resolve melhor os conflitos
- Existem outras soluções como Bazar e Mercurial
Mostra quando o build foi quebrado
Existem outras soluções como o Continuum, Cruise Control e TeamCity
Agora vamos falar sobre o ambiente de trabalho...
Somos 6 desenvolvedores e 2 testers
Todos utilizam iMac de 20 polegadas com 4GB de memória
- Não sofremos mais com o tempo de publicação do projeto para o JBoss no eclipse
Todos se divertem, portanto o tempo passa muito rápido
- Temos bonecos nas mesas
Vamos a muitos eventos e conhecemos muita gente legal como o pessoal da globo.com
- Danilo Bardusco, Guilherme Chapiewski e Antônio Carlos Silveira (agora no Yahoo)
Todos da equipe participaram da pescaria organizada pela empresa para Presidente Epitácio
- Momento de forte integração
Tudo isto permite... uma equipe motivada
Dá pra ver que o pessoal se diverte bastante no trabalho
- Mas sempre tem um engraçadinho pra editar as fotos...
Obrigado pela oportunidade de apresentar nosso case
Espero que tenha dado alguma idéia de como melhorar o trabalho de vocês
Vou ficar até o final do dia caso queiram conversar sobre algum dos itens apresentados
Aqui está meu e-mail e o link do blog: blog.bluesoft.com.br
Obrigado novamente