Agilidade e Scrum em projetos 
de software 
Análise e tópicos sobre agilidade em 
metodologias de desenvolvimento
Vítor de Almeida 
• CSM - Certified Scrum 
Master (2012) 
• CSD - Certified Scrum 
Developer (2013) 
• Engenheiro de Software 
no SIDI – Samsung 
Instituto 
• Engenheiro de 
Computação 
(Unicamp/05)
TIPOS DE PROBLEMAS
Problema simples 
Instalação de um home theater 
Sentir - Categorizar - Responder
Problema complicado 
Construção de uma casa 
Sentir - Analisar - Responder
Problema complexo 
Mercado de ações 
Sondar - Sentir - Responder
Problema caótico 
Trânsito de São Paulo 
Agir - Categorizar - Responder
Desenvolvimento de um software
Desenvolvimento de um software
SOLUÇÕES: MODELO CLÁSSICO
Fordismo
Padrões de projeto
Padrões de projeto
Linha de montagem de software
ENGENHARIA DE SOFTWARE
Documento de requisitos
Diagrama de classes
Diagrama de componentes
Diagrama de Gantt
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
Lean 
Agile 
Scrum 
XP
Lean 
Agile 
Scrum 
XP 
• Método de produção Just In Time (JIT) 
• Controle de qualidade total
Lean 
Agile 
Scrum 
XP 
• Iterações com tempo fechado 
• Motivação do time 
• Gerenciamento de imprevistos
Lean 
Agile 
Scrum 
XP 
• Não traz novos conceitos 
• Framework estabelecendo regras para 
colocar em prática os conceitos acima
Lean 
Agile 
Scrum 
XP 
• Não traz novos conceitos 
• Técnicas para desenvolvimento 
condizente com os conceitos acima
SCRUM
O product owner cria 
uma lista priorizada de 
funções desejadas 
chamada product 
backlog.
Responsabilidades do Product Owner 
• Funcionalidades do produto; 
• Data de entrega e o conteúdo; 
• ROI do produto; 
• Priorização conforme valor de negócio a cada 
Sprint; 
• Aveitar ou rejeitar os resultados.
História de usuário
Durante o sprint planning, o time 
consome uma fração do topo da lista, 
chamada sprint backlog, e decide como 
implementar esse pedaço.
Características do time 
• De 3 a 9 pessoas; 
• Multifuncional; 
• Dedicados ao projeto; 
• Auto-organizado.
O time tem um sprint para completar o trabalho e 
se reúne diariamente para checar o progresso.
Durante o processo, o ScrumMaster 
mantém o time focado no objetivo.
Características do ScrumMaster 
• Responsável pela aplicação dos valores e 
práticas do Scrum; 
• Remove impedimentos; 
• Assegura que a equipe está totalmente 
funcional e produtiva; 
• Permite a cooperação entre os diversos papéis 
e funções; 
• Protege o time das interferências externas.
Ao final do sprint o trabalho deve ser entregável.
O sprint termina com um sprint review e um sprint 
retrospective. No sprint seguinte, o time escolhe 
outra fração do product backlog e começa a 
trabalhar novamente.
Plano x Valor 
Fixos 
Estimados 
Requisitos Preço Tempo 
Waterfall Agile 
Tempo Preço Requisitos
COMPLEMENTOS DO FRAMEWORK
Kanban
Planning poker
ÁGIL PARA 
DESENVOLVEDORES
Testar exaustivamente 
• Testes automatizados 
• Testes unitários 
• Test-driven development (TDD) 
• Integração contínua
Responsabilidade coletiva 
• Pair programming 
• Design evolutivo 
• Ritmo sustentável 
• Conhecimento em T
Perguntas?
Obrigado! 
Técnicas de XP 
http://xprogramming.com/book/whatisxp/ 
Manifesto ágil 
http://www.agilemanifesto.org/ 
Tudo sobre ágil e scrum 
http://agileatlas.org/ 
Vítor de Almeida 
vitor@vitordealmeida.com.br 
(19) 999 102030

Scrum: entendendo o framework e aplicando no dia-a-dia