SlideShare uma empresa Scribd logo
1 de 53
Baixar para ler offline
Desenvolvimento Ágil: métricas
de estimação, metodologia
SCRUM + Kanban + Xtreme
Programming (XP)
COMP295 - Gerência de Projetos
Turma: 01 Semestre: 2017-2
Professor: Dr. Rogério Patrício Chagas do Nascimento
Blog: http://edu-gp-ufs20172.blogspot.com.br
Membros: Euder de Jesus Costa
Carlos Alberto
Carlos Gabriel
Igor Costa
1
Sumário
1. Introdução
2. Project Model Canvas
3. XP (Extreme Programming)
4. Scrum
5. Kanban
6. Comparativo entre Scrum, XP e Kanban
7. Casos de uso
2
1. Introdução - Motivação
Como desenvolver software se não for possível especificar requisitos de forma
completa?
Como desenvolver software em ambiente com requisitos com rápidas mudanças?
Como entregar rapidamente ao cliente algo que agregue valor?
3
1. Introdução - Características
⚡ Não há especificação detalhada e a documentação do projeto é minimizada
ou gerada automaticamente.
⚡ Sistema desenvolvido em uma série de incrementos
⚡ Usuários participam da avaliação e especificação de cada incremento.
⚡ Interfaces geradas rapidamente.
⚡ Entrega acelerada das funcionalidades principais e de mais alta prioridade.
4
1. Introdução - Princípios
⚡ Envolvimento do cliente: fornece e prioriza novos requisitos e avalia as
iterações do sistema.
⚡ Entrega incremental: o cliente especifica o que será incluído em cada
incremento.
⚡ Pessoas, não processo: os membros da equipe devem desenvolver sua
própria maneira de trabalhar.
⚡ Aceite as mudanças: os requisitos vão mudar e o projeto deverá
acomodá-los.
⚡ Mantenha a simplicidade: trabalhe ativamente para eliminar a complexidade
do sistema.
5
1. Introdução - Problemas e Dificuldades
⚡ Problema com os Clientes: É difícil fazer com que os clientes participem
ativamente do desenvolvimento.
⚡ Dificuldade com a Equipe: Alguns membros da equipe podem ter dificuldade
(não possuem personalidade) para interagir ativamente.
⚡ Dificuldade de priorização: A priorização pode ser difícil, especialmente
quando existem muitos stakeholders.
⚡ Dificuldade em manter a simplicidade: Manter a simplicidade requer trabalho
extra. Os membros da equipe podem não ter tempo de realizar as
simplificações desejadas.
6
1. Introdução - Problemas e Dificuldades
⚡ Problemas de gerenciamento: dificuldade para gerenciar projetos quase
diferenciam do que a maioria dos gerentes está acostumado. Muitas vezes
pouca documentação é gerada ao longo do processo.
⚡ Problemas de contrato: como criar um contrato que não possui um escopo
fechado?
⚡ Problemas de Validação: torna difícil a validação independente em sistemas
desenvolvidos de forma incremental.
⚡ Problemas de manutenção: alterações contínuas podem comprometer a
estrutura de qualquer sistema. Essencial utilizar refatorações.
7
1. Introdução - Manifesto Ágil
⚡ Encontro de 17 Agilistas – Fevereiro 2001
⚡ Teve como objetivo definir claramente o que era um desenvolvimento ágil.
⚡ Kent Beck (Extreme Programming)
⚡ Ken Schwaber (SCRUM)
⚡ Alistair Cockburn (Crystal)
⚡ www.agilemanifesto.org
8
2. Project Model Canvas
9
10
3. XP (Extreme Programming)
Chrysler Comprehensive
Compensation System (3C) (Sistema
de Compensação Abrangente da
Chrysler) 11
⚡ XP é uma das mais conhecidas metodologia de desenvolvimento de
software.
⚡ Criado em 1996, por Kent Beck e Ward Cunningham. Os princípios e boas
práticas de programação são frutos de um processo de evolução de pelo
menos uma década em que trabalharam na Tektronixs, Inc. como
consultores de problemas em SmallTalk.
⚡ Kent Beck foi contratado na empresa Chrysler para analisar o desempenho
de projeto do C3, de controle da folha de pagamento de aprox. 86 mil
funcionários e o objetivo do projeto era unificar os quatro sistemas de
software legado.
3. XP (Extreme Programming) - Processos
12
3. XP (Extreme Programming) - Valores
13
3. XP (Extreme Programming) - Práticas
⚡ Jogo do Planejamento
⚡ Teste
⚡ Programação em pares
⚡ Projeto Simples
⚡ Refatoração
⚡ Propriedade Coletiva
⚡ Integração Contínua
⚡ Cliente presente
⚡ Semana de 40 horas
⚡ Padrões de Codificação
⚡ Metáfora
⚡ Reunião diária
14
3. Industrial Extreme Programming (IXP)
⚡ Avaliação imediata
⚡ Comunidade de projeto
⚡ Mapeamento do projeto
⚡ Gerenciamento orientado a testes
⚡ Retrospectivas
⚡ Aprendizagem contínua
15
3. XP (Extreme Programming) - Vantagens
⚡ 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.
16
3. XP (Extreme Programming) - Desvantagens
⚡ Exige uma certa maturidade da organização;
⚡ Existe uma perda de produtividade ao adotar programação em par;
⚡ Todos os envolvidos no projeto devem conhecer as técnica e regras;
⚡ O cliente tem que estar sempre disponível.
17
4. Scrum
“O Scrum é um processo dentro do qual as pessoas podem resolver
problemas complexos, ao mesmo tempo que fornecem produtos de forma
mais produtiva e criativa, com maior valor possível.” (Scrum.org, 2017)
18
4. Scrum - sumário
⚡ História
⚡ Pilares do Scrum
⚡ Valores do Scrum
⚡ Papéis do Scrum
⚡ Eventos do Scrum
⚡ Artefatos do Scrum
⚡ Vantagens e desvantagens
19
História
● Ken Schwaber e Jeff Sutherland são
os criadores do framework de
processos Scrum.
● Sua primeira aparição aconteceu na
conferência de OOPSLA em 1995,
onde se tornou pública a primeira
definição formal do Scrum.
Na imagem vemos Ken Schwaber (à esquerda) e
Jeff Sutherland (à direita). (Scrum.org, 2017).
20
De onde surgiu o termo
Scrum?
● O termo Scrum é o nome de uma
jogada do Rugby.
● Esta jogada é geralmente
utilizada no reinício do jogo,
após uma penalização.
● 8 jogadores de cada time
participam desta jogada, que
avançam juntos o máximo
possível para marcar pontos.
21
Pilares do Scrum
22
Valores do Scrum
23
Papéis do Scrum - Scrum Team
⚡ Product Owner
⚡ Scrum Master
⚡ Development Team
24
Papéis do Scrum - Product Owner
⚡ Responsável por maximizar o valor do
produto criado pelo Development Team.
⚡ Mantém claras as definições dos itens
do Product Backlog.
⚡ Define as prioridades das tarefas do
Product Backlog.
⚡ É uma pessoa. Geralmente é quem
contrata o serviço.
25
Papéis do Scrum - Scrum Master
⚡ Responsável por aplicar todos conceitos
do Scrum na organização.
⚡ Garante que as metas sejam
compreendidos por todos.
⚡ Geralmente é a pessoa com muita
experiência.
⚡ O Scrum Master não é um papel
perpétuo. O ideal é que sempre seja
ocupado por uma pessoa diferente.
26
Papéis do Scrum - Development Team
⚡ É a equipe de profissionais que
são responsáveis por criar o
incremento executável do
produto ao fim de cada Sprint.
⚡ São compostas de 3 à 9
membros, sem contar com o
Scrum Master e o Product
Owner.
⚡ Estima o esforço necessário
para entregar uma Sprint.
27
Eventos do Scrum
28
Eventos do Scrum - Sprint Planning
⚡ É a reunião que é feita para
definir uma Sprint.
⚡ É feita uma vez no mês e leva no
máximo 8 horas.
⚡ Deve ser feita depois de definido
o Product Backlog, após a
retrospectiva da Sprint ou antes
do início da Sprint.
Sprint Retrospective
29
Eventos do Scrum - Sprint
⚡ É o intervalo de tempo onde é
construído o incremento do
produto.
⚡ Este evento tem duração de 2 à
4 semanas (um mês).
⚡ Durante este tempo o escopo
pode ser melhor compreendido
e renegociado.
30
Eventos do Scrum - Daily Scrum
⚡ É uma reunião feita com o
Development Team todos os
dias da Sprint.
⚡ Este evento tem duração de 15
min e deve ser feito em pé.
⚡ Não é necessário entrar em
detalhes quando for responder
as perguntas.
31
Eventos do Scrum - Sprint Review
⚡ Ao fim da Sprint, o incremento é
inspecionado e o Product
Backlog é adaptado.
⚡ Este evento tem duração de 4
horas.
⚡ Nele são apresentados os
incrementos para todos os
stakeholders.
32
Eventos do Scrum - Sprint Retrospective
⚡ Neste evento o time Scrum faz
um balanço da Sprint finalizada.
⚡ Este evento tem duração de
3 horas.
⚡ O Time Scrum busca então
melhorar o seu processo através
dos pontos fortes e fracos
explorados.
33
Artefatos do Scrum
⚡ Product Backlog
⚡ Sprint Backlog
⚡ Increment
34
Vantagens e desvantagens
Vantagens Desvantagens
Maior agilidade na entrega de incrementos de
software.
Dificuldade para gerenciar equipes grandes
(mais de 9 membros).
Funcionalidades que agregam valor são
priorizadas.
Requer experiências anteriores para melhor
prevenir os riscos do projeto.
Maior motivação dos desenvolvedores. Não especifica Técnicas e Práticas.
35
36
Origem
⚡ Foi criado no Japão por Taiichi Ohno, engenheiro chefe da Toyota.
⚡ Final de 1940, a Toyota começou a estudar supermercados com a ideia de
aplicar técnicas de “prateleira” nos processos da fábrica.
⚡ Os funcionários apenas reabasteciam as prateleiras quando o produto estava
perto de se esgotar.
37
Conceito
⚡ Kanban é uma palavra japonesa e seu significado literal é “cartão” ou
“sinalização”.
⚡ Está relacionado com o conceito de Pull Systems (sistemas de produção
puxados).
○ Cada operação do processo é alimentada pela demanda da etapa anterior.
○ os clientes obtém somente a quantidade necessária do produto que desejam e no momento
necessário
⚡ O sistema Kanban é uma das variantes mais conhecidas do Just in Time.
38
Sistema Kanban
⚡ O kanban possui um painel.
⚡ As tarefas são representadas como cartões.
⚡ Uso de colunas que representam os estágios do desenvolvimento.
⚡ Conforme as tarefas seguem este fluxo, elas vão sendo deslocadas para a
coluna seguinte.
39
⚡ O sistema pode ser facilmente ajustável às necessidades da
usuário/empresa.
40
⚡ Trello e Quadro Branco
41
Kanban e Desenvolvimento de Software
⚡ Empresa Corbis (fundada por Bill Gates) foi a primeira empresa a utilizar o
Kanban.
⚡ Para o desenvolvimento de software, o uso mais comum é um Sistema
Kanban digital
42
Passo a Passo
⚡ Definir a Equipe e os Papéis de cada membro
⚡ Identificar as fases do trabalho
⚡ Priorizar as tarefas
43
⚡ Definir a Equipe e os Papéis de cada membro
44
⚡ Identificar as fases do trabalho
45
⚡ Priorizar tarefas
46
Práticas Fundamentais
⚡ Visualizar o fluxo de trabalho (workflow)
⚡ Limitar a quantidade de trabalho em andamento (WIP)
⚡ Gerenciar e medir o fluxo através do lead time
⚡ Tornar as políticas do processo explícitas
⚡ Implementar loops de feedback
⚡ Usar modelos para reconhecer oportunidades de melhoria
47
Vantagens e Desvantagens
⚡ Requer menos organização;
⚡ O processo é simplificado;
⚡ Maior visibilidade dos projetos;
⚡ Melhor gestão nas mudanças de
prioridade;
⚡ Flexibilidade de planejamento;
⚡ Tempos de ciclo reduzidos.
⚡ Demanda instável ou pedido
emergencial impacte em todo
processo;
48
6. Comparativo entre Scrum, XP e Kanban
Scrum XP Kanban
Reuniões Diárias X X
Planejamento
Interativo
X X X
Quadro de Tarefas X X
Templo de Ciclo X X
Teste Unitário x
Participação do
Cliente
x x
49
7. Casos de uso de metodologias Ágeis
50
Conclusão
⚡ As metodologias ágeis estão presentes a muito tempo nos projetos de
softwares, mesmo assim ainda são mal empregados por falta de
conhecimento e disciplina para a sua aplicação e gerenciamento.
⚡ As metodologias Ágeis vieram para tornar possível a execução de projetos de
software em ambientes dinâmicos, instáveis e mantendo um alto nível de
qualidade e valor do produto.
51
Referências
⚡ http://www.fabiocruz.com.br/valores-scrum/, acessado em 08/01/2018.
⚡ Ken Schwaber and Jeff Sutherland, The Scrum Guide, 2017, Creative
Commons.
⚡ https://www.scrum.org/, acessado em 27/12/2017
⚡ PRESSMAN, Roger S. Engenharia de Software, Oitava Edição. Editora
MCGrawHill: Porto Alegre, 2016.
⚡ http://www.desenvolvimentoagil.com.br/xp/, acessado em 18/12/2017
⚡ https://www.devmedia.com.br/introducao-ao-extreme-programming-xp/2924
9 , acessado em 05/12/2018
⚡ https://hiperbytes.com.br/xp/ , acessado em 07/01/2018
52
Referências
⚡ http://www.redspark.io/metodologias-parte-2-xp-extreme-programming/ ,
acessado em 01/12/2017
⚡ https://www.culturaagil.com.br/kanban-do-inicio-ao-fim/. Acessado em
07/01/2018.
⚡ https://www.projectbuilder.com.br/blog/e-possivel-usar-um-kanban-para-ger
enciar-projetos/. Acessado em 08/01/2018.
53

