Prof. Luiz A. Nascimento. As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software.

Documentos relacionados
Prof. Luiz A. Nascimento. As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software.

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Scrum Foundations. Fundamentos de Scrum

Dificuldades na implantação de Métodos Ágeis

Programação Extrema na Prática

PDS. Aula 1.7 Métodos Ágeis. Prof. Dr. Bruno Moreno

Processos Ágeis de Desenvolvimento de Software

Métodos Ágeis e o SCRUM. Bruno Henrique Oliveira

Introdução a Métodos Ágeis. Curso de Verão IME/USP

Modelos de Gestão de Projetos

Manifesto Ágil Princípios

Dificuldades na implantação de Métodos Ágeis

Desenvolvimento Ágil de Software

Scrum. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

Metodologias Ágeis de Desenvolvimento. Fernando Trinta

Análise e Projeto de Sistemas de Informação (APSI)

ENGENHARIA DE SOFTWARE

USP UNIVERSIDADE DO ESTADO DE SÃO PAULO

Desenvolvimento ágil de software

A ÚLTIMA CONVERGÊNCIA ENTRE NEGÓCIO, PRODUTO, PROCESSO E PROJETO

Metodologias Ágeis. Equipe WEB Cercomp

Entenda as idéias do movimento que está revolucionando a indústria de desenvolvimento de software mundial. Alisson Vale

Engenharia de Software I. Aula 15: Metodologias Ágeis. Prof. Márcio D. Puntel

Desenvolvimento Ágil no Governo. Produtos de Software. Luís Dosso. Outubro/2011. Sistemas e aplicações sob medida para as necessidades do seu negócio.

Scrum e Extreme Programming

Processos de software RUP

Escolhendo um Modelo de Ciclo de Vida

Professor Emiliano S. Monteiro

Gerência de Projetos. Elias Ferreira

Informática I. Aula Aula 21-29/11/06 1

Projeto e Implementação de uma Ferramenta Gráfica para UID

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP

GESTÃO DA TECNOLOGIA DA INFORMAÇÃO. 3ª SEMANA ACADÊMICA CSTGTI - Florianópolis CLEVERSON TABAJARA VIANNA

1.3 - Modelagem Ágil com UML. Professor: Júlio Cesar da Silva Msc.

Point of view AGILE FRAMEWORK SCRUM

Razões de Fracasso e Sucesso de Projetos

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação

Cooperativa de Desenvolvimento Ágil de Software

Processo Unificado. Leonardo Gresta Paulino Murta

MANIFESTO ÁGIL. Esses conceitos aproximam-se melhor com a forma que pequenas e médias organizações trabalham e respondem à mudanças.

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

SIGEPRO - Mini Curso sobre Métodos Ágeis de Gestão de Projetos

Com metodologias de desenvolvimento

Abordagens para Análise de Negócio

Processo de Desenvolvimento de Software

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA METODOLOGIAS ÁGEIS

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

OBTENDO RESULTADOS NO GERENCIAMENTO DE PROJETOS

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Métodos Ágeis e Programação Extrema (XP)

SCRUM aplicado na Gerência de Projetos

Acompanhamento ágil. Adaptação nos slides de Viviane Santos Instituto de Matemática e Estatística - USP

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Software. Como construir?

Processos de Desenvolvimento de Software

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Engenharia de Software. Arthur Mariano L NETO Aula 04

SCRUMBUT. Aula de Luiz Eduardo Guarino de Vasconcelos

Desenvolvimento Ágil. Fernando Magno Quintão Pereira. 8 de Novembro de 2010

Processos de software Leitura: Sommerville / Pressman / Ariadne

MANIFESTO ÁGIL, SCRUM E EXTREME PROGRAMMING COMO CONSTRUIR SOFTWARE COM QUALIDADE E QUE AGREGAM VALOR AO CLIENTE?

PROCESSOS DE SOFTWARE

Extreme Programming: Valores e Práticas

UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE EDUCAÇÃO SUPERIOR DO ALTO VALE DO ITAJAÍ CEAVI DIREÇÃO DE ENSINO DEN PLANO DE ENSINO

Processos de Software

Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

Rational Unified Process (RUP)

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Engenharia de Software Processo de Desenvolvimento de Software

Desenvolvimento Ágil

Planejamento e Estimativas Ágeis

Prof. Dr. Thiago Jabur Bittar

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Lista de Exercícios 02: Revisão

ENGENHARIA DE SOFTWARE

Engenharia de Software

Processo de desenvolvimento

Processos Ágeis de Desenvolvimento de Software. Yuri Pereira

GERENCIAMENTO DE PROJETOS EM AGÊNCIAS WEB BASEADO NO PMI E METODOLOGIAS ÁGEIS 1

XP EXTREME PROGRAMMING. AGO106 - Gestão

DIRETORIA FINANCEIRA E ADM. MAURÍCIO DE SOUZA

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Desenvolvimento Ágil de Software

Gerência de Projetos de Software: Cronograma

ENGENHARIA DE SOFTWARE

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades

Prova Discursiva Engenharia de Software

Professor Emiliano S. Monteiro

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Transcrição:

Prof. Luiz A. Nascimento As práticas denominadas ágeis vêm sendo cada vez mais utilizadas na gerência de projetos de software. Porque metodologias ágeis? A história dos fracassos no desenvolvimento de projetos de software é amplamente conhecida e divulgada. Pequena parcela dos projetos de software é considerada bem sucedida: concluídos no tempo estipulado; sob o orçamento previsto; de acordo com os requisitos dos usuários. Quais os principais motivos de falhas em software? Estudos apontam que o principal problema não é de caráter técnico, mas sim gerencial. Iniciativas iniciais envolveram padrões de qualidade de software e o conhecimento das melhores práticas de gerenciamento de projetos. CMMI (SEI) Definição modelo de maturidade no desenvolvimento de software. PMBOK (PMI) Identificação das necessidades do projeto; Estabelecimento de objetivos claros e alcançáveis; Equilibrio de demandas de qualidade, escopo, tempo e custo; Adaptação das diferentes especificações, planos e abordagem das. diversas partes interessadas. 1

O que justifica a pesquisa por novas metodologias de desenvolvimento de software? Muitas falhas em desenvolvimento de software. Falhas em Projetos de Software. (Johnson, 2001) 1994 1998 2000 2006 Sucesso projetos concluídos e operacionais, 16% 27% 28% 35% dentro do escopo, prazo e orçamento. Sucessos parciais projetos concluídos, mas 53% 33% 49% 46% fora do escopo ou prazo ou orçamento. Cancelados. 31% 40% 23% 19% Quais os fatores de sucesso de um projeto de software? Chaos Report Fatores de Sucesso em Projetos % 1. Envolvimento do Usuário 15,9% 2. Suporte da alta administração 13,9% 3. Clara definição dos requisitos 13,0% 4. Planejamento Apropriado 9,6% 5. Expectativas Realísticas 8,2% 6. Pontos de verificação dos projetos menores 7,7% 7. Competência da Equipe 7,2% 8. Propriedade 5,3% 9. Clara visão e objetivos 2,9% 10. Trabalho intenso 2,4% 11. Outros 13,9% Quais os fatores de fracasso de um projeto de software? Chaos Report Fatores de Fracasso em Projetos % 1. Requisitos e especificações incompletos 13,1% 2. Falta de participação dos usuários 12,4% 3. Falta de recursos 10,6% 4. Expectativas irreais 9,9% 5. Ausência de suporte da alta administração 9,3% 6. Volatilidade de requisitos e especificações 8,7% 7. Falta de planejamento 8,1% 8. Obsolescência do Projeto 7,5% 9. Ausência de gerência de Tecnologia da Informação 6,2% 10. Problemas com a tecnologia empregada 4,3% 11. Outros 9,9% 2

