O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Metodologias Ageis

9.916 visualizações

Publicada em

Publicada em: Tecnologia
  • tive q fazer um cadastro só p/ baixar essa merda!!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Metodologias Ageis

  1. 1. Universidade Federal de Sergipe Departamento de Computação Metodologias de Desenvolvimento de Software Metodologias Ágeis Alunos: Rafael Mendonça França              Marcos José Ribeiro Barrêto              Vilnei Leite Bottari              Leonardo Araujo Zoehler Brum              Gabriel Viana Passos
  2. 2. Agenda <ul><ul><li>Introdução </li></ul></ul><ul><ul><li>Características </li></ul></ul><ul><ul><li>Ágeis x RAD </li></ul></ul><ul><ul><li>Exemplos de metodologias ágeis </li></ul></ul><ul><ul><li>Scrum </li></ul></ul><ul><ul><li>XP  </li></ul></ul><ul><ul><li>Ruby on Rails </li></ul></ul><ul><ul><li>Trabalhos futuros </li></ul></ul>
  3. 3. Introdução <ul><ul><li>Aliança de Desenvolvimento Ágil de Software </li></ul></ul><ul><ul><ul><li>Fundada em 11-13/02/2001 </li></ul></ul></ul><ul><ul><ul><li>17 pessoas envolvidas  </li></ul></ul></ul><ul><ul><li>Metodologia Ágil </li></ul></ul><ul><ul><ul><li>Há Modelagem </li></ul></ul></ul><ul><ul><ul><li>Há Documentação </li></ul></ul></ul><ul><ul><ul><li>Há Planejamento  </li></ul></ul></ul><ul><ul><li>Valoriza-se </li></ul></ul><ul><ul><ul><li>Individualidade e interações > processos e ferramentas </li></ul></ul></ul><ul><ul><ul><li>Software funcional > documentação </li></ul></ul></ul><ul><ul><ul><li>Colaboração do cliente > negociação de contrato </li></ul></ul></ul><ul><ul><ul><li>Responder às mudanças > seguir um plano </li></ul></ul></ul>
  4. 4. Características <ul><ul><li>Maior prioridade: satifazer o cliente com entrega contínua e mais cedo possível de um software usável </li></ul></ul><ul><ul><li>Mudanças de requerimentos são sempre bem vindas, mesmo quando for tarde </li></ul></ul><ul><ul><li>Entregar freqüentemente um software que funcione </li></ul></ul><ul><ul><ul><li>Algumas semanas/meses </li></ul></ul></ul><ul><ul><li>Cliente e desenvolvedor trabalham juntos diariamente no projeto </li></ul></ul><ul><ul><li>Construir projetos com individualismo e motivação </li></ul></ul><ul><ul><ul><li>Proporcionar ambiente e suporte que os desenvolvedores precisam e confiar que eles farão o trabalho </li></ul></ul></ul>
  5. 5. Características <ul><ul><li>Conversa cara-a-cara </li></ul></ul><ul><ul><ul><li>Método mais efetivo e eficiente de se obter informação em uma equipe </li></ul></ul></ul><ul><ul><li>Um software funcionando é a nossa medida de progress </li></ul></ul><ul><ul><li>Processos ágeis promovem desenvolvimento sustentável </li></ul></ul><ul><ul><li>Atenção contínua na excelência técnica e num bom design aumentam a agilidade </li></ul></ul><ul><ul><li>Simplicidade </li></ul></ul><ul><ul><ul><li>Fácil de mudar </li></ul></ul></ul><ul><ul><li>A melhor arquitetura, requerimento e design surgem das equipes com auto-organização </li></ul></ul>
  6. 6. Características <ul><ul><li>Em intervalos regulares, a equipe discute sobre um meio de aumentar a eficiência e então ajusta-se de acordo </li></ul></ul>
  7. 7. Ágeis x RAD <ul><ul><li>Não admite protótipos </li></ul></ul><ul><ul><li>Projetos são quebrados em funcionalidades </li></ul></ul><ul><ul><ul><li>No RAD o foco está em entregar todas as funcionalidades de uma vez </li></ul></ul></ul><ul><ul><ul><ul><li>Baixa qualidade antes para depois haver um melhoramento </li></ul></ul></ul></ul><ul><ul><li>Equipes democráticas </li></ul></ul><ul><ul><li>Membros da equipes são auto-gestores </li></ul></ul><ul><ul><li>As práticas ágeis focam no problemas e os resolvem o mais rápido possível </li></ul></ul><ul><ul><li>Equipes se comunicam </li></ul></ul><ul><ul><li>Equipes demonstram apenas trabalhos completos </li></ul></ul><ul><ul><li>Equipes incluem também testadores e especialistas com experiência de usuário </li></ul></ul>
  8. 8. Exemplos de Metodologias Ágeis <ul><ul><li>Scrum </li></ul></ul><ul><ul><li>XP (eXtreme Programming) </li></ul></ul><ul><ul><li>FDD (Feature Driven Development) </li></ul></ul><ul><ul><li>Crystal </li></ul></ul><ul><ul><li>DSDM (Dynamic Systems Development Method) </li></ul></ul><ul><ul><li>OpenUP (Open Unified Process) </li></ul></ul><ul><ul><li>AUP (Agile Unified Process) </li></ul></ul>
  9. 9. Scrum <ul><ul><li>Scrum é uma metodologia ágil para gestão e planejamento de software. </li></ul></ul><ul><ul><li>Parte da premissa de que o processo de desenvolvimento é complexo e imprevisível </li></ul></ul><ul><ul><li>Adota uma abordagem empírica em relação ao processo </li></ul></ul><ul><ul><li>Pincipais papéis </li></ul></ul><ul><ul><ul><li>Project Owner : prioriza os requisitos do sistema, enumerados no chamado backlog ; </li></ul></ul></ul><ul><ul><ul><li>  Scrum Master : age como facilitador para a equipe de desenvolvimento </li></ul></ul></ul><ul><ul><ul><li>  Equipe Scrum : grupo responsável pelo cumprimento das tarefas definidas </li></ul></ul></ul>
  10. 10. Scrum <ul><ul><li>A partir do backlog, são definidas iterações curtas, denominadas sprints . </li></ul></ul><ul><ul><li>  Os sprints baseiam-se no ciclo PDCA e fornecem ao final incrementos prontos do sistema. </li></ul></ul><ul><ul><li>  Cabe à equipe Scrum, com o auxílio do Scrum Master, cumprir os objetivos do sprint. </li></ul></ul>
  11. 11. XP <ul><ul><li>XP ( Extreme programming ) é uma metodologia de desenvolvimento ágil adequada para sistemas com requisitos vagos e em mudança constante. </li></ul></ul><ul><ul><li>Vale-se de metáforas para facilitar a comunicação com o cliente. </li></ul></ul><ul><ul><li>Os requisitos são descritos em linguagem simples nas chamadas histórias de usuário .  </li></ul></ul><ul><ul><li>As iterações são semanais, gerando, ao final, uma &quot;pequena versão&quot;  do sistema. </li></ul></ul><ul><ul><li>Os testes de aceitação , definidos pelo cliente, validam as funcionalidades implementadas. </li></ul></ul><ul><ul><li>A XP preza pela simplicidade do projeto </li></ul></ul>
  12. 12. XP <ul><ul><li>É utilizada a prática de programação em pares. </li></ul></ul><ul><ul><li>A equipe é incentivada a conhecer todas as partes do sistema desenvolvido. </li></ul></ul><ul><ul><li>São estabelecidos padrões de codificação que devem seguidos por todos na equipe. </li></ul></ul>
  13. 13. Ruby on Rails <ul><ul><li>É um framework que torna fácil o desenvolvimento, a distribuição e a manutenção de aplicações Web. </li></ul></ul><ul><ul><li>Ele é uma das principais escolhas no desenvolvimento das  aplicações Web 2.0. </li></ul></ul><ul><ul><li>Todas as aplicações Rails são feitas usando o padrão arquitetural MVC (Model-View-Controler). </li></ul></ul><ul><ul><li>Todas as aplicações Rails vem com suporte a testes integrados.O framework facilita o teste de aplicações,e como resultado, as aplicações Rails tendem a serem testadas. </li></ul></ul><ul><ul><li>As aplicações Rails são feitas na linguagem Ruby, uma linguagem moderna, de script orientada a objetos. </li></ul></ul><ul><ul><li>É fácil ler uma aplicação em Ruby, por ser uma linguagem concisa e que facilita a expressão de idéias no código. </li></ul></ul>
  14. 14. Ruby on Rails <ul><li>class Project < ActiveRecord::Base     belongs_to      :portfolio     has_one          :project_manager     has_many       :milestones     validates_presence_of       :name, :description     validates_acceptance_of   :non_disclosure_agreement     validates_uniqueness_of    :short_name end </li></ul>
  15. 15. Ruby on Rails <ul><ul><li>Os projetos em Rails seguem uma dupla de conceitos chaves: </li></ul></ul><ul><ul><ul><li>DRY (Don't Repeat Yourself) </li></ul></ul></ul><ul><ul><ul><li>Convenção sobre configuração  </li></ul></ul></ul><ul><ul><li>Rails traz o que há de mais novo em padrões para desenvolvimento Web (Ajax, REST). </li></ul></ul><ul><ul><li>O Rails facilita a distribuição e configuração das aplicações. As mudanças são geridas facilmente e podem ser feitas e desfeitas sem prejuízo algum para o desenvolvimento. </li></ul></ul>
  16. 16. Ruby on Rails <ul><ul><li>Algumas ferramentas do Rails: </li></ul></ul><ul><ul><ul><li>Migrations </li></ul></ul></ul><ul><ul><ul><li>Fixtures </li></ul></ul></ul><ul><ul><ul><li>Generator </li></ul></ul></ul><ul><ul><ul><li>Templates </li></ul></ul></ul><ul><ul><ul><li>Plugins </li></ul></ul></ul>
  17. 17. Trabalhos Futuros <ul><ul><li>SCRUM e certificações existentes (MPS.BR, CMMI, PMBOK, etc). </li></ul></ul><ul><ul><li>Testar, validar e aperfeiçoar a metodologia proposta na Empresa Júnior de Informática da UFS (Softeam Jr.) utilizando o Ruby on Rails como uma das ferramentas de desenvolvimento de software. </li></ul></ul>
  18. 18. BONS CAMINHOS!!!

×