Avaliação Experimental de Técnicas Ágeis de Desenvolvimento Plano de Apresentação •Introdução •Referencial teórico •Trabalho proposto •Resultados parciais atingidos •Principais desafios do trabalho •Cronograma Introdução • Motivação – – – – – Crise do software Processos burocráticos Métodos claros e adaptáveis Menos orientação ao documento, mais orientação ao código Motivação Pessoal Referencial Teórico • Processo de Software - Definição - Desenvolvimento - Manutenção Referencial Teórico • Modelo de Processo de Software Referencial Teórico • Cascata ou Clássico Referencial Teórico • Prototipagem Referencial Teórico • Evolucionário – Incremental Referencial Teórico • Evolucionário – Espiral Referencial Teórico • Cascata ou Clássico • Prototipagem • Evolucionários – – Incremental Espiral Referencial Teórico • Metodologias Tradicionais – – – – Mainframes e Terminais Burros Acesso Limitado Alto Custo de Alteração/Correção Processo Rigoroso Referencial Teórico • RUP (Rational Unified Process) Referencial Teórico • Metodologias Ágeis – – – – – – Refinar métodos Iterativos Tradicionais; Ênfase nas pessoas; Cliente próximo ao processo; Iterações curtas; Testes automatizados; Equipes pequenas; Referencial Teórico • Impedimentos – – – – Burocracia como requisito; Maturidade; Nível técnico da equipe; Medo; Referencial Teórico • Manifesto Ágil (2001) – – – – Indivíduos e interação 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; Referencial Teórico • Mitos e Concepções Erradas – – – – – Abomina documentação; Não precisamos de processos nem de ferramentas; Não há disciplina; Não há plano a seguir; Uma metodologia ágil vai resolver o problema de nossa empresa; Referencial Teórico • Maiores Vantagens – – – Iterações curtas; Diminuição dos custos de comunicação; Levar em consideração que as coisas vão mudar ao longo do caminho Referencial Teórico • Algumas práticas são boas de qualquer jeito: – – – Testes automatizados; Integração contínua; Iterações curtas; Referencial Teórico • Scrum Trabalho Proposto • Avaliação Experimental de Técnicas Ágeis de Desenvolvimento – Por que adotar o Agile? – Quando é aplicável? – Como aplicá-lo? Resultados Parciais Atingidos • Levantamento bibliográfico • Escrita dos capítulos teóricos do trabalho • Escolha de um projeto piloto e uma equipe de desenvolvimento Principais Desafios do Trabalho • • • • Nebulosidade nos objetivos; Evitar problemas de comunicação; Manter o projeto dentro do prazo; Perda de recursos essenciais durante o andamento do projeto; • Usar a criatividade; Cronograma Cronograma Bibliografia • SOMMERVILLE, Ian. Engenharia de software. 8. ed. São Paulo, SP: Pearson, 2007 • PRESSMAN, Roger S. Engenharia de software. São Paulo, SP: Makron Books, 2007