• Save
Metodologias de desenvolvimento - Waterfall vs Agile
Upcoming SlideShare
Loading in...5
×
 

Metodologias de desenvolvimento - Waterfall vs Agile

on

  • 2,315 views

Comparação entre o modelo waterfall e agile, adicionando uma visão pessoal sobre o que é importante no desenvolvimento de software.

Comparação entre o modelo waterfall e agile, adicionando uma visão pessoal sobre o que é importante no desenvolvimento de software.

Statistics

Views

Total Views
2,315
Slideshare-icon Views on SlideShare
2,315
Embed Views
0

Actions

Likes
4
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Metodologias de desenvolvimento - Waterfall vs Agile Metodologias de desenvolvimento - Waterfall vs Agile Presentation Transcript

    • 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