As três frases essenciais do documento são:
1) O documento introduz os principais métodos ágeis de desenvolvimento de software, como Scrum.
2) Em 2001, dezessete especialistas em desenvolvimento de software criaram o Manifesto Ágil, estabelecendo valores e princípios para métodos ágeis, como priorizar indivíduos, software funcionando e resposta à mudanças.
3) Scrum é um processo ágil onde equipes pequenas e auto-organizáveis entregam software incrementalmente em sprints curtos, com reuniões di
2. Minha avó me
convidou para
visitá-la e almoçar
o salpicão que eu
adoro nesse
sábado às 13h
3. O que ela deve fazer?
•Ela irá acordar às 8h;
•Banho até as 8h30min;
•Café da manhã até as 9h;
•Consulta médica às 10h;
•Supermercado às 11h;
•Voltará para a casa às 12h;
• Almoço pronto às 13h.
4. E se...
•O ônibus atrasar?
•O médico atrasar?
•Não tiver os ingredientes no
supermercado ?
5. E se...
Meu netinho, você se
importa de eu fazer
uma sopinha de
legumes em vez do
salpicão ?
6. E se...
Meu netinho, você se
importa de eu fazer
uma sopinha de
legumes em vez do
salpicão ?
8. Escopo Variável
•Sempre há um escopo
•Teoricamente não será alterado
durante o projeto, porque existe um
contrato
•Existe uma ilusão de previsibilidade
9. O cliente acredita que:
•O escopo é previsível;
•O prazo é previsível;
•O custo é previsível;
10. A equipe acredita que sabe:
•O que tem que fazer;
•Em quanto tempo fará;
•Quanto vai ganhar;
•Quais recursos vai
precisar.
19. Resultado
• Projetos que falha;
• A maioria das funcionalidades nunca será
usada pelo usuário;
• Nos projetos com sucesso, apenas 42% das
funcionalidades previstas no início estavam no
produto final;
27. Manifesto Ágil
Em 2001, dezessete especialistas em processos de
desenvolvimento de software estabeleceram princípios
comuns compartilhados por diferentes métodos e
criaram o Manifesto Ágil.
29. Manifesto Ágil
“
Estamos descobrindo maneiras melhores
de desenvolver software fazendo‐o nós
mesmos e ajudando outros a fazê‐lo.
Através desse trabalho, passamos a
valorizar:
34. Princípios
“
Nossa maior prioridade é satisfazer o
cliente através da entrega adiantada e
contínua de software de valor
35. Princípios
“
Aceitar mudanças de requisitos, mesmo
no fim do desenvolvimento. Processos
ágeis se adéquam a mudanças para que o
cliente possa tirar vantagens competitivas
36. Princípios
“
Entregar software funcionando com
frequência, na escala de semanas ou
meses, com preferência aos períodos mais
curtos
37. Princípios
“
Pessoas relacionadas a negócio e
desenvolvimento devem trabalhar em
conjunto e diariamente, durante todo o
curso do projeto
38. Princípios
“
Construir projetos ao redor de indivíduos
motivados dando a eles o ambiente
necessário, e confiar que farão seu trabalho
39. Princípios
“
O método mais eficiente e eficaz de
transmitir informações para, e por dentro de
um time de desenvolvimento, é através de
uma conversa cara a cara
40. Princípios
“
Contínua atenção à excelência técnica e
bom design aumenta a agilidade
41. Princípios
“
Simplicidade: A arte de maximizar a
quantidade de trabalho que não precisou
ser feito - KISS
42. Princípios
“
Software funcional é a medida primária de
progresso
43. Princípios
“
Em intervalos regulares, o time reflete
como ficar mais efetivo, então, ajustam e
otimizam seu comportamento
44. Princípios
“
As melhores arquiteturas, requisitos e
designs emergem de times auto-
organizáveis
46. Características de Um Time Ágil
Auto-gerência
Responsabilidade
Transparência
Interdisciplinaridade Auto-organização
Motivação
Adaptabilidade
Confiança Feedback
Comunicação
Coragem Sem hierarquia formal
Respeito
Comprometimento
47. Scrum
“
É um processo para construir software
incrementalmente em ambientes complexos,
onde os requisitos não são claros ou mudam
com muita frequência.
48. 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.
49. Backlog
• Lista de todas as funcionalidades desejadas
• É gerada incrementalmente
– Começa pelo básico, o extra aparece com o tempo
• Pode conter
– Tarefas diretas, casos de uso e histórias
• A lista é priorizada pelo dono do projeto
– Cliente, depto de marketing, ...
50. O Backlog Inicial
• Deve conter características que agreguem algum
valor de negócio ao produto
• Novos requisitos aparecem quando o cliente vê o
produto
• A arquitetura do sistema surge enquanto o projeto
surge e é refatorado
51. Equipes
• Sem nível hierárquico nem papéis
– Mas com várias especialidades
• Estão todos no mesmo barco
• Geralmente equipes pequenas (até 10)
– Existem casos com equipes maiores (800 !)
– Usa-se também Scrum hierárquico
• Comunicação é essencial
– Encontro Scrum diário
52. Sprint
• Unidades básicas de tempo (até 30 dias)
• Começa com um encontro Sprint
– Tarefas do Backlog são priorizadas
– A equipe seleciona tarefas que podem ser completadas
durante o próximo Sprint
– As mesmas podem ser quebradas para o Backlog do
Sprint
– Cada tarefa recebe um responsável na equipe
– Não há mudança nas tarefas durante o Sprint
53. Daily Scrum
• Pequenos encontros diários da equipe
– geralmente pela manhã
– galinhas e porcos (só os porcos falam)
– todos os porcos devem participar
• Questões que aparecem devem ser resolvidas
durante o dia e não na reunião
• Os encontros iniciais são geralmente mais longos
54. Daily Scrum
• Questões que devem ser respondidas por cada porco:
– 1) O quê você fez ontem?
– 2) O quê você vai fazer hoje?
– 3) Quais os problemas encontrados?
• Ajuda a manter as promessas
• Evita: Como um projeto atrasa um ano?
– Um dia por vez ...
– Qualquer deslize pode ser corrigido de imediato
55. Local do Encontro
• Sempre o mesmo local e • Todos devem participar
hora • Galinhas ficam na
• Pode ser o local de periferia
desenvolvimento
• Pode ser em pé
• Pessoas sentadas ao
redor de uma mesa • Sala bem equipada,
• A sala já deve estar quadro branco, etc.
arrumada antes
• Punições (atrasos/faltas)
56. Revisão do Sprint
• No final de cada Sprint é feita uma reunião com
todos os interessados
• Geralmente
– Na forma de demonstração
– Informal (preparação rápida, sem projetor,..)
– Deve ser o resultado natural de um Sprint
• O projeto é comparado com os objetivos iniciais do
Sprint
57. Scrum Master
• Faz com que a equipe viva os valores e práticas de
Scrum
• Protege a equipe de:
– Riscos e interferências externos
– Excesso de otimismo
• Resolve os problemas que aparecerem
– logísticos
– de conhecimento/habilidade
58. Scrum Master
• Mantém o Backlog do Sprint
– Tarefas completadas
– Identifica eventuais problemas
• Mantém um gráfico de “quanto falta”
100
90
80
70
60
50 horas
40
30
20
10
0