3. Manifesto Ágil
• Indivíduos e interações mais
que processos e ferramentas
• Software em funcionamento mais
que documentação abrangente
• Colaboração com o cliente mais
que negociação de contratos
• Responder a mudanças mais que
seguir um plano
4. Manifesto Ágil
• Propõe, através dos seus 12 princípios, uma
metodologia de desenvolvimento de software baseada
em :
– forte interação com o cliente;
– redução e simplificação da quantidade de documentos gerados
durante o projeto;
– entrega freqüente de executáveis
– desenvolvimento incremental
5. Ser ágil é ...
•
•
•
•
•
Evitar o desperdício
Buscar a melhoria contínua
Agregar valor ao que está sendo produzido
Colaborar
Ser pró-ativo
AGILE = SMART
7. Você é ágil ?
• Busca ir além do que lhe foi pedido ? Fazer
sempre melhor ?
• Fica esperando que lhe digam o que fazer ?
Onde trabalhar ?
• É capaz de se adaptar ? De lidar com as
mudanças ?
• É colaborativo ?
• Busca prazer naquilo que faz ? Vê propósito no
que faz ?
• É diligente, inspirador e compreensivo ?
• Consegue manter equilíbrio entre trabalho e
vida pessoal ?
9. O que são métodos ágeis
• É uma atitude, não um processo
prescritivo.
• É um suplemento aos métodos existentes,
ele não é uma metodologia completa.
• É uma forma efetiva de se trabalhar em
conjunto para atingir as necessidades das
partes interessadas no projeto.
• É uma coisa que funciona na prática, não
é teoria acadêmica
10. O que são métodos ágeis
• É para o desenvolvedor médio, mas não é
um substituto de pessoas competentes.
• Não é um ataque à documentação, pelo
contrário aconselha a criação de
documentos que tem valor.
• Não é um ataque às ferramentas CASE
11. Métodos Ágeis
•
•
•
•
•
•
•
•
•
•
Agile Data (AD)
Agile Microsoft Solutions Framework (MSF)
Agile Modeling (AM)
Agile Unified Process (AUP)
Dynamic System Development Method (DSDM)
Extreme Programming (XP)
Feature Driven Development (FDD)
Scrum
Usage-Centered Design (UCD)
Outros ...
12. Métodos Ágeis
• São baseados em princípios e valores
• Os artefatos não são a essência
• Agile by the book pode não ser a melhor
abordagem
15. Scrum
• Em Rugby, Scrum é um time de oito
integrantes que trabalham em conjunto
para levar a bola adiante no campo.
• Ou seja: times trabalhando como uma
unidade altamente integrada com cada
membro desempenhando um papel bem
definido e o time inteiro focando num
único objetivo.
16. Scrum
• Metodologia para gestão de projetos de
desenvolvimento de software.
• Ideal para equipes de 5 a 9 profissionais.
• Não existem as figuras de programador,
testador, arquiteto, etc. Equipe
multidisciplinar (cross-functional).
• Time !
17. Scrum
• Papéis:
– Scrum master: é o responsável por garantir
que os princípios, valores e regras do Scrum
sejam aplicados.
– Product owner: é um representante do
cliente. Responsável pelo levantamento de
requisitos (histórias) e manutenção do
backlog.
– Time
18. Scrum
• “ Se uma empresa não possui processos
definidos, o Scrum é uma das melhores opções,
pois ele é simples de entender e bem mais
simples de implantar que outros processos ... O
mais importante é que ele traz uma caixa de
ferramentas de boas práticas de trabalho,
permitindo obter bons resultados, mesmo que a
equipe não tenha domínio completo das técnicas
que estão sendo utilizadas”.
Nelson Abu
Scrum Master
19. Scrum
• Princípios:
– Aceitar as incertezas
– Constante planejamento
– Trabalhar como um time
– Equipes auto-gerenciáveis
– Manter um ritmo de trabalho suportável
– Entregas freqüentes
20. Práticas Ágeis
• Sprint: é um período de tempo, de 1 a 4
semanas, ao final do qual é apresentada uma
nova funcionalidade integrada ao sistema
21. Práticas Ágeis
• Backlog é uma lista das
atividades a serem
realizadas pela equipe.
– Os itens que compõe a
lista são chamados de
histórias
– Todos podem incluir
histórias
– Somente o Product
Owner pode priorizá-las
– Product Owner pode
priorizar novamente no
início de cada Sprint
23. Práticas Ágeis
• Histórias:
–
–
São os problemas a serem resolvidos
São subdivididas em tarefas (tasks). Cada
task tem:
•
•
•
um responsável
um executor (cada um escolhe o que acha que tem
condições de resolver),
estimativa de horas (conforme a experiência do
executor).
24. Práticas Ágeis
• Histórias – exemplo
Como:
Desejo:
Para com isso:
Critérios de
Aceitação
Administrador do sistema
Que apenas pessoas autorizadas tenham acesso ao sistema
de pesquisa
Ter controle sobre o acesso aos dados
Sistema de autenticação funcionando corretamente
Conforme Mike Cohn
25. Práticas Ágeis
• Tarefas da história
T01 - US03 – Acrescentar ao modelo de dados do sistema de carga a tabela
de permissões de acesso
Responsável: Ricardo/ João
Complexidade: 13 Prioridade: 2
Iniciada em: 23/06
Finalizada em: 30/06
T02 - US03 - Elaborar as consultas de usuários cadastrados
Responsável: João/ Jane
Complexidade: 8 Prioridade: 5
Iniciada em:
Finalizada em:
T03 - US03 – Implementar a interface do sistema de autenticação
Responsável: Ricardo/Guilherme
Complexidade: 2 Prioridade: 4
Iniciada em:
Finalizada em:
T04 - US03 – Implementar a interface do sistema de cadastramento de usuários
e permissões
Responsável: Ricardo/Guilherme
Complexidade: 2 Prioridade: 4
Iniciada em:
Finalizada em:
T05 – US03 – Linkar o sistema autenticação com o sistema de geração de
gráficos e relatórios
Responsável: Ricardo/ Carlos
Complexidade: 21 Prioridade: 6
Iniciada em:
Finalizada em:
29. Práticas Ágeis
• Daily Meetings: reuniões diárias de 15 minutos,
onde todos respondem às perguntas:
– O que você realizou desde a última reunião?
– Quais problemas você enfrentou?
– Em que você
trabalhará até a
próxima reunião?
30. Scrum + XP
“É um erro achar que usar Scrum sozinho trará
agilidade para os projetos de software. Scrum é
apenas uma ferramenta para facilitar o
gerenciamento de projetos, sejam eles de
aviões, carros ou softwares. Para desenvolver
software com Scrum é necessário adicionar
práticas ágeis de engenharia de software como
as do XP, que é específico para isso, para que
aí sim você tenha verdadeira agilidade”.
Guilherme Chapiewski
Coordenador de webmedia da Globo.com
30
31. XP
• Extreme Programming é uma metodologia
de desenvolvimento de software voltada
para equipes de 2 a 10 programadores
com vistas a atender as rápidas
mudanças de requisitos do sistema.
• Projeto com no máximo 36 meses de
duração
31
32. XP
• Valores básicos:
– Comunicação: constante entre os membros
da equipe
– Simplicidade: implementar o que é necessário
– Feedback: entregas rápidas e freqüentes
– Coragem: para implantar os três valores
anteriores.
– Respeito: para saber ouvir, compreender e
respeitar o ponto de vista do outro, sempre
tendo em mente o sucesso do projeto.
32
33. Práticas Ágeis
– Foco na codificação
• Programação em
pares
• Código público (SVN)
• Refatoração
• Uso de padrões
34. Práticas Ágeis
• Pouca documentação
• Desenvolvimento orientado a testes
– Testes unitários
– Testes de integração
– Testes de usabilidade
• Integração contínua
36. Referências
• Abrahamson, Pekka; Salo, Outi; Ronkainen,
Jussi. Agile Software Development Methods:
review and analysis. Otamedia Oy, Espoo
2002. VT Publications 478. Disponível em
http://www.vtt.fi/inf/pdf/publications/2002/P478.p
df
• Beck, Kent. Extreme Programming Explained:
embrace changes. Addison-Wesley, 2000
• Freire, Flávia. Desvendando o Scrum. Revista
TIDigital pags 36 – 43. abr 2009.
37. Referências
• Cohn, Mike. User Stories Applied For Agile
Software Development. Edt. Pearson. 2004
• Costa, Fernando. Agilidade: scrum e xp.
Disponível em
http://www.slideshare.net/fernandocostafln/agilid
ade-scrum-e-xp-presentation
• Kniberg, Henrik. Scrum and XP from the
Trenches. Disponível em
http://infoq.com/minibooks/scrum-xp-from-thetrenches.