UnP Eng. Software - Aula 5

  • 755 views
Uploaded on

Esta apresentação representa a introdução a metodologias ágeis e métodos iterativos e incrementais.

Esta apresentação representa a introdução a metodologias ágeis e métodos iterativos e incrementais.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
755
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
36
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide


































































































Transcript

  • 1. Processos de SoftwareGanhando agilidade e entregando software deforma iterativa e participativa
  • 2. Quem SOU ? Hélio Medeiros Analista de Sistemas SINFO - UFRN Blog: http://heliomedeiros.comEmail: helio.cabralmedeiros@gmail.com ©2010 - Hélio Medeiros
  • 3. QUE TAL UM NOVO MODELO ? PRONTO PARA A PROPOSTA !!! ©2010 - Hélio Medeiros
  • 4. RES S !!! ENO S STM ©2010 - Hélio Medeiros
  • 5. COM ENT REGAS REPETÍVEIS PRAZOS CERTOS ©2010 - Hélio Medeiros
  • 6. QUE REALME NTE FUNCIONEM ! ©2010 - Hélio Medeiros
  • 7. ONDIZEM COM AS NECESSIDADESQUE C ©2010 - Hélio Medeiros
  • 8. DE FORMA ÁGIL E PRODUTIVA ©2010 - Hélio Medeiros
  • 9. Nossa AulaParte 1 - Ganhando VelocidadeParte 2 - Manifesto ÁgilParte 3 - Modelo iterativoParte 4 - Dúvidas ©2010 - Hélio Medeiros
  • 10. 1 Ganhando velocidade ©2010 - Hélio Medeiros
  • 11. Introdução às abordagens ágeisOs princípios Um estado mental, não um conjunto de documentos, passos e técnicas; Uma atitude, não um processo; Um ambiente, não uma metodologia; Desenvolvimento iterativo; Entrega de produtos com valor para o negócio, mais rápido e continuamente; Garantir progresso real; Abraçar mudanças; Boa comunicação entre os membros; Melhor comunicação entre negócios e TI; Qualidade desde o início; ©2010 - Hélio Medeiros
  • 12. Introdução às abordagens ágeisOs princípios Um estado mental, não um conjunto de documentos, passos e técnicas; Uma atitude, não um processo; Um ambiente, não uma metodologia; Desenvolvimento iterativo; Entrega de produtos com valor para o negócio, mais rápido e continuamente; Garantir progresso real; Abraçar mudanças; Boa comunicação entre os membros; Melhor comunicação entre negócios e TI; Qualidade desde o início; ©2010 - Hélio Medeiros
  • 13. Introdução às abordagens ágeisO que é agilidade? “Agilidade é a habilidade para criar e responder à mudança, para lucar num ambiente turbulento de negócios.” “Agilidade é a habilidade para equilibrar flexibilidade e estabilidade.” Jim HighsmithUm dos principais escritores sobre AGILE e criador da ASD. ©2010 - Hélio Medeiros
  • 14. Introdução às abordagens ágeisO que NÃO é agilidade? http://www.youtube.com/watch?v=RzToNo7A-94 ©2010 - Hélio Medeiros
  • 15. 2 Manifesto Ágil ©2010 - Hélio Medeiros
  • 16. Introdução às abordagens ágeis O manifesto Ágil O manifesto diz: “Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar:Indivíduos e a interação entre eles mais que processos e ferramentas Produto 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 Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.” http://agilemanifesto.org ©2010 - Hélio Medeiros
  • 17. Introdução às abordagens ágeisDecifrando o manifesto Indivíduos e a interação entre eles mais que processos e ferramentas Processos fornecem direcionamento e suporte, e ferramentas produtividade, mas sem as pessoas certas, que possuam satisfatório conhecimento técnico e habilidades para formar equipe altamente eficaz, todos os processos e ferramentas irrão falhar; Bons processos devem auxiliar o time mais que ditar as ações de seus membros; Processos devem se adaptar ao time, e não o inverso; Processos e ferramentas são úteis, mas quando decisões tiverem que ser tomadas, estas serão feitas de acordo com a capacidade e conhecimento de seu time; Agile Project Management - Jim Highsmith ©2010 - Hélio Medeiros
  • 18. Introdução às abordagens ágeisDecifrando o manifesto Produto em funcionamento mais que documentação abrangente Troque a entrega de documentação e artefatos por versões iterativas de um produto real que será útil para o cliente; Documentos não funcionam. Produtos sim; No entanto, produtos funcionando não excluem a necessidade de documentação. Documentos auxiliam a comunicação e colaboração, facilitam a transferência de conhecimento e preservam informações históricas. Não estamos dizendo que documentação não é importante, mas apenas que é menos importante que o produto funcionando; Documentação não deve substituir a interação; Agile Project Management - Jim Highsmith ©2010 - Hélio Medeiros
  • 19. Introdução às abordagens ágeisDecifrando o manifesto Colaboração com o cliente mais que negociação de contratos Em projetos ágeis, clientes e gerentes de produto são os guias; A meta de um time em projeto ágeis é entregar valor para o cliente; Clientes definem o que é valor; Agile Project Management - Jim Highsmith ©2010 - Hélio Medeiros
  • 20. Introdução às abordagens ágeisDecifrando o manifesto Responder a mudanças mais que seguir um plano Todos os projetos são conhecidos e desconhecidos, certos e incertos, portanto todos estes devem ter um balanceamento entre planejamento e mudanças; Evite a “Síndrome de Nostradamus”. Existem certos níveis de abstração desnecessários. Projetos baseados na exploração são caracterizados por um processo com ênfase em formar uma “ante-visão” e então explorá-la dentro de uma vis˜åo, e n˜åo de um plano detalhado. Rob Austin e Lee Diven citam em Artful Making que o lema “Planeje o trabalho, e trabalhe o plano” os levou ao fracasso em um projeto de TI que envolveu mais de $125 milhões. Agile Project Management - Jim Highsmith ©2010 - Hélio Medeiros
  • 21. 3 Desenvolvimento Iterativo ©2010 - Hélio Medeiros
  • 22. Introdução às abordagens ágeisDesenvolvimento iterativo Uma interação é um “pacote de tempo” que possui um custo fixo e um conjunto de funcionalidades que pode variar; As funcionalidades que farão parte de uma iteração são priorizadas pelo cliente; Iterações podem perder funcionalidades, mas nunca datas; Cliente entende que prioridades no “final da lista” podem ficar de fora da iteração; Flexibilidade está nas funcionalidades, não no prazo ou no custo; ©2010 - Hélio Medeiros
  • 23. Introdução às abordagens ágeisDesenvolvimento iterativo Produto release 1 release 2 release 3 ... release n novo release a cada X meses iteração 1 iteração 2 iteração 3 iteração 4 ... novo iteracao a cada X semanas ©2010 - Hélio Medeiros
  • 24. Introdução às abordagens ágeisDesenvolvimento iterativo O Release 1 terá as seguintes Produto funcionalidades: - Funcionalidade A - Funcionalidade G - Funcionalidade B - Funcionalidade H release 1 - Funcionalidade C - Funcionalidade I - Funcionalidade D - Funcionalidade J - Funcionalidade E - Funcionalidade L - Funcionalidade F - Funcionalidade Z iteração 1 iteração 2 iteração 3 iteração 4 ... Func. B Func. A Func. C Func. D Func. F Func. E Func. H Func. I Func. J Func. G Func. L Func. Z ©2010 - Hélio Medeiros
  • 25. Introdução às abordagens ágeisO ciclo de vida de projetos ágeis Exploração Visão Funcionalidades Prontas Especulação Adaptação Visão do Produto Fechamento Produto ©2010 - Hélio Medeiros Final
  • 26. Introdução às abordagens ágeisAs abordagens ágeis As abordagens ágeis mais difundidas e praticadas com sucesso são: Scrum: É uma abordagem ágil para o gerenciamento de projetos. Fornecepráticas que ajudam gerentes a tornar mais dinâmico e gerenciável o ambiente de desenvolvimento de software. XP (eXtreme Programming): É uma abordagem ágil para a engenharia deprojetos. Como o nome diz, extremamente focada no desenvolvimento, e tem como principal característica a programação em parFDD (Feature-Driven Development): É uma abordagem ágil para a engenhariade projetos. Defende o desenvolvimento de um modelo abrangente no início do projeto pelo qual as funcionalidades do sistema serão descobertas e desenvolvidas. ©2010 - Hélio Medeiros
  • 27. Introdução às abordagens ágeis Sucesso com Agile “O Yahoo! usa Scrum há mais de 22 meses, e possui uma média de 500 colaboradores usando Scrum nos Estados Unidos, Europa e Índia. Scrum vem sendo usado com sucesso em projetos como o Yahoo! Podcasts e outros” Pete DeemerChief Product Officer, CSM Yahoo! Bangalore - 25/07/2006 “Quando assumimos o projeto, ele possuía mais de 3.500 use-cases, que haviam levado dois anos de consultoria para serem desenvolvidos. O projeto estava fadado ao fracasso e considerado impossível. Após 15 meses utilizando as práticas da FDD já havíamos entregado 2.000 feautures com uma equipe de 50 pessoas” Jeff De Luca Gerente de Projeto neste famoso projeto do United Overseas Bank, em Cingapura ©2010 - Hélio Medeiros
  • 28. 4 Perguntas ??? ©2010 - Hélio Medeiros
  • 29. OBRIGADO !!Hélio Cabral Medeiroshelio.cabralmedeiros@gmail.comhttp://heliomedeiros.com ©2010 - Hélio Medeiros