32
Metodologias Ágeis para Metodologias Ágeis para Desenvolvimento de Software Desenvolvimento de Software Professor: Marcos Cardoso Professor: Marcos Cardoso [email protected] [email protected] Introdução Introdução Pós-Graduação em Engenharia de Software Pós-Graduação em Engenharia de Software

Introdução Metodologias áGeis Para Desenvolvimento De Software

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Metodologias Ágeis para Metodologias Ágeis para Desenvolvimento de SoftwareDesenvolvimento de Software

Professor: Marcos CardosoProfessor: Marcos [email protected]@gmail.com

IntroduçãoIntrodução

Pós-Graduação em Engenharia de SoftwarePós-Graduação em Engenharia de Software

Page 2: Introdução  Metodologias áGeis Para Desenvolvimento De Software

?

Page 3: Introdução  Metodologias áGeis Para Desenvolvimento De Software

?

Page 4: Introdução  Metodologias áGeis Para Desenvolvimento De Software

?

Page 5: Introdução  Metodologias áGeis Para Desenvolvimento De Software

?

Page 6: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Quem já adota?Quem já adota?

Page 7: Introdução  Metodologias áGeis Para Desenvolvimento De Software

O que estamos O que estamos procurando?procurando?

Page 8: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Definição de Sucesso para um projeto de Software

O software resolve o problema

O software é fácil de manter e evoluir

O projeto possui menor custo e prazo possíveis

* Rodrigo Yoshima

Page 9: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Apenas 37% das empresas estão satisfeitas com a velocidade do desenvolvimento interno das aplicações

80% dos investimentos em desenvolvimento estão na identificação e correção dos defeitos

Taxa de falhas dos projetos é superior a 45%

Fontes: IBM e Standish Groupe

Page 10: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Atividades Fundamentais para Atividades Fundamentais para o desenvolvimento de o desenvolvimento de

SoftwareSoftware

Especificação Especificação do Softwaredo Software

Page 11: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Atividades Fundamentais para Atividades Fundamentais para o desenvolvimento de o desenvolvimento de

SoftwareSoftware

Projeto e Projeto e ImplementaçãImplementaçãoo

Page 12: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Atividades Fundamentais para Atividades Fundamentais para o desenvolvimento de o desenvolvimento de

SoftwareSoftware

Validação do Validação do SoftwareSoftware

Page 13: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Atividades Fundamentais para Atividades Fundamentais para o desenvolvimento de o desenvolvimento de

SoftwareSoftware

Evolução do Evolução do SoftwareSoftware

Page 14: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Metodologias Metodologias TradicionaisTradicionais

Page 15: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Modelo CascataModelo Cascata

Definição dos Requisitos

Projeto do Software

Implementação e Testes de Unidades

Integração e Testes do Sistema

Operação e Manuntenção

Page 16: Introdução  Metodologias áGeis Para Desenvolvimento De Software
Page 17: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Manifesto ÁgilManifesto Ágil

Em 2001, dezessete especialistas em processos de desenvolvimento de software estabeleceram princípios comuns compartilhados por diferentes métodos

Foi criada a Aliança Ágil e o estabelecimento do Manifesto Ágil

Page 18: Introdução  Metodologias áGeis Para Desenvolvimento De Software
Page 19: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Indivíduos e interações ao invés de processos e ferramentas

Software executável ao invés de documentação.

Page 20: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Colaboração do cliente ao invés de negociação de contratos.

Respostas rápidas a mudanças ao invés de seguir planos.

Page 21: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Simplesmente mostra que eles têm Simplesmente mostra que eles têm

importância secundária quando quando comparado com os indivíduos e interações, com o comparado com os indivíduos e interações, com o software estar executável, com a colaboração do software estar executável, com a colaboração do cliente e as respostas rápidas a mudanças e cliente e as respostas rápidas a mudanças e alterações.”alterações.”

O Manifesto Ágil O Manifesto Ágil não rejeita os processos e ferramentas, a os processos e ferramentas, a documentação, a negociação de documentação, a negociação de contratos ou o planejamento.contratos ou o planejamento.

Page 22: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Tudo bem, Tudo bem, mas mas

funciona?funciona?

São Tomé incrédulo nessa tal de metodologia ágil

Page 23: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Fator Melhorou Não mudou Piorou

Produtividade 82% 13% 5%

Qualidade 77% 14% 9%

Satisfação 78% 15% 7%

Custo 37% 40% 23%

Pesquisa realizada pela Pesquisa realizada pela InfoQ.com InfoQ.com em 642 empresas em 642 empresas

Page 24: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Test Driven Development

ScrumScrum XPXPPragmatic Programming

Kanbam

Adaptive Software Development

Feature Driven Development

Crystal

Page 25: Introdução  Metodologias áGeis Para Desenvolvimento De Software

1. A cultura da organização 1. A cultura da organização deve apoiar a negociaçãodeve apoiar a negociação

Aplicabilidade dos Métodos Aplicabilidade dos Métodos ÁgeisÁgeis

Page 26: Introdução  Metodologias áGeis Para Desenvolvimento De Software

2. As pessoas devem ser 2. As pessoas devem ser confiantesconfiantes

Aplicabilidade dos Métodos Aplicabilidade dos Métodos ÁgeisÁgeis

Page 27: Introdução  Metodologias áGeis Para Desenvolvimento De Software

3. A Organização necessita 3. A Organização necessita ter um ambiente que facilite a ter um ambiente que facilite a rápida comunicação entre os rápida comunicação entre os membrosmembros

Aplicabilidade dos Métodos Aplicabilidade dos Métodos ÁgeisÁgeis

Page 28: Introdução  Metodologias áGeis Para Desenvolvimento De Software

4. Poucas pessoas, mas 4. Poucas pessoas, mas competentescompetentes

Aplicabilidade dos Métodos Aplicabilidade dos Métodos ÁgeisÁgeis

Page 29: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Agile vs. Waterfall: A Tale Agile vs. Waterfall: A Tale of Two Teamsof Two Teams

http://www.youtube.com/watch?v=gDDO3ob-4ZY

Vamos assistir ao vídeo

Page 30: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Leitura de Artigo

Metodologias ágeis são processos, agilidade é culturahttp://agilblog.locaweb.com.br/2009/04/25/metodologias-ageis-sao-processos-agilidade-e-cultura/

Page 31: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Metodologias Ágeis para Metodologias Ágeis para Desenvolvimento de SoftwareDesenvolvimento de Software

Professor: Marcos CardosoProfessor: Marcos [email protected]@gmail.com

IntroduçãoIntrodução

Pós-Graduação em Engenharia de SoftwarePós-Graduação em Engenharia de Software

Page 32: Introdução  Metodologias áGeis Para Desenvolvimento De Software

Este material foi elaborado Marcos Cardoso ([email protected]), estando sob a licença Creative Commons, Atribuição-Uso Não-Comercial 2.5 Brasil. É permitido que outras pessoas usem e alterem a presente obra, desde que os devidos créditos sejam dados ao autor.Não é permitido o uso comercial do material.

Maiores informações: http://creativecommons.org/licenses/by-nc/2.5/br/

Attribution Non-Commercial