Post on 15-Apr-2017
PROCESSOS DE DEV DE SOFTWARE ORIGENS
FORDISMO - 1914
ENTÃO PARA SOFTWARE...
PROBLEMAS...
PROBLEMAS...
Baixa visibilidadeBaixa qualidadeMuito arriscado
Sem margem para mudanças
MAN
IFESTO ÁGIL2001
MANIFESTO ÁGIL
4 VALORES
12 PRINCÍPIOS
OS 4 VALORES1. “Indivíduos e interações acima de processos e ferramentas.”
2. “Software funcionando acima de documentação abrangente.”
3. “Colaboração com o cliente acima de negociações de contratos.”
4. “Responder a mudanças acima de seguir um plano.”
O SCRUM
A ESSÊNCIA
Conceito:
“Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.”
Princípio Ágil:
3
3. “ENTREGAS CURTAS”
MODELO CONTÍNUO
PROCESSO INCREMENTAL
Conceito:
“Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.”
Princípio Ágil:
4
O COMPROMETIMENTO
Conceito:
OS PAPÉIS
4. “CLIENTE NO TIME”PRODUCT OWNER
• Visão do Produto• ROI• Focado mais no O QUE do que no COMO• Manter o Product Backlog• Priorizar as Estórias• Planejar Releases• Apoiar na resolução de impedimentos
SCRUM MASTER• Garantir o processo SCRUM• Resolver impedimentos do Time• “Blindar” o time de distrações e
interferências externas• Facilitar comunicações
4. “CLIENTE NO TIME”
O TIME• Desenvolver o software• Estimar as atividades• Determinar o escopo dos sprints
4. “CLIENTE NO TIME”
O PROCESSO
“Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.”
Princípio Ágil:
10
CRIANDO O BACKLOG
Responsáveis:
• Lista das Estórias(US) que compõem o sistema• Não precisa ser completa no início• Não precisa ser detalhada
10. “SIMPLICIDADE”
USER STORY• Necessidades do negócio• Funcionalidades do sistema• Possui a quantidade mínima possível de
detalhamento no início (Épicos)
Responsáveis:
10. “SIMPLICIDADE”
10. “SIMPLICIDADE”USER STORYTemplate:
Responsáveis:
CRIANDO O BACKLOG
Responsáveis:
10. “SIMPLICIDADE”
“Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.”
Princípio Ágil:
1
BACKLOG - PRIORIZANDO
Responsáveis:
1. “VALOR”
PRIORIZAR É O SEGREDO!
Conceito:
Jim Johnson. The Standish Group International Inc. 2002.
10. “SIMPLICIDADE”
1. “VALOR”
BACKLOG – POR ONDE COMEÇAR
Responsáveis:
Responsáveis:
BACKLOG – POR ONDE COMEÇAR
BACKLOG - ESTIMATIVAS• Estimativa alto nível para cada Estória• Utilize medidas relativas de tamanho
Responsáveis:
10. “SIMPLICIDADE”
USAR COMPARAÇÕESConceito:
10. “SIMPLICIDADE”
USAR COMPARAÇÕESConceito:
10. “SIMPLICIDADE”
Responsáveis:
P = 2M = 4G = 8
2
2
2 4 2 8
BACKLOG - ESTIMATIVAS
10. “SIMPLICIDADE”
RELEASE PLANNING
Responsáveis:
1. “VALOR”
Conceito:
1. “VALOR”
3. “ENTREGAS CURTAS”
Responsáveis:
O QUE COMO
SPRINT
3. “ENTREGAS CURTAS”
• PLANNING• DAILY• GROOMING• REVIEW• RETROSPECTIVE
Responsáveis:
SPRINT
“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.”
Princípio Ágil:
6
SPRINT - PLANNING
4. “CLIENTE NO TIME”
4. “CLIENTE NO TIME”
6. “COMUNICAÇÃO CARA A CARA”
PLANNING – ESTÓRIAS E ESCOPO (“WHAT”)
• PO explica os detalhes das estórias mais prioritárias• Time tira todas as suas dúvidas• Time revisa estimativas de estórias caso necessário• Time define com quais User Stories pode se comprometer
no SPRINT de acordo com as estimativas e sua velocidade
Responsáveis:
VELOCIDADE DO TIMEConceito:
10. “SIMPLICIDADE”
CAPACIDADE DO SPRINTConceito:
Velocidade do Time: 20 pontos
10. “SIMPLICIDADE”
PLANNING – TÁTICO (“HOW”)
• TIME “quebra” as estórias em atividades mais simples• Adiciona as tarefas do Sprint em um Kanban
Responsáveis:
KANBANTécnica:
10. “SIMPLICIDADE”
SPRINT - DEV
Responsáveis:
“Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.”
Princípio Ágil:
5
“As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.”
Princípio Ágil:
11
• Desenvolvimento, design, testes, e o que mais for necessário acontece aqui
• Autogestão
Responsáveis:
SPRINT - DEV
11. “AUTO-ORGANIZAÇÃO” 5. “MOTIVAÇÃO E CONFIANÇA”
DAILY MEETING
Responsáveis:
• O que fiz desde ontem• O que farei hoje• O que me impede
10. “SIMPLICIDADE” 4. “CLIENTE NO TIME”
BURN DOWNConceito:
BURN DOWNConceito:
“Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.”
Princípio Ágil:
8
“Contínua atenção à excelência técnica e bom design, aumenta a agilidade.”
Princípio Ágil:
9
O QUE É NEGOCIÁVELConceito:
8. “SUSTENTÁVEL” 9. “QUALIDADE”
2. “MUDANÇAS”
“Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.”
Princípio Ágil:
2
BACKLOG - GROOMING
Responsáveis: 2. “MUDANÇAS” 4. “CLIENTE NO TIME”
BACKLOG - GROOMING
Responsáveis:
2. “MUDANÇAS”
10. “SIMPLICIDADE” 4. “CLIENTE NO TIME”
BACKLOG - GROOMING
Responsáveis:
2. “MUDANÇAS”
10. “SIMPLICIDADE”
4. “CLIENTE NO TIME”
“Software funcional é a medida primária de progresso.”
Princípio Ágil:
7
7. “SOFTWARE FUNCIONANDO”Responsáveis:
SPRINT - REVIEW
6. “COMUNICAÇÃO CARA A CARA”
SPRINT - REVIEW• TIME apresenta as Estórias concluídas para o PO• PO aprova ou não aquelas Estórias• Todas as Estórias entregues devem ser software apto a
entrar em produção
Responsáveis: 7. “SOFTWARE FUNCIONANDO”
“Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.”
Princípio Ágil:
12
12. “MELHORIA CONTÍNUA”Responsáveis:
SPRINT - RETROSPECTIVE
12. “MELHORIA CONTÍNUA”
SPRINT - RETROSPECTIVE
Responsáveis:
In a Nutshell1. “VALOR” 2. “MUDANÇA”3. “ENTREGAS CURTAS”4. “CLIENTE NO TIME”5. “MOTIVAÇÃO E CONFIANÇA”6. “COMUNICAÇÃO CARA A CARA”7. “SOFTWARE FUNCIONANDO”8. “SUSTENTÁVEL”9. “QUALIDADE”10. “SIMPLICIDADE”11. “AUTO ORGANIZAÇÃO”12. “MELHORIA CONTÍNUA”
BENEFÍCIOS DO SCRUM• Visibilidade• “Errar pequeno e
rápido”• Velocidade de início • Motivação
• Repriorização• Software rapidamente em
produção• Retorno rápido
mas como sempre:
No Silver Bullets
Onde o SCRUM pode não ser uma boa• Projetos curtos, sem tempo para medir e aprimorar o
processo
• Times remontados o tempo todo
• Projetos onde custo, escopo e prazo são fixos
• Equipe não bem madura ou instruída em scrum pode interpreta-lo como anarquia e informalidade
• Equipes pouco maduras e experientes podem não se dar bem com a autonomia/ responsabilidade inerente no processo
A ESSÊNCIA
Conceito:
Bruno Trassantebruno@cwi.com.br
Imagens Externas“Agile Pigs” http://braintrustgroup.com/
“Kanban e Calendários” http://scrummethodology.com/
“Gráficos Waterfall” http://www.agilenutshell.com/