Mais conteúdo relacionado

Mais procurados

Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...Thiago Compan
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutosSerge Rehem
 
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelScrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelManoel Pimentel Medeiros
 
Palestra sobre metodologia Scrum
Palestra sobre metodologia ScrumPalestra sobre metodologia Scrum
Palestra sobre metodologia ScrumPersonal
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
Uma introdução ao Scrum
Uma introdução ao ScrumUma introdução ao Scrum
Uma introdução ao ScrumEvandro Agnes
 
Scrum - Gestão Ágil de Projetos de Software
Scrum - Gestão Ágil de Projetos de SoftwareScrum - Gestão Ágil de Projetos de Software
Scrum - Gestão Ágil de Projetos de SoftwareLucas Gonçalves Nadalete
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumMarcos Garrido
 
O Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do ScrumO Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do ScrumScrumHalf Tool
 

Mais procurados (19)

Minicurso SCRUM
Minicurso SCRUMMinicurso SCRUM
Minicurso SCRUM
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
 
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
Resumo do livro SCRUM a arte de fazer o dobro do trabalho na metade do tempo ...
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelScrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
 
Palestra sobre metodologia Scrum
Palestra sobre metodologia ScrumPalestra sobre metodologia Scrum
Palestra sobre metodologia Scrum
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Kanban
KanbanKanban
Kanban
 
