Baixe o app para aproveitar ainda mais
Prévia do material em texto
DESENVOLVIME NTO ÁGIL - EXTREME PROGRAMMING (XP) Profa Msc Josyane Lannes Florenzano de Souza - Situação-problema: Até agora estudamos diversos modelos de processo para desenvolvimento de software. Todos eles com etapas e procedimentos bem rígidos. Mas será que na prática, as organizações buscam por um método tradicional ou um mais flexível? Imagine se pudéssemos aplicar todas as boas práticas aprendidas, gerando o mínimo de burocracia! Hoje conheceremos as metodologias ágeis. História do manifesto ágil No final dos anos 90 todos estavam em busca de uma forma mais leve de desenvolver software e diversas iniciativas começaram a surgir ao redor do mundo. Em fevereiro de 2001, dezessete representantes desses métodos se reuniram em um resort de inverno, buscando em um local descontraído, encontrar um padrão para o desenvolvimento de software com maior leveza e agilidade. Juntos criaram um documento e deram o nome de Manifesto Ágil, contendo quatro valores e doze princípios que orientam as equipes de como desenvolver software de maneira leve. O que é agilidade? O que é agilidade? • Segundo Ivar Jacobson [Jac02a], temos: • Agilidade, palavra da moda quando se descreve um moderno processo de software; • Equipe ágil: • Rápida; • Capaz de responder apropriadamente a mudanças; • Mudanças em desenvolvimento de software: • Mudanças nos membros da equipe; • Mudanças devido a novas tecnologias; • Mudanças em orçamento (GP); • Mudanças em cronograma (GP); O que é agilidade? • Segundo Ivar Jacobson [Jac02a], temos (cont.): • Suporte à mudanças deve ser incorporado em tudo que fazemos em software; • Mudanças é o coração, a alma do software; • Uma equipe ágil reconhece: • Software é desenvolvido por indivíduos trabalhando em equipe; • Habilidades dessas pessoas e suas capacidades em colaborar estão no cerne do sucesso; • A penetração da mudança é o principal condutor para a agilidade; • Engenheiros de software devem ser rápidos em seus passos caso queiram assimilar as rápidas mudanças; O que é agilidade? • Agilidade vai além das respostas rápidas às mudanças; • Ela incentiva: • A estruturação e as atitudes em equipe de forma que tornam a comunicação mais fácil; • Entre: membros da equipe, pessoal ligado à tecnologia e o pessoal comercial, engenheiros de softwares e seus gerentes); • Enfatiza: • A entrega rápida do software operacional e diminui a importância dos artefatos intermediários; O que é agilidade? • Agilidade vai além das respostas rápidas às mudanças (cont.); • Enfatiza: • Assume o cliente como parte da equipe de desenvolvimento (isso deve ficar claro desde o início para ele e para equipe); • Trabalha para eliminar a atitude de “nós e eles”; • Reconhece que o planejamento em um mundo incerto tem seus limites e que o plano do projeto deve ser flexível (em GP veremos isso a fundo); 8 O que é agilidade? • Agilidade pode ser aplicada a qualquer processo de software; • Entretanto, para obtê-la, é essencial que: • Seja projetado para que a equipe possa adaptar e alinhar (racionalizar) tarefas; • Possa conduzir o planejamento compreendendo a fluidez de uma abordagem do desenvolvimento ágil; • Possa eliminar tudo, exceto artefatos essenciais, conservando-os enxutos; • Enfatize a estratégia de entrega incremental, conseguindo entregar ao cliente, o mais rapidamente possível, o software operacional para o tipo de produto e ambiente operacional; 9 [1] Vídeo "Metodologia Ágil 2020: O que é Metodologia Ágil? Entenda o que são MÉTODOS ÁGEIS em 8 MINUTOS ". Disponível em: https://www.youtube.com/watch?v=cT_X4_n0NJ4 Métodos ágeis https://www.youtube.com/watch?v=cT_X4_n0NJ4 Métodos ágeis • A insatisfação com os overheads envolvidos nos métodos de projeto levou à criação dos métodos ágeis. Esses métodos: • Enfocam o código ao invés do projeto; • São baseados na abordagem iterativa para desenvolvimento de software; • São destinados a entregar software de trabalho e evoluí-lo rapidamente para atender aos requisitos que se alteram; • Os métodos ágeis são, provavelmente, os mais adequados para sistemas de negócio de porte pequeno/médio ou produtos para PC; 11 Métodos ágeis Fonte: Sommerville – 8 Edição 12 Métodos ágeis – Alguns Problemas • Pode ser difícil manter o interesse dos clientes que estão envolvidos no processo; • Os membros da equipe podem ser inadequados para o intenso envolvimento que caracteriza os métodos ágeis; • A priorização de mudanças pode ser difícil onde existem múltiplos stakeholders; • A manutenção da simplicidade requer trabalho extra; • Do mesmo modo que nas outras abordagens para desenvolvimento iterativo, os contratos podem ser um problema; 13 [2] Vídeo "Metodologia Agile #1AG - O manifesto que revolucionou o relacionamento entre times e clientes". Disponível em: https://www.youtube.com/watch?v=aNDritqmhps Métodos ágeis https://www.youtube.com/watch?v=aNDritqmhps Atividade Em grupos (mínimo 5 – máximo 8 alunos, mas cada aluno entrega o seu), os alunos deverão • Ler o manifesto ágil, incluindo os princípios, disponível em https://agilemanifesto.org/iso/ptbr/manifesto.html, preparar um resumo do que entenderam e entregar ao professor via TEAMS no canal “Aula 13 – 17_05_2021”, em “Arquivos” na pasta “Entrega Trabalho - Manifesto Ágil” – Entregar na aula de hoje: 17/05/2021 até às 22h45; Atividade Autônoma AURA 1) Sobre o Manifesto Ágil, avalie as afirmativas a seguir: I. Foi um encontro realizado para unificar diversos métodos em uma única metodologia ágil. II. Foi muito utilizado por anos, mas teve o seu fim com a chegada do Scrum. III. Foi elaborado por profissionais respeitados em todo o mundo incluindo criadores e representantes de diversos "métodos leves". Está correto o que se afirma em: a) I, apenas. b) II, apenas. c) III, apenas. d) I e II. e) II e III. Atividade Autônoma AURA 1) Sobre o Manifesto Ágil, avalie as afirmativas a seguir: I. Foi um encontro realizado para unificar diversos métodos em uma única metodologia ágil. II. Foi muito utilizado por anos, mas teve o seu fim com a chegada do Scrum. III. Foi elaborado por profissionais respeitados em todo o mundo incluindo criadores e representantes de diversos "métodos leves". Está correto o que se afirma em: a) I, apenas. b) II, apenas. c) III, apenas. d) I e II. e) II e III. Atividade Autônoma AURA 2) Em projetos de desenvolvimento de software, a extreme programming (XP) é um método ágil que usa a prática de: a) projetos com planejamento completo sem incrementos. b) grandes releases. c) grande quantidade de horas extras. d) trabalho em pares de desenvolvedores. e) integrações após a entrega do software completo Atividade Autônoma AURA 2) Em projetos de desenvolvimento de software, a extreme programming (XP) é um método ágil que usa a prática de: a) projetos com planejamento completo sem incrementos. b) grandes releases. c) grande quantidade de horas extras. d) trabalho em pares de desenvolvedores. e) integrações após a entrega do software completo
Compartilhar