Prof. Me. Marcos Echevarria
Nas décadas de 80 e 90 a visão geral sobre a melhor maneira de desenvolver software era seguir um cuidadoso planejamento para garantir uma boa qualidade; Esse cenário era aplicável em empresas grandes separadas geograficamente; Quando tínhamos projetos em pequenas e médias empresas a sobrecarga envolvida na definição do que deveria ser feito era maior do que o desenvolvimento propriamente dito; Engenharia de Software 2
Em 2001, Kent Beck e 16 outros notáveis desenvolvedores assinaram o Manifesto para o Desenvolvimento Ágil de Software ; Por meio desse manifesto eles passaram a valorizar: Indivíduos e interações em vez de processos e ferramentas; Softwares funcionando em vez de documentação abrangente; Colaboração do cliente em vez de negociações e contratos; Resposta a modificações em vez de seguir um plano; Engenharia de Software 3
Combina uma filosofia e um conjunto de diretrizes; A filosofia encoraja: Entrega incremental do software logo de início; Equipes de projeto pequenas, altamente motivadas; Métodos informais; Produtos de engenharia de software mínimos; Simplicidade global de desenvolvimento; Engenharia de Software 4
As diretrizes de desenvolvimento enfatizam: Entrega em contraposição à análise e ao projeto; Comunicação ativa contínua entre desenvolvedores e clientes; Engenharia de Software 5
Todos trabalham juntos em uma equipe ágil: Engenheiros de software; Clientes; Gerentes; Usuários finais; Sempre enfatizando a comunicação e a colaboração entre todos; Engenharia de Software 6
Ambiente moderno e mutável; Uma alternativa para várias categorias de software e tipos de software que se encaixam bem no desenvolvimento ágil; Já se mostrou bem sucedida ao longo dos anos (softwares complexos e com qualidade); Engenharia de Software 7
É uma pequena engenharia de software ; As atividades básicas permanecem: Comunicação com o cliente; Planejamento; Modelagem; Construção; Entrega e avaliação; Mas são reduzidas a um conjunto mínimo necessário; Engenharia de Software 8
O produto de trabalho é apenas um: Incremento de software Esse produto sempre será entregue pro cliente na data combinada; Engenharia de Software 9
Se: Toda a equipe ágil concordar que o processo funciona; Se os incrementos de software estiverem rodando corretamente; Se os incrementos estiverem prontos na data combinada; E se os incrementos satisfizerem o cliente Então, está tudo correto! Engenharia de Software 10
--------------------------------------------------- Engenharia de Software 11
Em 2001, foi escrito o Manifesto Ágil ; Esse manifesto é composto de 12 princípios da aliança ágil; Pesquise sobre esses 12 princípios... Engenharia de Software 12
Não há substituto para o feedback rápido, tanto do processo de desenvolvimento quanto no produto em si. Martin Fowler Engenharia de Software 13
Não há substituto para o feedback rápido, tanto do processo de desenvolvimento quanto no produto em si. Martin Fowler Um processo ágil, deve ser adaptável! Engenharia de Software 14
Um processo ágil é diferente de rápido É necessário seguir um processo e ter disciplina; Engenharia de Software 15
As características-chave de uma equipe ágil são: Competência; Foco comum; Colaboração; Capacidade de tomada de decisão; Habilidade de resolver problemas vagos; Respeito e confiança mútua; Auto-organização; Engenharia de Software 16
Existe um movimento forte no Brasil chamado Agile Brasil ; Todo ano o pessoal se reuni para discutir metodologias ágeis; http://www.agilebrazil.com/ Engenharia de Software 17
Existem muitos modelos de processo propostos, cada qual com sua abordagem sutilmente diferente para agilidade; Em cada modelo há um conjunto de ideias que criam um afastamento significativo da engenharia de software convencional; Os modelos mais conhecidos são: Extreme programming Scrum Engenharia de Software 18
Pesquise sobre como funcionam os modelos: Extreme programming Scrum Engenharia de Software 19
--------------------------------------------------- XP Engenharia de Software 20
O XP não é adequado para projetos de grande porte, mas se encaixa muito bem para projetos pequenos e médios; Sua base é o desenvolvimento iterativo e o grande envolvimento com o cliente; Foco total no desenvolvimento; XP Engenharia de Software 21
XP Engenharia de Software 22
XP Engenharia de Software 23
XP Engenharia de Software 24
XP Engenharia de Software 25
--------------------------------------------------- Engenharia de Software 26
Scrum é um processo iterativo e incremental, dividido em dois ciclos básicos: Sprint Daily Meeting O Scrum é mais voltado para o gerenciamento do projeto do que para o desenvolvimento, diferente do XP; Engenharia de Software 27
O nome scrum é bem familiar para algumas pessoas, pois veio do rugby; Engenharia de Software 28
Engenharia de Software 29
--------------------------------------------------- Engenharia de Software 30