O documento descreve um jogo chamado "Code Debts Killers" utilizado para promover a qualidade do código de forma gamificada. O jogo envolveu 5 equipes e 73 pessoas para resolver problemas técnicos e melhorar as práticas de programação. Ao final, foram resolvidos mais de 4.300 problemas como bugs, vulnerabilidades e smells no código.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
CDK promove qualidade de código com gamificação
1. C O DE DEBTS KILLERS
PROMOVENDO CONTINUOUS CODE QUALITY
COM GAMIFICAÇÃO
Amanda Mattos
DevOpsDays – São Paulo – 2018
2. Nossa maior prioridade é satisfazer o cliente
através da entrega contínua e adiantada
de software com valor agregado.
12 Principles of Agile Software Development
http://agilemanifesto.org/iso/ptbr/principles.html
1
3. “Continuous Delivery is the ability to
get changes of all types – including
new features, configuration changes,
bug fixes and experiments – into
production, or into the hands of
users, safely and quickly in a
sustainable way.”
“
@jezhumble
4. A prática Entrega Contínua NÃO consiste
apenas em automatizar deploys até produção.
WHAT?!?!
“O Jenkins está disparando builds toda hora! Quero que ele execute apenas quando eu quiser.”
“Preciso colocar em produção até sexta e não temos como resolver os testes até lá.”
“Depois faremos uma Sprint apenas para correções e refactoring.”
“Estamos iniciando um projeto novo. Queremos o deploy automatizado.”
Gerência de Configuração
Integração Contínua
Testes Automatizados
7. “If it hurts, do it more frequently,
and bring the pain forward.”
@jezhumble
Antecipar falhas
Localizá-las com mais facilidade
Resolvê-las com rapidez
Revista Proteste – Julho/2017
Por que Integração Contínua
e Teste Contínuo?
8. Devops – oi digital
PRINCÍPIOS KANBAN
VISUALIZE
LIMITE O WIP
MEÇA E GERENCIE
O FLUXO
POLÍTICAS
EXPLÍCITAS
CICLOS DE
FEEDBACK
MELHORE COLABORATIVAMENTE
EVOLUA EXPERIMENTALMENTE
OI MOD & MICROSSERVIÇOS
ACOMPANHAMENTO / EVOLUÇÃO DOS TIMES – CONTINUOUS EVERYTHING BOARD
9. O que consideramos
Code Quality?
• Menos bugs
• Menos vulnerabilidades
• Manutenção simples
• Suficientemente
testado
• Significativo para o
negócio
10. 1º PASSO - MEDIR
Já tínhamos débitos
técnicos e eles só
aumentavam!!!
12. EMPATIA
D E S E N V O LV E R P E S S O A S
E C O L A B O R A Ç Ã O
13. “In every job that must be done
There is an element of fun
You find the fun and snap!
The job’s a game.”
“
@marypoppins - 1964
14. “Gamificar é a arte de juntar todos os elementos
divertidos e emocionantes dos jogos e utilizá-los em
outros contextos nos quais você tem coisas a fazer mas
não necessariamente quer fazê-las.”
Yu-Kai Chou
GAMIFICAR ???
• Engajamento
• Foco
• Criatividade
• Colaboração
MELHORA
16. C O DE DEBTS KILLERS
• RESOLVER OS DÉBITOS TÉCNICOS
• ENGAJAR PARA BOAS PRÁTICAS DE PROGRAMAÇÃO
• PROMOVER CONTINUOUS INTEGRATION, CODE QUALITY, TESTING
• MELHORAR A COLABORAÇÃO
• ESTIMULAR TROCA DE CONHECIMENTO
• REFORÇAR OBJETIVO COMUM
OBJETIVOS
17. C O DE DEBTS KILLERS
• LÚDICO
• OBJETIVO MAIOR
• REGRAS CONSTRUÍDAS DE MANEIRA COLABORATIVA E ACESSÍVEL A TODOS
• DESAFIOS
• ATINGIMENTOS E RECOMPENSA
• RESULTADOS FREQUENTES E DISPONÍVEIS A TODOS
• PARTICIPANTES ELEGÍVEIS
DESIGN DO GAME
SET OUT NOV DEZ
20. EM 12/09/17....
E EM 08/12/17, APÓS UMA COMPETIÇÃO ACIRRADA ....
488
85
3741
C O DE DEBTS KILLERS
4.314
PROBLEMAS RESOLVIDOS
*Apenas nos repositórios que participaram do Game
Bugs Vulnerabilities Code Smells
Técnico Virtual 323 4 128
Móvel Digital 103 48 1649
Cadastro Digital 14 10 559
Nova Minha Oi 42 22 1742
Microsserviços 17 9 361
Bugs Vulnerabilities Code Smells
Técnico Virtual 0 0 3
Móvel Digital 0 0 0
Cadastro Digital 0 0 23
Nova Minha Oi 0 0 500
Microsserviços 11 8 172
% Cobertura Antes Depois
0 <= c <= 40 14 6
40 < c <= 80 5 5
c > 80 4 12
23. • Nível de maturidade das pessoas em relação às práticas
• Dificuldade com algumas formas de contrato (terceirização)
• Cultura da empresa - Dificuldade para reconhecimento e premiação
• Estrutura dos times para construção de testes automatizados (TDD)
• Maior comprometimento no final do game
• Não existe Entrega Contínua sem IC e sem Testes
• Comprometimento de todos com a qualidade – Pressão
Algumas reflexões....
ÁGIL x RITMO SUSTENTÁVEL
25. Ferramenta poderosa para:
• Introduzir novas práticas de forma mais divertida
• Lidar com falhas de forma positiva (contra a cultura do medo/culpa)
• Resultados rápidos para problemas específicos
• Identificar (de forma discreta) problemas no fluxo de trabalho
• Promover colaboração e aumentar a confiança nos times
Não é bala de prata!
Concluindo....
26. C - Culture
A - Automation
L - Lean
M - Measurement
S - Sharing
Obrigado!