SlideShare uma empresa Scribd logo
1 de 73
Metodologias de
Desenvolvimento
Um projeto de software é
considerado um sucesso.
Um projeto de software é
considerado um sucesso.
Quando...
Resolve o problema
Um projeto de software é
considerado um sucesso.
Quando...
Resolve o problema
É facil de manter e evoluir
Um projeto de software é
considerado um sucesso.
Quando...
Resolve o problema
É facil de manter e evoluir
Menor custo e prazo possível
Um projeto de software é
considerado um sucesso.
Quando...
Metodologias de
desenvolvimento
Waterfall
Baseado no paper publicado por Winston
Royce em 1970
Waterfall
Baseado no paper publicado por Winston
Royce em 1970
Waterfall
Que foi mal
interpretado!!!
Waterfall
Defeituoso
Waterfall
X Defeituoso
ARRISCADO
&
CONVITE A FALHAS
Waterfall
Waterfall
Waterfall
Waterfall
Waterfall
Waterfall
Até hoje!!!
Waterfall
Até hoje!!!
Waterfall
Abordagem clássica e linear
Uma fase de cada vez
Requisitos bem definidos / Big design up front
Cada fase do desenvolvimento é documentada
Características
Waterfall
Gerenciamento e controle
Prioridades
Waterfall
Controle e documentação
5 fases rígidas formam o processo
O usuário se envolve apenas no início
Princípios
Waterfall
Progresso
Relatórios e gráficos
Agile
Definido em 1974 por Edmons
Agile
Definido em 1974 por Edmons
Agile
Evoluído em 1990
Agile
Evoluído em 1990
Definido em 1974 por Edmons
Agile
Evoluído em 1990
Definido em 1974 por Edmons
Manifesto ágil em 2001
Manifesto ágil
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Software em funcionamento mais que documentação abrangente;
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Software em funcionamento mais que documentação abrangente;
 Colaboração com o cliente mais que negociação de contratos;
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Manifesto ágil
Indivíduos e interações entre eles 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.
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Manifesto ágil
Indivíduos e interações entre eles 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.
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Ou seja, mesmo havendo valor nos itens à direita,
valorizamos mais os itens à esquerda
Agile
Nasa
Microsoft
Yahoo
Google
IBM
Siemens
Nokia
BBC
Salesforce.com
Utilizado por
Globo.com
Petrobras
Buscapé
OI
Embraer
SERPRO
Chemtech
DTM
Etc.
Agile
Envolvimento do usuário a cada iteração
Permite novas ideias
Entregas contínuas
Características
Agile
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Atenção contínua à excelência técnica, permitindo aumentar a agilidade
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Atenção contínua à excelência técnica, permitindo aumentar a agilidade
Comunicação
Princípios
Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Atenção contínua à excelência técnica, permitindo aumentar a agilidade
Comunicação
Melhoria contínua
Princípios
Agile
Progresso
Software funcionando é a
principal forma de medir o
progresso
http://youtu.be/PHS-ycbRwqI
Diferenças
Diferenças
Diferenças
Waterfall Agile
Envolvimento do
usuário
Apenas no início do
processo
A cada iteração
Atitude perante
mudanças
Não permite A cada iteração
Requisitos Bem definidos
Definidos ao longo do
processo
Risco
Alto custo de
mudança
Não causam grande
impacto
Diferenças
Waterfall Agile
Envolvimento do
usuário
Apenas no início do
processo
A cada iteração
Atitude perante
mudanças
Não permite A cada iteração
Requisitos Bem definidos
Definidos ao longo do
processo
Risco
Alto custo de
mudança
Não causam grande
impacto
Diferenças
Waterfall Agile
Envolvimento do
usuário
Apenas no início do
processo
A cada iteração
Atitude perante
mudanças
Não permite A cada iteração
Requisitos Bem definidos
Definidos ao longo do
processo
Risco
Alto custo de
mudança
Não causam grande
impacto
Conclusão
Waterfall define requisitos detalhados. Com alto custo de
mudança. É utilizado em projetos de baixa incerteza.
Conclusão
Waterfall define requisitos detalhados. Com alto custo de
mudança. É utilizado em projetos de baixa incerteza.
Conclusão
Agile define requisitos a cada iteração permitindo
mudanças. Valoriza a comunicação. Utilizado em projetos de
alta incerteza.
Nossa experiência diz
Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Requisitos mundam!
Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Requisitos mundam!
Papel e diagramas aceitam qualquer coisa!
Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Requisitos mundam!
Papel e diagramas aceitam qualquer coisa!
Software funcionando é o melhor artefato para levantar
requisitos!
Nossa experiência diz
Nossa experiência diz
Codificação é a atividade que deve ser
valorizada no desenvolvimento de software
Nossa experiência diz
Codificação é a atividade que deve ser
valorizada no desenvolvimento de software
Afinal, o código é o elemento mais próximo do
que queremos de fato
Nossa experiência diz
Codificação é a atividade que deve ser
valorizada no desenvolvimento de software
Afinal, o código é o elemento mais próximo do
que queremos de fato
Solucionar problemas de negócio!
O código deve ter forma
O código deve ter forma
O código documenta o projeto!
O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
TDD (test driven development) - Testes, teste e mais testes!
O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
TDD (test driven development) - Testes, teste e mais testes!
Fazer mais com menos código (frameworks e abstrações fortes)
O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
TDD (test driven development) - Testes, teste e mais testes!
Fazer mais com menos código (frameworks e abstrações fortes)
Isso garante a manutenção do projeto

