A agilidade na mão do Dev Setembro - 2018
Quem somos
Avelino F. Gomes Filho
[email protected]
Agilidade na mão do Dev
Qualidade & Agilidade
Por que vamos para o Ágil?
Modelo Tradicional Teórico Análise
Design
Codificação
Testes
Implantação
Modelo Tradicional Prática Análise Codificação Design Design Análise Análise Codificação Design Codificação Análise T e s t e s Implantação
Exemplo Visão do pessoal de negócios
Exemplo Visão da TI
Exemplo Como realmente era
"Filtro "
Agilidade resolve
Ágil vai resolver essa parada!
Desenvolvimento
Desenvolvimento
Desenvolvimento
...
Ágil vai resolver essa parada?
Desenvolvimento
Desenvolvimento
Desenvolvimento
Maldições
“Podemos aumentar o tamanho da Sprint de 2 para 3 semanas”?
Maldições Disfunção
Histórias de usuário
Histórias de Testes
Maldições Débito Técnico
Dívida Técnica Se não tratar, torna-se impagável
The Agile Samurai by Jonathan Rasmusson
Maldições Sprint de Testes Sprint de integração Sprint de correção
Zoom in
Onde garantimos a qualidade do software? UX [2]
Priorizado [3]
Construção [3]
Qualidade [3]
Entrega [1]
Beto
Maria
Flor Raul
Edgar
Onde garantimos a qualidade do software? UX [2]
Priorizado [3]
Construção [3]
Qualidade [3]
Entrega [1]
Beto
Maria
Flor Raul
Edgar
Onde garantimos a qualidade do software? UX [2]
Priorizado [3]
Construção [3]
Qualidade [3]
Entrega [1]
Beto
Maria
Flor Raul
Edgar
Qualidade em todo o fluxo de valor
As 4 devem andar Negócio Produtos ROI e Priorização Estimativas Metas Releases KPI's Técnico
Cultural Melhoria contínua Motivação Autonomia Resistência a mudança Interdisciplinaridade Liderança Organizacional
Padrões
Processos Distribuição dos times Fluxo de trabalho Frequência de entrega Estrutura organizacional
Maestria
Métricas
Qualidade Automação Ferramentas
v2.1©
Domínios Domín ios de Conhecimento em em Agilidade Negócio Cultural Organizacional Organizacional Técnico k21.com.br/blog/ate-onde-vai-agilidade/
Indivíduos e interações mais interações mais que processos e ferramentas
As 4 devem andar Negócio Produtos ROI e Priorização Estimativas Metas Releases KPI's Técnico
Cultural Melhoria contínua Motivação Autonomia Resistência a mudança Interdisciplinaridade Liderança Organizacional
Padrões
Processos Distribuição dos times Fluxo de trabalho Frequência de entrega Estrutura organizacional
Maestria
Métricas
Qualidade Automação Ferramentas
v2.1©
Qualidade Agilidade Quais os desafios? + +
#1 Paixão pela solução
Desafio 1: Apaixonados pela solução Em qual projeto, produto ou serviço você está trabalhando? Qual problema ele resolve? Quando atingiremos o sucesso?
Apaixone-se pelo problema Ágil não é ser rápido. Ágil é ser Adaptável É um diálogo e não uma luta.
Apaixone-se pelo problema
Pequenos lotes Fluidez
Feedback
#2 A prova de falhas
Desafio 2: A prova de falhas
BDUF A arte de fazer coisas que não deveriam ser feitas
Big Design Up Front
Design Thinking de 6 meses Backlog com centenas de itens antes do desenvolvimento Parametrização de todas as variáveis (ERPs) Fazer A arquitetura
k21.com.br/blog/bduf/ k21.com.br/ blog/bduf/
BDUF Otimização precoce da arquitetura “Uma das maiores causas de falha em projetos de software é a otimização precoce da arquitetura”.
Eduardo Guerra
youtube.com/watch?v=q-OHu0cENc4 youtube.com/watch?v =q-OHu0cENc4
BDUF Equilíbrio
Eduardo Guerra youtube.com/watch?v=q-OHu0cENc4 youtube.com/watch?v =q-OHu0cENc4
BDUF Padrões para equilíbrio
Eduardo Guerra youtube.com/watch?v=q-OHu0cENc4 youtube.com/watch?v =q-OHu0cENc4
BDUF Padrões para equilíbrio
Eduardo Guerra youtube.com/watch?v=q-OHu0cENc4 youtube.com/watch?v =q-OHu0cENc4
BDUF Padrões para equilíbrio
Eduardo Guerra youtube.com/watch?v=q-OHu0cENc4 youtube.com/watch?v =q-OHu0cENc4
Não BDUFar
Economia Oportunidade Resultados concretos todos os dias
#3 Acertar de primeira
Desafio 3: Vamos acertar de 1ª, 1ª, #NoRetrabalho
bonkersworld.net/building-software bonkersworld.net/build ing-software
Retrabalho Retrabalho é inevitável!!!
The Agile Samurai by Jonathan Rasmusson
Retrabalho O problema vai mudar!
Retrabalho
Falhar Melhorar
#4 Tá pronto, só falta testar
Desafio 4: Desafio 4: Tá pronto, só só falta testar
k21.com.br/blog/ta-pronto-so-falta-testar/
Como você testa seu software? Plano de Testes?
Como você testa seu software? Evidências?
Testes automatizados automatizados “Desenvolver “Desenvolver software sem automação de testes é o equivalente a cuspir para cima” (Rodrigo de Toledo) “Os testes automatizados criam uma rede de proteção para evolução do software” (Luiz Rodrigues - Lula) “É uma irresponsabilidade as pessoas desenvolverem código sem testes” (Juliano Ribeiro)
Testes automatizados automatizados
Delivery!
Entregar toda semana, se possível todo dia Não dá para ficar 1-2 semanas testando
Analogia do Cirurgião
Testes automatizados automatizados
Documentação útil e executável
Testes automatizados automatizados
Testes automatizados automatizados São importantes?
Você faz?
Não
Não Sim Sim Wagner Fusca medium.com/@wagnerfusca/agilidade-e-o-comportamento-do-desenvolvedor-de-software-apresenta%C3%A medium.com/@wagnerfusca/ agilidade-e-o-comportamento-do-desenvolvedor-de-software-apresenta%C3%A 7%C3%A3o-dos-dados-b02b11b42ee0
Testes Testes automatizados automatizados
k21.com.br/blog/qualidade-do-software-testes-automatizados/ k21.com.br/blog/qualidade-do-software-teste s-automatizados/
Testes automatizados automatizados
k21.com.br/blog/qualidade-de-softw k21.com.br/blog /qualidade-de-software-com-tdd-test-d are-com-tdd-test-driven-development/ riven-development/
Testes automatizados automatizados Baby Steps
#5 Lobo Solitário
Desafio 5: Lobo solitário
Efeitos da colaboração
Como? Paramento
Programação em par
Comunicação
Benefício Mútuo (Aprendizado)
Pareamento Diversidade
Pareamento Considerações Não é para um programar e o outro ficar assistindo (muito menos dormindo) Atenção ao formar duplas
Pareamento Como trocar o piloto do paramento
Intervalo de tempo
Ping pong
#6 Só há conhecimento lá fora
Desafio 6: Só há conhecimento lá fora
Coding Dojo Juntos para buscarmos uma uma solução
Coding Dojo Juntos para buscarmos uma uma solução Precisa de ● 1 computador ● 1 projetor (TV funciona para públicos menores) ● 1 piloto e 1 copiloto ● 1 facilitador ● Ambiente seguro Funcionamento ● Tempo de pilotagem 4-5 minutos ● Plateia só assiste ● Na troca de pilotos rola a discussão (plateia - pilotos)
Na verdade, essa conversa foi sobre ...
eXtreme Programming (XP) Valores Comunicação Coragem Feedback Respeito Simplicidade
Algumas Práticas Design Incremental Sentar junto TDD Trabalho em par
Princípios Auto-semelhança Benefício Mútuo Diversidade Economia Falha Fluidez Humanismo Melhoria Oportunidade Passos de bebê Qualidade Redundância Reflexão Responsabilidade
Avelino F. Gomes Filho
[email protected] linkedin.com/in/avelinoferreiragf @avelinofgf
Rua Barata Ribeiro 543 • 1104 • Copacabana • Rio de Janeiro • RJ • 22040-001 • (21) 3825 8624