O que são metodologias ágeis? São um conjunto de metodologias de desenvolvimento de software que objetivam agilizar o processo de desenvolvimento e melhorar a qualidade do produto final. Algumas das principais metodologias: XP (extreme Programming) DSDM ( Dynamic Systems Development Method) Família Crystal ASD (Adaptive Software Development) SCRUM FDD (Feature-driven development) LD ( Lean Development ) Onde surgiu o conceito de metodologias ágeis? "Manifesto Para o Desenvolvimento Ágil de Software Reunião entre 17 gurus da comunidade de software; Realizada em estação de esqui em 2001 nos EUA; Elaboração do Manifesto Ágil: Indivíduos e interações => mais importantes que processos e ferramentas. Software funcionando => mais importante do que documentação completa e detalhada. Colaboração com o cliente => mais importante do que negociação de contratos. Adaptação a mudanças => mais importante do que seguir o plano inicial. Quais os principais conceitos das metodologias ágeis? entregas freqüentes, ciclos rápidos de desenvolvimento, aceite das alterações, consciência que as alterações sempre irão ocorrer, participação ativa do cliente. 3

Porque ocorrem mudanças ao longo do desenvolvimento de software? Clientes não sabem o que querem no início; Desenvolvedores não sabem qual a melhor maneira de fazer o software no início. Porque não ocorrem mudanças ao logo do desenvolvimento de software no modelo tradicional? custo Modelo Cascata Modelos Ágeis Requisitos Análise Projeto Implementação Testes Produção tempo Quais são os problemas do desenvolvimento ágil? Não são exigidas linguagens de representação. Propõe que se façam esboços a serem jogados fora. Sem documentação gráfica; Não exige documentação técnica extensa; Necessita de desenvolvedores experientes; A maioria não funciona bem com equipes grandes; Complicado com equipes em paralelo; Complicado para evolução de sistemas legados. Dificuldade em reorganizar código existente. 4

Qualquer equipe pode adotar metodologias de desenvolvimento ágil? Não porque: Necessita de local adequado para trabalhar em conjunto e as vezes duas pessoas na mesma máquina; Complicado trabalhar em conjunto com indivíduos problemáticos; Complicado trabalhar com gerentes mandões em trabalho em grupo: Dificil aprovação para adoção da metodologia; Nem todas as equipes conseguem convencer os clientes em participar efetivamente. Características do Desenvolvimento ágil Iteração No modelo Cascata os projetos são organizados para percorrer cada etapa em seqüência apenas 1 vez. Quando pela primeira vez o produto é criado, o teste começa e podem aparecer problemas (ocultos na Análise, projeto e Implementação). Começa um longo ciclo de correção de erros. Características do Desenvolvimento ágil Iteração Mais flexível (e menos arriscada) de percorrer várias vezes as diversas etapas de desenvolvimento, construindo um melhor entendimento dos requisitos liberando uma série de implementações. 5

Características do Desenvolvimento ágil Iteração Esse procedimento chama-se Ciclo de Vida Iterativo. A cada passagem, a seqüência de etapas do processo chama-se Iteração. No desenvolvimento ágil o ciclo de vida do software é uma sucessão de iterações, por meio das quais o software se desenvolve de maneira Incremental. Características do Desenvolvimento ágil Release Release é um parte do software com conjunto de funcionalidades bem definidas e que representam algum valor para o cliente. Um release pode ser interno ou externo. Release interno: usado apenas pela equipe de desenvolvimento, como parte de um marco, ou para fazer uma demonstração para usuários ou clientes. Release externo: produto completo ou incompleto liberado para os usuários finais. Existem ferramentas que ajudam no desenvolvimento de software ágil? Sim, como exemplo: Microsoft Project; Primavera; dotproject; GanttProject; OpenProject; Version one: Scrum Works; Xplanner; ClockingIT Pivotal Tracker 6

7