Mais conteúdo relacionado

Mais procurados

Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de ScrumLuiz Duarte
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Gerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoGerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoPaulo Junior
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresAragon Vieira
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 
Principais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de RequisitosPrincipais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de RequisitosNorton Guimarães
 
Gestão da qualidade em projetos
Gestão da qualidade em projetosGestão da qualidade em projetos
Gestão da qualidade em projetosGerisval Pessoa
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Annelise Gripp
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução Elaine Cecília Gatto
 

Mais procurados (20)

Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Treinamento de Scrum
Treinamento de ScrumTreinamento de Scrum
Treinamento de Scrum
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)
 
Gerenciamento de projetos - Iniciação
Gerenciamento de projetos - IniciaçãoGerenciamento de projetos - Iniciação
Gerenciamento de projetos - Iniciação
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
Principais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de RequisitosPrincipais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de Requisitos
 
Gestão da qualidade em projetos
Gestão da qualidade em projetosGestão da qualidade em projetos
Gestão da qualidade em projetos
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 

Semelhante a Metodologias de desenvolvimento - Waterfall vs Agile

Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o focoewerttonbravo
 
Palestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROPalestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROWildtech
 
Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Lourenco P Soares
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPWildtech
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XPWildtech
 
Lean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de softwareLean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de softwareTiago França
 
Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Clavius Tales
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCWildtech
 
Revolucao Agile - UFSCar
Revolucao Agile - UFSCarRevolucao Agile - UFSCar
Revolucao Agile - UFSCarLuiz Ribeiro
 
Métodos Agéis e como podem ser usados em projetos de BPM. Agile BPM
Métodos Agéis e como podem ser usados em projetos de BPM.  Agile BPMMétodos Agéis e como podem ser usados em projetos de BPM.  Agile BPM
Métodos Agéis e como podem ser usados em projetos de BPM. Agile BPMLecom Tecnologia
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeisComunidade Tá safo!
 
Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)
Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)
Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)Leonardo Dias Nascimento
 
Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...Fábio Aguiar
 
Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos Vandre Ramos, MSc, MBA, CSM
 

Semelhante a Metodologias de desenvolvimento - Waterfall vs Agile (20)

Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Lightning talk Métodos Ágeis
Lightning talk Métodos ÁgeisLightning talk Métodos Ágeis
Lightning talk Métodos Ágeis
 
Agile, mudando o foco
Agile, mudando o focoAgile, mudando o foco
Agile, mudando o foco
 
Palestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPROPalestra Métodos Ágeis SERPRO
Palestra Métodos Ágeis SERPRO
 
Apresentação Mundo Ideal 2015
Apresentação Mundo Ideal 2015Apresentação Mundo Ideal 2015
Apresentação Mundo Ideal 2015
 
Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XP
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
 
Lean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de softwareLean Thinking e Agile para desenvolvimento de software
Lean Thinking e Agile para desenvolvimento de software
 
