Metodologias Ageis

9.831 visualizações

Publicada em

Publicada em: Tecnologia
1 comentário
3 gostaram
Estatísticas
Notas
  • tive q fazer um cadastro só p/ baixar essa merda!!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
Sem downloads
Visualizações
Visualizações totais
9.831
No SlideShare
0
A partir de incorporações
0
Número de incorporações
56
Ações
Compartilhamentos
0
Downloads
226
Comentários
1
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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!!!

×