2. Daniel Wildt -dwildt@gmail.com
Bacharel em Informática (PUCRS)
Professor Universitário (FACENSA)
Mais de 10 anos de experiência em Desenvolvimento de Software, hoje atuando como CIO
Instrutor de Metodologias Ágeis da TargetTrust
Atua como Coach para adoção de Metodologias Ágeis desde 2004, focando em Lean
Development, Scrum, eXtreme Programming e Feature Driven Development
Forte atuação na comunidade de desenvolvimento de software (RSJUG, DUG-RS, JEDI)
Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Coordenador do GUMA
(Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS
3. Guilherme Lacerda -guilhermeslacerda@gmail.com
Mestre em Ciência da Computação, área de Engenharia de Software (UFRGS)
Professor Universitário de Graduação (FACENSA, UniRitter) e Pós-Graduação (UniRitter)
Coordenador do Curso de Sistemas de Informação (FACENSA)
Consultor de TI e Engenharia de Software
Instrutor de Metodologias Ágeis da TargetTrust
Mais de 14 anos de experiência em desenvolvimento de software, onde atuou por 9 anos como
Diretor de Tecnologia de uma Empresa de Desenvolvimento de Software Livre e Open Source
Pioneiro em Metodologias Ágeis no Brasil
Fundador do XP-RS (Grupo de Usuários de Metodologias Ágeis do RS) e Vice-Coordenador do
GUMA (Grupo de Usuários de Metodologias Ágeis) vinculado a SUCESU-RS
Editor do InfoQ Brasil
5. Por que 80% a 90% dos projetos de SW
fracassam?
Fonte: Standish Group
6. Principais Problemas
Sistemas entregues com atrasos e/ou orçamento estourado
Não atendem os requisitos de negócio
Clientes descontentes (sem confiança nos desenvolvedores)
Clientes não têm compreensão clara do que é desenvolvido
Clientes não dão suporte correto para o desenvolvimento
Clientes não estão interessados em participar de processos complexos
7. Principais Problemas
Desenvolvedores trabalham muitas horas por semana
Desenvolvedores relaxam na disciplina
Desenvolvedores perdem o foco
Processos prescritivos são atrativos para a gerência mas não para os
desenvolvedores
Baseados no paradigma do comando e controle
Tenta minimizar o papel do cliente
Foco em tecnologia e não no negócio
8. O que é ser Ágil?
Ágil é ser rápido, ligeiro (dicionário)
Eficaz: produz o resultado esperado
Eficiente: produz o resultado esperado, mas com qualidade
Características importantes:
Foco nas necessidades do cliente (resultado!)
Liderança
Envolvimento das pessoas
Melhoria Contínua
Tomada de decisões baseada em análise de dados e informações
(controle!)
9. Direitos do Cliente (Ron Jeffries)
Planejamento Geral, definindo o que pode ser realizado, quando e a que
custo
Ver e acompanhar o andamento do projeto e, principalmente, o progresso
do SW, passando por testes definidos em conjunto com a equipe
Mudar de idéia, substituir funcionalidades, sem pagar custos exorbitantes
Ser informado de mudanças no cronograma, em tempo de escolher e
reduzir o escopo
Poder cancelar o projeto a qualquer momento e ainda assim ter um
sistema funcionando, refletindo o investimento realizado até o momento
10. Direitos do Desenvolvedor (Ron Jeffries)
Saber o que é necessário, com declarações claras de prioridade
Produzir trabalho de qualidade o tempo todo
Pedir e receber ajuda da equipe, superiores e clientes
Fazer e atualizar suas próprias estimativas
Aceitar as suas responsabilidades, ao invés de tê-las impostas
11. Processos de Software
Processos Tradicionais
ciclos sequenciais, etapas dependentes
Prever o futuro
Temores (mudanças nos requisitos)
12. Manifesto Ágil
“Estamos evidenciando maneiras melhores de desenvolver software fazendo-
o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos
a valorizar:
Interação entre pessoas MAIS QUE processos e ferramentas;
Software em funcionamento MAIS QUE documentação abrangente;
Responder a mudanças MAIS QUE seguir um plano.
Colaboração com o cliente MAIS QUE negociação de contratos;
Ou seja, mesmo tendo valor os itens à direita, valorizamos mais os itens à
esquerda.”
Kent Beck, Robert C. Martin, Scott Ambler, Alistair Cockburn, Ward
Cunningham, Ron Jeffries, Steve Mellor, Mike Beedle, Arie van Bennekum,
Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Brian Marick,
Ken Schwaber, Jeff Shuterland, Dave Thomas
Utah – Fev/2001
14. Princípios
Satisfazer o cliente, entregando o software em
tempo hábil e continuamente
Aceitar as mudanças de requisitos, em qualquer
fase do projeto
Entregar software na menor escala de tempo possível
Equipe de desenvolvimento e cliente são do mesmo time
Construir projetos com indivíduos motivados e comprometidos com o
resultado
15. Princípios
Usar a comunicação efetiva
Ter o software em funcionamento é a principal
medida de progresso
Atenção contínua à excelência técnica
As melhores arquiteturas, requisitos e projetos provêm de equipes
organizadas
Refletir sobre como se tornar mais eficaz, ajustando e adaptando o
comportamento da equipe