DevOps é SIM uma questão de QA
DevOps é SIM uma questão de QADevOps é SIM uma questão de QA
DevOps é SIM uma questão de QA
 
Princípios Ágeis
Princípios ÁgeisPrincípios Ágeis
Princípios Ágeis
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009Governança Ágil - Ágiles 2009
Governança Ágil - Ágiles 2009
 
Oficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESCOficina Métodos Ágeis UDESC
Oficina Métodos Ágeis UDESC
 
Revolucao Agile - UFSCar
Revolucao Agile - UFSCarRevolucao Agile - UFSCar
Revolucao Agile - UFSCar
 
Métodos Agéis e como podem ser usados em projetos de BPM. Agile BPM
Métodos Agéis e como podem ser usados em projetos de BPM.  Agile BPMMétodos Agéis e como podem ser usados em projetos de BPM.  Agile BPM
Métodos Agéis e como podem ser usados em projetos de BPM. Agile BPM
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeis
 
Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)
Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)
Fiveday - Falando de Scrum (conceitos e práticas utilizando métodos Ágeis)
 
Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...
 
Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos Como o Departamento de Defesa avalia agilidade em seus projetos
Como o Departamento de Defesa avalia agilidade em seus projetos
 

Último

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Último (9)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Metodologias de desenvolvimento - Waterfall vs Agile

  • 2. Um projeto de software é considerado um sucesso.
  • 3. Um projeto de software é considerado um sucesso. Quando...
  • 4. Resolve o problema Um projeto de software é considerado um sucesso. Quando...
  • 5. Resolve o problema É facil de manter e evoluir Um projeto de software é considerado um sucesso. Quando...
  • 6. Resolve o problema É facil de manter e evoluir Menor custo e prazo possível Um projeto de software é considerado um sucesso. Quando...
  • 8.
  • 10. Baseado no paper publicado por Winston Royce em 1970 Waterfall
  • 11. Baseado no paper publicado por Winston Royce em 1970 Waterfall Que foi mal interpretado!!!
  • 21. Waterfall Abordagem clássica e linear Uma fase de cada vez Requisitos bem definidos / Big design up front Cada fase do desenvolvimento é documentada Características
  • 23. Waterfall Controle e documentação 5 fases rígidas formam o processo O usuário se envolve apenas no início Princípios
  • 25.
  • 26. Agile
  • 27. Definido em 1974 por Edmons Agile
  • 28. Definido em 1974 por Edmons Agile Evoluído em 1990
  • 29. Agile Evoluído em 1990 Definido em 1974 por Edmons
  • 30. Agile Evoluído em 1990 Definido em 1974 por Edmons Manifesto ágil em 2001
  • 31. Manifesto ágil Agile Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
  • 32. Manifesto ágil Indivíduos e interações entre eles mais que processos e ferramentas; Agile Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
  • 33. Manifesto ágil Indivíduos e interações entre eles mais que processos e ferramentas; Software em funcionamento mais que documentação abrangente; Agile Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
  • 34. Manifesto ágil Indivíduos e interações entre eles mais que processos e ferramentas; Software em funcionamento mais que documentação abrangente;  Colaboração com o cliente mais que negociação de contratos; Agile Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
  • 35. Manifesto ágil Indivíduos e interações entre eles 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. Agile Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
  • 36. Manifesto ágil Indivíduos e interações entre eles 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. Agile Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda
  • 38. Agile Envolvimento do usuário a cada iteração Permite novas ideias Entregas contínuas Características
  • 40. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Princípios
  • 41. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Princípios
  • 42. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Trabalho em equipe Princípios
  • 43. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Trabalho em equipe A melhor forma de transmitir informação é cara a cara Princípios
  • 44. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Trabalho em equipe A melhor forma de transmitir informação é cara a cara As melhores arquiteturas, requisitos e projetos emergem de equipes auto- organizadas Princípios
  • 45. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Trabalho em equipe A melhor forma de transmitir informação é cara a cara As melhores arquiteturas, requisitos e projetos emergem de equipes auto- organizadas Atenção contínua à excelência técnica, permitindo aumentar a agilidade Princípios
  • 46. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Trabalho em equipe A melhor forma de transmitir informação é cara a cara As melhores arquiteturas, requisitos e projetos emergem de equipes auto- organizadas Atenção contínua à excelência técnica, permitindo aumentar a agilidade Comunicação Princípios
  • 47. Agile Satisfação do usuário com entregas rápidas e contínuas que gerem valor Aceitação de mudanças de requisitos, pois aumentam a vantagem competitiva Trabalho em equipe A melhor forma de transmitir informação é cara a cara As melhores arquiteturas, requisitos e projetos emergem de equipes auto- organizadas Atenção contínua à excelência técnica, permitindo aumentar a agilidade Comunicação Melhoria contínua Princípios
  • 48. Agile Progresso Software funcionando é a principal forma de medir o progresso
  • 52. Diferenças Waterfall Agile Envolvimento do usuário Apenas no início do processo A cada iteração Atitude perante mudanças Não permite A cada iteração Requisitos Bem definidos Definidos ao longo do processo Risco Alto custo de mudança Não causam grande impacto
  • 53. Diferenças Waterfall Agile Envolvimento do usuário Apenas no início do processo A cada iteração Atitude perante mudanças Não permite A cada iteração Requisitos Bem definidos Definidos ao longo do processo Risco Alto custo de mudança Não causam grande impacto
  • 54. Diferenças Waterfall Agile Envolvimento do usuário Apenas no início do processo A cada iteração Atitude perante mudanças Não permite A cada iteração Requisitos Bem definidos Definidos ao longo do processo Risco Alto custo de mudança Não causam grande impacto
  • 56. Waterfall define requisitos detalhados. Com alto custo de mudança. É utilizado em projetos de baixa incerteza. Conclusão
  • 57. Waterfall define requisitos detalhados. Com alto custo de mudança. É utilizado em projetos de baixa incerteza. Conclusão Agile define requisitos a cada iteração permitindo mudanças. Valoriza a comunicação. Utilizado em projetos de alta incerteza.
  • 59. Nossa experiência diz Escopo de software não são requisitos detalhados. Escopo são os problemas que o software pretende resolver!
  • 60. Nossa experiência diz Escopo de software não são requisitos detalhados. Escopo são os problemas que o software pretende resolver! Requisitos mundam!
  • 61. Nossa experiência diz Escopo de software não são requisitos detalhados. Escopo são os problemas que o software pretende resolver! Requisitos mundam! Papel e diagramas aceitam qualquer coisa!
  • 62. Nossa experiência diz Escopo de software não são requisitos detalhados. Escopo são os problemas que o software pretende resolver! Requisitos mundam! Papel e diagramas aceitam qualquer coisa! Software funcionando é o melhor artefato para levantar requisitos!
  • 64. Nossa experiência diz Codificação é a atividade que deve ser valorizada no desenvolvimento de software
  • 65. Nossa experiência diz Codificação é a atividade que deve ser valorizada no desenvolvimento de software Afinal, o código é o elemento mais próximo do que queremos de fato
  • 66. Nossa experiência diz Codificação é a atividade que deve ser valorizada no desenvolvimento de software Afinal, o código é o elemento mais próximo do que queremos de fato Solucionar problemas de negócio!
  • 67. O código deve ter forma
  • 68. O código deve ter forma O código documenta o projeto!
  • 69. O código deve ter forma O código documenta o projeto! Orientação a objetos: Alta coesão / Baixo acoplamento
  • 70. O código deve ter forma O código documenta o projeto! Orientação a objetos: Alta coesão / Baixo acoplamento Design Patterns (Padrões)
  • 71. O código deve ter forma O código documenta o projeto! Orientação a objetos: Alta coesão / Baixo acoplamento Design Patterns (Padrões) TDD (test driven development) - Testes, teste e mais testes!
  • 72. O código deve ter forma O código documenta o projeto! Orientação a objetos: Alta coesão / Baixo acoplamento Design Patterns (Padrões) TDD (test driven development) - Testes, teste e mais testes! Fazer mais com menos código (frameworks e abstrações fortes)
  • 73. O código deve ter forma O código documenta o projeto! Orientação a objetos: Alta coesão / Baixo acoplamento Design Patterns (Padrões) TDD (test driven development) - Testes, teste e mais testes! Fazer mais com menos código (frameworks e abstrações fortes) Isso garante a manutenção do projeto