Kanban em 10 passos
Kanban em 10 passosKanban em 10 passos
Kanban em 10 passos
 
Kanban pragmático
Kanban pragmáticoKanban pragmático
Kanban pragmático
 
Aula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xpAula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xp
 
Metodologia SCRUM
Metodologia SCRUMMetodologia SCRUM
Metodologia SCRUM
 
Uma introdução ao Scrum
Uma introdução ao ScrumUma introdução ao Scrum
Uma introdução ao Scrum
 
Scrum - Gestão Ágil de Projetos de Software
Scrum - Gestão Ágil de Projetos de SoftwareScrum - Gestão Ágil de Projetos de Software
Scrum - Gestão Ágil de Projetos de Software
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
 
Um guia definitivo para o Scrum em Português
Um guia definitivo para o Scrum em PortuguêsUm guia definitivo para o Scrum em Português
Um guia definitivo para o Scrum em Português
 
Scrum
ScrumScrum
Scrum
 
O Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do ScrumO Time Scrum e suas responsabilidades - Papéis do Scrum
O Time Scrum e suas responsabilidades - Papéis do Scrum
 
Agile SCRUM
Agile SCRUMAgile SCRUM
Agile SCRUM
 

Semelhante a Apresentação Metodologias Ágeis de desenvolvimento

Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)Bruno Camara
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaVítor Bruno de Almeida
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Slides da Aula de Gestão de Projetos Digitais
Slides da Aula de Gestão de Projetos DigitaisSlides da Aula de Gestão de Projetos Digitais
Slides da Aula de Gestão de Projetos DigitaisMárcio Oya
 
Ferramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com ScrumFerramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com ScrumThiago Barros, PSM
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumInove
 
Aula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdfAula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdfDaniloPereira341965
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareJerônimo Medina Madruga
 

Semelhante a Apresentação Metodologias Ágeis de desenvolvimento (20)

Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
O que é SCRUM
O que é SCRUMO que é SCRUM
O que é SCRUM
 
Scrum agil
Scrum agilScrum agil
Scrum agil
 
Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)
 
Método Ágil Scrum
Método Ágil ScrumMétodo Ágil Scrum
Método Ágil Scrum
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Scrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-diaScrum: entendendo o framework e aplicando no dia-a-dia
Scrum: entendendo o framework e aplicando no dia-a-dia
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Slides da Aula de Gestão de Projetos Digitais
Slides da Aula de Gestão de Projetos DigitaisSlides da Aula de Gestão de Projetos Digitais
Slides da Aula de Gestão de Projetos Digitais
 
Scrum
ScrumScrum
Scrum
 
Scrum workshop
Scrum   workshopScrum   workshop
Scrum workshop
 
Ferramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com ScrumFerramentas Livres para a Gestão de Projetos Ágeis com Scrum
Ferramentas Livres para a Gestão de Projetos Ágeis com Scrum
 
Scrum
ScrumScrum
Scrum
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com Scrum
 
