- O documento discute três metodologias ágeis para desenvolvimento de software: Scrum, Extreme Programming (XP) e Kanban.
- Scrum é um framework iterativo que utiliza papéis, times boxes e artefatos. XP enfatiza valores como simplicidade e comunicação aplicados em práticas de programação em pares. Kanban usa quadros visuais para mapear e limitar fluxos de trabalho.
- Um caso de uso exemplifica como uma empresa de jogos usou Scrum para entregas mais ágeis.
3. Introdução
Com o objetivo de “desburocratizar” o processo
de desenvolvimento de software surgiu a Aliança
Ágil que tem por objetivo encontrar abordagens
mais simples e eficientes para o desenvolvimento
de software. Essa apresentação irá explanar sobre
três dessas metodologias ágeis, sendo elas:
Scrum, Extreme programming e Kanban.
4. Scrum - Introdução
● É um Framework de desenvolvimento
iterativo e incremental;
● Útil para gerenciamento de projetos e
desenvolvimento ágil de software.
5. Scrum - Introdução
● É utilizado para trabalhos complexos nos
quais é impossível predizer tudo o que irá
ocorrer;
● É um framework que quando usado
corretamente promove maior flexibilidade,
visibilidade e produtividade.
6. Scrum - Introdução
● Scrum não é uma abordagem prescritiva, ou
um processo previsível;
● As decisões ficam a critério da equipe.
7. Scrum - Conceitos e Metodologias
● Indivíduos e interações;
● Colaboração do Cliente;
● Adaptação a mudanças.
8. Scrum - Conceitos e Metodologias
Rapidez no desenvolvimento;
Satisfação do cliente, com entrega
incremental do software logo de início;
Equipes pequenas, autoorganizadas e
altamente motivadas;
Comunicação entre a equipe.
9. Scrum - Conceitos e Metodologias
● Dividido por Equipes
com seus membros tendo
papéis definidos, pelos
Times Boxes que são as
reuniões de planejamento,
releases, sprints e por fim
os Artefatos e Regras.
11. Scrum - Conceitos e Metodologias
● Dentre todas as Times Boxes a Sprint pode-se
considerar a mais importante;
● É a iteração previamente
definida, em que durante esse
período é feito o esforço para
o desenvolvimento do que foi planejado.
12. Scrum - Conceitos e Metodologias: Sprints
● As sprints funcionam
uma após a outra,
para que se produza
os artefatos.
17. Extreme Programming: Introdução
O Extreme Programming ou XP, como é chamado
carinhosamente é uma nova metodologia de desenvolvimento
com foco em agilidade de equipes e qualidade de projetos,
apoiada em valores como simplicidade, comunicação, feedback
e coragem e respeito,logo podemos perceber que XP é uma
metodologia baseada em comportamentos e atitudes. Ela provê
que o projeto seja executado dentro do prazo e do orçamento,
fazendo então com que o cliente fique satisfeito e a equipe de
desenvolvimento mantenha o foco durante o projeto.
18. Valores do Extreme Programming
A metodologia xp é alicerçada por alguns
valores já citados, são eles:
● Simplicidade;
● Comunicação;
● Feedback;
● Coragem.
19. Práticas do Extreme Programming
A estrutura do xp também é constituida de práticas
que são sustentadas pelos valores. Antes de qualquer
coisa, é necessário ter confiança nestas boas práticas
e consciência de que elas devem ser aplicadas em
conjunto. Quando aplicadas isoladamente, elas não
trazem os mesmos resultados por que os pontos
fracos de cada prática são protegidos pelos pontos
fortes das outras práticas.
21. Ciclo de vida no Extreme Programming
O xp atravessa algumas fases durante seu ciclo
de vida, essas fases são compostas de várias
tarefas que serão executadas. As fases são:
● Exploração;
● Planejamento;
● Iterações para versões;
● Produção;
● Manutenção.
23. Papéis do Extreme Programming
Em XP existem alguns papéis principais:
● Gerênciais:
○ Treinador (Coach);
○ Rastreador (Tracker).
● Equipe xp:
○ Programador;
○ Cliente;
○ Testador;
○ Consultor.
24. Vantagens do Extreme Programming
Essa metodologia apresenta inúmeras vantagens,
dentre elas:
● Ganho de eficiência e eficácia no
desenvolvimento de sistemas;
● Suporte a mudanças contínuas;
● Feedback rápido do cliente;
● Erros encontrados em estágios iniciais;
● Organização das tarefas.
25. Desvantagens do Extreme Programming
Dentre as desvantagens da Extreme Programming
podemos citar:
● Exige uma certa maturidade da organização;
● Existe uma perda de produtividade ao adotar
programação em par;
● Todos os envolvidos no projetos devem conhecer
as técnicas e regras;
● O cliente tem que esta sempre disponível.
26. O Que é Kanban?
● É um termo de origem japonesa e
significa “cartão” ou “sinalização”.
● É um conceito relacionado com a
utilização de cartões para indicar o
fluxos de produção.
● Nesses cartões são colocadas indicações sobre uma
determinada tarefa.
● Foi inicialmente aplicado em empresas japonesas de
fabricação em série (Toyota).
27. Qual a ideia Central do Kanban?
● As atividades em andamento devem ser limitadas.
● O cartão é um sinal visual que indica que uma nova
atividade pode ser iniciada.
● É uma abordagem para introduzir mudanças em um
ciclo de desenvolvimento software.
● Você passa a entender melhor seu processo ao mapear
o fluxo de valor para cada estágio do processo.
28. Como Funciona o Kanban?
● O Kanban usa um mecanismo de controle visual para
acompanhar o trabalho à medida que ele flui através
das várias etapas do fluxo de valor.
● O quadro é dividido em áreas definidas.
● O Kanban possui uma característica Pull System
(Sistema puxado).
● São definidos limites explícitos para quantos itens
podem estar em progresso em cada estado do fluxo de
trabalho.
30. Em que o Kanban Ajuda?
● O Kanban dá transparência ao processo e seu fluxo.
● O Kanban expõe gargalos, filas, variabilidade e
desperdício.
● Incentivam a discussão sobre melhorias.
● Encoraja a evolução incremental de processos
existentes.
● A abordagem de "parar a linha de produção“ parece
encorajar níveis mais elevados de qualidade e uma
queda rápida de retrabalho.
31. Quais os Pontos Fracos do Kanban?
● O limite de atividades (muito alto ou muito baixo).
● A necessidade de concentrar toda a equipe e toda a
empresa na solução do problema para desbloquear o
item e restaurar o fluxo.
38. Caso de uso
Uma empresa de desenvolvimento de jogos
escandinava resolveu utilizar o Scrum na
organização de desenvolvimento aumentando
a possibilidade das equipes entregarem os
softwares.
51. Caso de uso
● Pode levar 2 ou 3 quadros até que um time
encontre um que funcione bem, por isso
flexibilidade é importante no início.
● Kanban ou Scrum não são o objetivo,
aprendizado contínuo é.
● Questione tudo, experimente, falhe, aprenda
e então experimente novamente.