um processo ágil de desenvolvimento de software

Slides:



Advertisements
Apresentações semelhantes
Metodologia R/XP.
Advertisements

Metodologias Ágeis Visão Geral.
Rational Unified Process
Gerência de Projetos Wesley Peron Seno Introdução
O Processo Praxis 3.0 Processos de Software 25/03/2017
Análise e Projeto de Sistemas I
GUG Porto Alegre/Brasil Desenvolvimento em GeneXus, Métodos Ágeis e Scrum.
Gerenciamento de Projetos
Rational Unified Process(RUP)
Extreme Programming(XP)
Modelos de Processos de desenvolvimento de Software
Desenvolvimento ágil: eXtreme Programming vs SCRUM Tiago Rodrigues de Mello CCO-230 – ENGENHARIA DE SOFTWARE / 2010.
INTRODUÇÃO A INFORMÁTICA
FACULDADE DOS GUARARAPES
Mitos e Problemas Relacionados ao Software
Processo Desenvolvimento de Software Tradicional
Comparação e Avaliação de Métodos Ágeis de Software
FDD.
Engenharia de Software
Alunos: Artulanez Souza Iony Melo
MANUTENÇÃO DE SOFTWARE
Métodos Ágeis Agile Modeling, ou AG
Processo de Software Prof. Dr. rer. nat. Daniel D. Abdala
Extreme Programming.
Técnicas e Projeto de Sistemas
Desafios do desenvolvimento de software
Fundamentos de Engenharia de SW
Cap 2 – Processo de Software
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Avaliação Experimental de Técnicas Ágeis de Desenvolvimento
Adaptive software development ASD
Processos de Desenvolvimento de Software
Processos de Software Profa. Cintia Carvalho Oliveira
Engenharia de Software
Engenharia de Software
Raoni de Oliveira Franco
Engenharia de Software
Desenvolvimento Rápido de Aplicação (RAD)
Processo de Desenvolvimento de Software
ENGENHARIA DE SOFTWARE
XPRecife Madson Menezes Costa Ricardo de Oliveira Cavalcanti.
Sobre o que é tudo isso? Grupo XPRecife. Se a canoa não virar olê, olê, olá... “Por que as organizações, em toda parte, sejam elas políticas, comerciais.
Introdução à Engenharia de Software
Teste de Software Conceitos iniciais.
Processo de Desenvolvimento de Software
METODOLOGIA, MÉTODOS E FERRAMENTAS
Processos de Software.
Técnicas e Projeto de Sistemas
Engenharia de Software
Gestão de projetos de Software GTI-16
Métodos Ágeis e Programação Extrema (XP)
Engenharia de Software
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína ANA PAULA LIMA.
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
Desenvolvendo Software com Qualidade e Agilidade Prof. Dr. Fabio Kon Departamento de Ciência da Computação IME - USP
Metodologias Tradicionais Ágeis Manifesto Ágil 2001.
Gestão Ágil de Projetos
Engenharia de Software
Engenharia de Software
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína XP (EXTREME PROGRAMMING) Pós-Graduação em Engenharia de Software Metodologias.
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Extreme Programming Alexandre Nodari.
Apresentação Leonardo Brussolo de Paula
O uso de XP em uma Organização CMM 2 Renata Endriss
EXtreme Programming Eduardo Aranha.
Ciclo de Vida de Sistemas de Informação
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Modelos de Processo de Software
Joaquim Oliveira Grupo de Estudos em Processos 25/06/2002 Comparação entre Metodologias de Desenvolvimento.
Transcrição da apresentação:

um processo ágil de desenvolvimento de software Programação Radical XP ( Extreme Programming ) um processo ágil de desenvolvimento de software

Desenvolvimento Ágil de Software valoriza mais: Indivíduos e interaçãos do que processos e ferramentas Software funcionando do que documentação Parceria com cliente do que negociação de contratos Responder à mudança do que seguir um plano

Agile Software Development Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

Metodologias Tradicionais Baseadas em “Engenharia” Exibe processos detalhados, com forte ênfase no planejamento

Críticas comuns às metodologias tradicionais - Sem grandes sucessos Casos “interplanetários” Sem grande popularidade Quem utiliza? Burocráticas Muitas tarefas a realizar (vinculadas à metodologia) retardam o desenvolvimento

Reação às metodologias tradicionais Metodologias “peso-leve” (XP) Ágeis x Monumentais (Manifesto)

Metodologias Ágeis (pontos fundamentais) Métodos adaptativos, ao invés de preditivos Métodos orientados a pessoas, e não a processos

Métodos Preditivos ( tipo “engenharia” ) Tentam planejar grande parte do processo de software, com grande detalhe, para longos períodos Isto funciona... até que as coisas mudam Sua natureza é resistir à mudança

Métodos ágeis As mudanças são bem-vindas O processo se adapta à mudança Se o processo não se adapta, modifica-se o processo

Orientação a pessoas x Orientação a processos Objetivo dos métodos tradicionais: definir processos independentes de seus usuários Objetivo dos Métodos Ágeis: dar suporte à equipe, em seu trabalho (nenhum processo pode criar novas habilidades numa equipe)

Custos de Projeto Uma ponte Software Projeto 10% Construção 90% (codificação e testes de unidade)

Software: ênfase em projeto Em software, a construção tem custo quase zero (automatizada) Em software, o esforço é em projeto, o que requer gente talentosa e criativa Processos criativos não são facilmente planejáveis (a previsibilidade pode ser impossível) Portanto: A metáfora da engenharia tradicional é inadequada Fazer software requer um processo distinto

Os requisitos imprevisíveis Requisitos são difíceis de determinar Difícil estimar o valor real de um requisito É difícil associar custo a um requisito “O problema com esse projeto é que os requisitos estão sempre mudando” Sem requisitos estáveis, como ter um plano estável?

Como controlar a imprevisibilidade? Imprevisibilidade = Caos? A parte mais difícil: onde estamos? necessidade de mecanismos honestos de feedback que mostrem a situação real, em intervalos regulares

Controle do caos: iterações Desenvolvimento iterativo (incremental, evolucionário, em etapas, em espiral, etc.) Produzir freqüentes versões do sistema final - contendo um subconjunto das características desejadas - Integradas e testadas como se fossem a versão final

Desenvolvimento Iterativo - Documentos escondem falhas - Código não testado carrega bugs - Quando as pessoas começam a mexer no sistema, as falhas aparecem (tanto bugs como requisitos mal-compreendidos) Nada como um sistema testado e integrado para dar um banho de realidade em um projeto

O Sistema de Cooperação Wiki Diego Abadan – equipe Edugraf A seguir: Twiki O Sistema de Cooperação Wiki Diego Abadan – equipe Edugraf

Metodologias Tradicionais Críticas comuns às metodologias tradicionais Reação às metodologias tradicionais Metodologias Ágeis (pontos fundamentais) Métodos Preditivos ( tipo “engenharia” ) Métodos ágeis Orientação a pessoas x Orientação a processos Custos de Projeto Software: ênfase em projeto Os requisitos imprevisíveis Como controlar a imprevisibilidade? Controle do caos: iterações Desenvolvimento Iterativo A seguir: Twiki