Aula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdfAula 03 - Metodologias Ágeis.pdf
Aula 03 - Metodologias Ágeis.pdf
 
Métodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de softwareMétodos ágeis de desenvolvimento de software
Métodos ágeis de desenvolvimento de software
 
Agile
AgileAgile
Agile
 

Apresentação Metodologias Ágeis de desenvolvimento

  • 1. Desenvolvimento Ágil: métricas de estimação, metodologia SCRUM + Kanban + Xtreme Programming (XP) COMP295 - Gerência de Projetos Turma: 01 Semestre: 2017-2 Professor: Dr. Rogério Patrício Chagas do Nascimento Blog: http://edu-gp-ufs20172.blogspot.com.br Membros: Euder de Jesus Costa Carlos Alberto Carlos Gabriel Igor Costa 1
  • 2. Sumário 1. Introdução 2. Project Model Canvas 3. XP (Extreme Programming) 4. Scrum 5. Kanban 6. Comparativo entre Scrum, XP e Kanban 7. Casos de uso 2
  • 3. 1. Introdução - Motivação Como desenvolver software se não for possível especificar requisitos de forma completa? Como desenvolver software em ambiente com requisitos com rápidas mudanças? Como entregar rapidamente ao cliente algo que agregue valor? 3
  • 4. 1. Introdução - Características ⚡ Não há especificação detalhada e a documentação do projeto é minimizada ou gerada automaticamente. ⚡ Sistema desenvolvido em uma série de incrementos ⚡ Usuários participam da avaliação e especificação de cada incremento. ⚡ Interfaces geradas rapidamente. ⚡ Entrega acelerada das funcionalidades principais e de mais alta prioridade. 4
  • 5. 1. Introdução - Princípios ⚡ Envolvimento do cliente: fornece e prioriza novos requisitos e avalia as iterações do sistema. ⚡ Entrega incremental: o cliente especifica o que será incluído em cada incremento. ⚡ Pessoas, não processo: os membros da equipe devem desenvolver sua própria maneira de trabalhar. ⚡ Aceite as mudanças: os requisitos vão mudar e o projeto deverá acomodá-los. ⚡ Mantenha a simplicidade: trabalhe ativamente para eliminar a complexidade do sistema. 5
  • 6. 1. Introdução - Problemas e Dificuldades ⚡ Problema com os Clientes: É difícil fazer com que os clientes participem ativamente do desenvolvimento. ⚡ Dificuldade com a Equipe: Alguns membros da equipe podem ter dificuldade (não possuem personalidade) para interagir ativamente. ⚡ Dificuldade de priorização: A priorização pode ser difícil, especialmente quando existem muitos stakeholders. ⚡ Dificuldade em manter a simplicidade: Manter a simplicidade requer trabalho extra. Os membros da equipe podem não ter tempo de realizar as simplificações desejadas. 6
  • 7. 1. Introdução - Problemas e Dificuldades ⚡ Problemas de gerenciamento: dificuldade para gerenciar projetos quase diferenciam do que a maioria dos gerentes está acostumado. Muitas vezes pouca documentação é gerada ao longo do processo. ⚡ Problemas de contrato: como criar um contrato que não possui um escopo fechado? ⚡ Problemas de Validação: torna difícil a validação independente em sistemas desenvolvidos de forma incremental. ⚡ Problemas de manutenção: alterações contínuas podem comprometer a estrutura de qualquer sistema. Essencial utilizar refatorações. 7
  • 8. 1. Introdução - Manifesto Ágil ⚡ Encontro de 17 Agilistas – Fevereiro 2001 ⚡ Teve como objetivo definir claramente o que era um desenvolvimento ágil. ⚡ Kent Beck (Extreme Programming) ⚡ Ken Schwaber (SCRUM) ⚡ Alistair Cockburn (Crystal) ⚡ www.agilemanifesto.org 8
  • 9. 2. Project Model Canvas 9
  • 10. 10
  • 11. 3. XP (Extreme Programming) Chrysler Comprehensive Compensation System (3C) (Sistema de Compensação Abrangente da Chrysler) 11 ⚡ XP é uma das mais conhecidas metodologia de desenvolvimento de software. ⚡ Criado em 1996, por Kent Beck e Ward Cunningham. Os princípios e boas práticas de programação são frutos de um processo de evolução de pelo menos uma década em que trabalharam na Tektronixs, Inc. como consultores de problemas em SmallTalk. ⚡ Kent Beck foi contratado na empresa Chrysler para analisar o desempenho de projeto do C3, de controle da folha de pagamento de aprox. 86 mil funcionários e o objetivo do projeto era unificar os quatro sistemas de software legado.
  • 12. 3. XP (Extreme Programming) - Processos 12
  • 13. 3. XP (Extreme Programming) - Valores 13
  • 14. 3. XP (Extreme Programming) - Práticas ⚡ Jogo do Planejamento ⚡ Teste ⚡ Programação em pares ⚡ Projeto Simples ⚡ Refatoração ⚡ Propriedade Coletiva ⚡ Integração Contínua ⚡ Cliente presente ⚡ Semana de 40 horas ⚡ Padrões de Codificação ⚡ Metáfora ⚡ Reunião diária 14
  • 15. 3. Industrial Extreme Programming (IXP) ⚡ Avaliação imediata ⚡ Comunidade de projeto ⚡ Mapeamento do projeto ⚡ Gerenciamento orientado a testes ⚡ Retrospectivas ⚡ Aprendizagem contínua 15
  • 16. 3. XP (Extreme Programming) - Vantagens ⚡ 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. 16
  • 17. 3. XP (Extreme Programming) - Desvantagens ⚡ Exige uma certa maturidade da organização; ⚡ Existe uma perda de produtividade ao adotar programação em par; ⚡ Todos os envolvidos no projeto devem conhecer as técnica e regras; ⚡ O cliente tem que estar sempre disponível. 17
  • 18. 4. Scrum “O Scrum é um processo dentro do qual as pessoas podem resolver problemas complexos, ao mesmo tempo que fornecem produtos de forma mais produtiva e criativa, com maior valor possível.” (Scrum.org, 2017) 18
  • 19. 4. Scrum - sumário ⚡ História ⚡ Pilares do Scrum ⚡ Valores do Scrum ⚡ Papéis do Scrum ⚡ Eventos do Scrum ⚡ Artefatos do Scrum ⚡ Vantagens e desvantagens 19
  • 20. História ● Ken Schwaber e Jeff Sutherland são os criadores do framework de processos Scrum. ● Sua primeira aparição aconteceu na conferência de OOPSLA em 1995, onde se tornou pública a primeira definição formal do Scrum. Na imagem vemos Ken Schwaber (à esquerda) e Jeff Sutherland (à direita). (Scrum.org, 2017). 20
  • 21. De onde surgiu o termo Scrum? ● O termo Scrum é o nome de uma jogada do Rugby. ● Esta jogada é geralmente utilizada no reinício do jogo, após uma penalização. ● 8 jogadores de cada time participam desta jogada, que avançam juntos o máximo possível para marcar pontos. 21
  • 24. Papéis do Scrum - Scrum Team ⚡ Product Owner ⚡ Scrum Master ⚡ Development Team 24
  • 25. Papéis do Scrum - Product Owner ⚡ Responsável por maximizar o valor do produto criado pelo Development Team. ⚡ Mantém claras as definições dos itens do Product Backlog. ⚡ Define as prioridades das tarefas do Product Backlog. ⚡ É uma pessoa. Geralmente é quem contrata o serviço. 25
  • 26. Papéis do Scrum - Scrum Master ⚡ Responsável por aplicar todos conceitos do Scrum na organização. ⚡ Garante que as metas sejam compreendidos por todos. ⚡ Geralmente é a pessoa com muita experiência. ⚡ O Scrum Master não é um papel perpétuo. O ideal é que sempre seja ocupado por uma pessoa diferente. 26
  • 27. Papéis do Scrum - Development Team ⚡ É a equipe de profissionais que são responsáveis por criar o incremento executável do produto ao fim de cada Sprint. ⚡ São compostas de 3 à 9 membros, sem contar com o Scrum Master e o Product Owner. ⚡ Estima o esforço necessário para entregar uma Sprint. 27
  • 29. Eventos do Scrum - Sprint Planning ⚡ É a reunião que é feita para definir uma Sprint. ⚡ É feita uma vez no mês e leva no máximo 8 horas. ⚡ Deve ser feita depois de definido o Product Backlog, após a retrospectiva da Sprint ou antes do início da Sprint. Sprint Retrospective 29
  • 30. Eventos do Scrum - Sprint ⚡ É o intervalo de tempo onde é construído o incremento do produto. ⚡ Este evento tem duração de 2 à 4 semanas (um mês). ⚡ Durante este tempo o escopo pode ser melhor compreendido e renegociado. 30
  • 31. Eventos do Scrum - Daily Scrum ⚡ É uma reunião feita com o Development Team todos os dias da Sprint. ⚡ Este evento tem duração de 15 min e deve ser feito em pé. ⚡ Não é necessário entrar em detalhes quando for responder as perguntas. 31
  • 32. Eventos do Scrum - Sprint Review ⚡ Ao fim da Sprint, o incremento é inspecionado e o Product Backlog é adaptado. ⚡ Este evento tem duração de 4 horas. ⚡ Nele são apresentados os incrementos para todos os stakeholders. 32
  • 33. Eventos do Scrum - Sprint Retrospective ⚡ Neste evento o time Scrum faz um balanço da Sprint finalizada. ⚡ Este evento tem duração de 3 horas. ⚡ O Time Scrum busca então melhorar o seu processo através dos pontos fortes e fracos explorados. 33
  • 34. Artefatos do Scrum ⚡ Product Backlog ⚡ Sprint Backlog ⚡ Increment 34
  • 35. Vantagens e desvantagens Vantagens Desvantagens Maior agilidade na entrega de incrementos de software. Dificuldade para gerenciar equipes grandes (mais de 9 membros). Funcionalidades que agregam valor são priorizadas. Requer experiências anteriores para melhor prevenir os riscos do projeto. Maior motivação dos desenvolvedores. Não especifica Técnicas e Práticas. 35
  • 36. 36
  • 37. Origem ⚡ Foi criado no Japão por Taiichi Ohno, engenheiro chefe da Toyota. ⚡ Final de 1940, a Toyota começou a estudar supermercados com a ideia de aplicar técnicas de “prateleira” nos processos da fábrica. ⚡ Os funcionários apenas reabasteciam as prateleiras quando o produto estava perto de se esgotar. 37
  • 38. Conceito ⚡ Kanban é uma palavra japonesa e seu significado literal é “cartão” ou “sinalização”. ⚡ Está relacionado com o conceito de Pull Systems (sistemas de produção puxados). ○ Cada operação do processo é alimentada pela demanda da etapa anterior. ○ os clientes obtém somente a quantidade necessária do produto que desejam e no momento necessário ⚡ O sistema Kanban é uma das variantes mais conhecidas do Just in Time. 38
  • 39. Sistema Kanban ⚡ O kanban possui um painel. ⚡ As tarefas são representadas como cartões. ⚡ Uso de colunas que representam os estágios do desenvolvimento. ⚡ Conforme as tarefas seguem este fluxo, elas vão sendo deslocadas para a coluna seguinte. 39
  • 40. ⚡ O sistema pode ser facilmente ajustável às necessidades da usuário/empresa. 40
  • 41. ⚡ Trello e Quadro Branco 41
  • 42. Kanban e Desenvolvimento de Software ⚡ Empresa Corbis (fundada por Bill Gates) foi a primeira empresa a utilizar o Kanban. ⚡ Para o desenvolvimento de software, o uso mais comum é um Sistema Kanban digital 42
  • 43. Passo a Passo ⚡ Definir a Equipe e os Papéis de cada membro ⚡ Identificar as fases do trabalho ⚡ Priorizar as tarefas 43
  • 44. ⚡ Definir a Equipe e os Papéis de cada membro 44
  • 45. ⚡ Identificar as fases do trabalho 45
  • 47. Práticas Fundamentais ⚡ Visualizar o fluxo de trabalho (workflow) ⚡ Limitar a quantidade de trabalho em andamento (WIP) ⚡ Gerenciar e medir o fluxo através do lead time ⚡ Tornar as políticas do processo explícitas ⚡ Implementar loops de feedback ⚡ Usar modelos para reconhecer oportunidades de melhoria 47
  • 48. Vantagens e Desvantagens ⚡ Requer menos organização; ⚡ O processo é simplificado; ⚡ Maior visibilidade dos projetos; ⚡ Melhor gestão nas mudanças de prioridade; ⚡ Flexibilidade de planejamento; ⚡ Tempos de ciclo reduzidos. ⚡ Demanda instável ou pedido emergencial impacte em todo processo; 48
  • 49. 6. Comparativo entre Scrum, XP e Kanban Scrum XP Kanban Reuniões Diárias X X Planejamento Interativo X X X Quadro de Tarefas X X Templo de Ciclo X X Teste Unitário x Participação do Cliente x x 49
  • 50. 7. Casos de uso de metodologias Ágeis 50
  • 51. Conclusão ⚡ As metodologias ágeis estão presentes a muito tempo nos projetos de softwares, mesmo assim ainda são mal empregados por falta de conhecimento e disciplina para a sua aplicação e gerenciamento. ⚡ As metodologias Ágeis vieram para tornar possível a execução de projetos de software em ambientes dinâmicos, instáveis e mantendo um alto nível de qualidade e valor do produto. 51
  • 52. Referências ⚡ http://www.fabiocruz.com.br/valores-scrum/, acessado em 08/01/2018. ⚡ Ken Schwaber and Jeff Sutherland, The Scrum Guide, 2017, Creative Commons. ⚡ https://www.scrum.org/, acessado em 27/12/2017 ⚡ PRESSMAN, Roger S. Engenharia de Software, Oitava Edição. Editora MCGrawHill: Porto Alegre, 2016. ⚡ http://www.desenvolvimentoagil.com.br/xp/, acessado em 18/12/2017 ⚡ https://www.devmedia.com.br/introducao-ao-extreme-programming-xp/2924 9 , acessado em 05/12/2018 ⚡ https://hiperbytes.com.br/xp/ , acessado em 07/01/2018 52
  • 53. Referências ⚡ http://www.redspark.io/metodologias-parte-2-xp-extreme-programming/ , acessado em 01/12/2017 ⚡ https://www.culturaagil.com.br/kanban-do-inicio-ao-fim/. Acessado em 07/01/2018. ⚡ https://www.projectbuilder.com.br/blog/e-possivel-usar-um-kanban-para-ger enciar-projetos/. Acessado em 08/01/2018. 53