Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelos Tradicionais X Métodos Ágeis Prof. Msc. Luiz Reginaldo Almeida Fleury Curado 1 Engenharia de Software 2 Aplicação de um abordagem sistemática, disciplinada e quantificável no desenvolvimento, na operação e na manutenção de software (IEEE) Tecnologia em Camadas: - Foco na Qualidade - Processo (conjunto de atividades) - Métodos/Modelos (como desenvolver) - Ferramentas (apoio ao processo) Fonte: Pressman, Engenharia de Software, 8º Edição Processo de Engenharia de SoWware 3 Processo é um conjunto de aYvidades, ações e tarefas realizadas na criação de algum produto de trabalho (Pressman) Uma metodologia de processo estabelece o alicerce para um processo de engenharia de soWware completo, por meio da idenYficação de um pequeno número de aYvidades estruturais aplicáveis a todos os projetos de soWware, independentemente de tamanho ou complexidade. (Pressman) Metodologia de processo genérica (Pressman): - Comunicação (levantamento de necessidades) - Planejamento (o que fazer, como fazer, quando fazer) - Modelagem (representação do problema) - Construção (geração de código e testes) - Entrega (entrega ao cliente, feedback) Modelos Tradicionais (Pressman) 4 Modelo Cascata Modelo Incremental Modelo Espiral ProtoYpação Manifesto Ágil (2001) 5 Documento assinado por renomados desenvolvedores, autores e consultores de software (https://www.manifestoagil.com.br/) Ideias para tornar o processo de desenvolvimento menos burocrático e mais colaborativo Valores do Manifesto Ágil: - Indivíduos e interações acima de processos e ferramentas - Software operacional acima de documentação completa - Colaboração dos clientes acima de negociação contratual - Respostas a mudanças acima de seguir um plano Princípios do Manifesto Ágil 6 1) A maior prioridade é saYsfazer o cliente com entrega adiantada e conhnua de soWware funcionando. 2) Aceite bem os pedidos de alterações, mesmo com o desenvolvimento adiantado. Os processos ágeis se aproveitam das mudanças para a vantagem compeYYva do cliente. 3) Entregue soWware em funcionamento frequentemente, de algumas semanas a alguns meses, dando preferência a intervalos mais curtos. 4) O pessoal do comercial e os desenvolvedores devem trabalhar em conjunto diariamente ao longo de todo o projeto. 5) Construa projetos em torno de pessoas moYvadas. Dê a elas o ambiente e o apoio necessários e acredite que elas farão o trabalho corretamente. Princípios do Manifesto Ágil 7 6) O método mais eficiente e efeYvo de transmiYr informações para e dentro de uma equipe de desenvolvimento é uma conversa aberta, presencial. 7) SoWware em funcionamento é a principal medida de progresso. 8) Os processos ágeis promovem desenvolvimento sustentável. Proponentes, desenvolvedores e usuários devem estar aptos a manter um ritmo constante indefinidamente. 9) Atenção conhnua para com a excelência técnica e para com bons projetos aumenta a agilidade. 10) Simplicidade – a arte de maximizar o volume de trabalho não realizado – é essencial. Princípios do Manifesto Ágil 8 11) As melhores arquiteturas, requisitos e projetos surgem de equipes auto-organizadas. 12) Em intervalos regulares, a equipe se avalia para ver como pode se tornar mais eficiente, então, sintoniza e ajusta seu comportamento de acordo. Filosofia do Movimento Ágil 9 - Satisfação do cliente - Entrega incremental antecipada - Equipes de projeto pequenas e altamente motivadas - Métodos informais - Artefatos de engenharia de software mínimos - Simplicidade no desenvolvimento geral - Priorizar a entrega mais que análise e projeto - Priorizar comunicação ativa e contínua entre desenvolvedores e clientes - Gerentes, clientes e usuários fazem parte da equipe - Equipe se auto-organiza e controla seu próprio destino - Único artefato realmente importante consiste em um incremento de software Metodologias básicas (comunicação, planejamento, modelagem, construção e entrega) permanecem, mas com mínimo de tarefas e artefatos. Métodos Tradicionais x Métodos Ágeis 10 Métodos Tradicionais - Foco no processo - Mais documentação - Não se adaptam muito bem a mudanças - Decisões são tomadas pelo cliente Métodos Ágeis - Foco no cliente (requisitos do cliente) - Menos documentação - Aberto a mudanças - Decisões são tomadas pela equipe (autogerenciáveis) - Maior comunicação (produto é responsabilidade de todos) - Entregas rápidas (conhnuas e frequentes, essência do modelo interaYvo e incremental) Métodos ágeis tem como iniciaYva um maior trabalho em equipe, a auto-organização, a comunicação frequente, o foco no cliente e a entrega de valor. Métodos Ágeis 11 Principais Métodos Ágeis - Extreme Programming (XP) - Scrum - Kanban - ASD - FDD Práticas da XP - Testes de unidades antes de funções - Programação em pares - Refatoração - Entrega contínua Métodos Ágeis 12 Scrum - Projetos divididos em sprints (pequenas entregas) - Sprint: requisitos, análise, projeto, evolução e entrega. - Backlog: lista com prioridades dos requisitos - Reuniões: diárias, 15 minutos Kanban - Controla progresso de tarefas de forma visual - Quadro branco com pequenos papéis colados (que representam as tarefas) - Papel é movido para etapa seguinte até que seja finalizada. Bibliografia PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de so;ware: uma abordagem profissional. 8. ed. Rio de Janeiro, RJ: AMGH, c2016. xxviii, 940 p. ISBN 9788580555332. Leitura Recomendada: Capítulos 2, 3, 4 e 5 13 Obrigado! Católica EAD 14
Compartilhar