Your SlideShare is downloading. ×

Metodologias Ageis

7,795
views

Published on

Published in: Technology

1 Comment
2 Likes
Statistics
Notes
  • tive q fazer um cadastro só p/ baixar essa merda!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
7,795
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
192
Comments
1
Likes
2
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. 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. Agenda
      • Introdução
      • Características
      • Ágeis x RAD
      • Exemplos de metodologias ágeis
      • Scrum
      • XP 
      • Ruby on Rails
      • Trabalhos futuros
  • 3. Introdução
      • Aliança de Desenvolvimento Ágil de Software
        • Fundada em 11-13/02/2001
        • 17 pessoas envolvidas 
      • Metodologia Ágil
        • Há Modelagem
        • Há Documentação
        • Há Planejamento 
      • Valoriza-se
        • Individualidade e interações > processos e ferramentas
        • Software funcional > documentação
        • Colaboração do cliente > negociação de contrato
        • Responder às mudanças > seguir um plano
  • 4. Características
      • Maior prioridade: satifazer o cliente com entrega contínua e mais cedo possível de um software usável
      • Mudanças de requerimentos são sempre bem vindas, mesmo quando for tarde
      • Entregar freqüentemente um software que funcione
        • Algumas semanas/meses
      • Cliente e desenvolvedor trabalham juntos diariamente no projeto
      • Construir projetos com individualismo e motivação
        • Proporcionar ambiente e suporte que os desenvolvedores precisam e confiar que eles farão o trabalho
  • 5. Características
      • Conversa cara-a-cara
        • Método mais efetivo e eficiente de se obter informação em uma equipe
      • Um software funcionando é a nossa medida de progress
      • Processos ágeis promovem desenvolvimento sustentável
      • Atenção contínua na excelência técnica e num bom design aumentam a agilidade
      • Simplicidade
        • Fácil de mudar
      • A melhor arquitetura, requerimento e design surgem das equipes com auto-organização
  • 6. Características
      • Em intervalos regulares, a equipe discute sobre um meio de aumentar a eficiência e então ajusta-se de acordo
  • 7. Ágeis x RAD
      • Não admite protótipos
      • Projetos são quebrados em funcionalidades
        • No RAD o foco está em entregar todas as funcionalidades de uma vez
          • Baixa qualidade antes para depois haver um melhoramento
      • Equipes democráticas
      • Membros da equipes são auto-gestores
      • As práticas ágeis focam no problemas e os resolvem o mais rápido possível
      • Equipes se comunicam
      • Equipes demonstram apenas trabalhos completos
      • Equipes incluem também testadores e especialistas com experiência de usuário
  • 8. Exemplos de Metodologias Ágeis
      • Scrum
      • XP (eXtreme Programming)
      • FDD (Feature Driven Development)
      • Crystal
      • DSDM (Dynamic Systems Development Method)
      • OpenUP (Open Unified Process)
      • AUP (Agile Unified Process)
  • 9. Scrum
      • Scrum é uma metodologia ágil para gestão e planejamento de software.
      • Parte da premissa de que o processo de desenvolvimento é complexo e imprevisível
      • Adota uma abordagem empírica em relação ao processo
      • Pincipais papéis
        • Project Owner : prioriza os requisitos do sistema, enumerados no chamado backlog ;
        •   Scrum Master : age como facilitador para a equipe de desenvolvimento
        •   Equipe Scrum : grupo responsável pelo cumprimento das tarefas definidas
  • 10. Scrum
      • A partir do backlog, são definidas iterações curtas, denominadas sprints .
      •   Os sprints baseiam-se no ciclo PDCA e fornecem ao final incrementos prontos do sistema.
      •   Cabe à equipe Scrum, com o auxílio do Scrum Master, cumprir os objetivos do sprint.
  • 11. XP
      • XP ( Extreme programming ) é uma metodologia de desenvolvimento ágil adequada para sistemas com requisitos vagos e em mudança constante.
      • Vale-se de metáforas para facilitar a comunicação com o cliente.
      • Os requisitos são descritos em linguagem simples nas chamadas histórias de usuário . 
      • As iterações são semanais, gerando, ao final, uma "pequena versão"  do sistema.
      • Os testes de aceitação , definidos pelo cliente, validam as funcionalidades implementadas.
      • A XP preza pela simplicidade do projeto
  • 12. XP
      • É utilizada a prática de programação em pares.
      • A equipe é incentivada a conhecer todas as partes do sistema desenvolvido.
      • São estabelecidos padrões de codificação que devem seguidos por todos na equipe.
  • 13. Ruby on Rails
      • É um framework que torna fácil o desenvolvimento, a distribuição e a manutenção de aplicações Web.
      • Ele é uma das principais escolhas no desenvolvimento das  aplicações Web 2.0.
      • Todas as aplicações Rails são feitas usando o padrão arquitetural MVC (Model-View-Controler).
      • 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.
      • As aplicações Rails são feitas na linguagem Ruby, uma linguagem moderna, de script orientada a objetos.
      • É 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.
  • 14. Ruby on Rails
    • 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
  • 15. Ruby on Rails
      • Os projetos em Rails seguem uma dupla de conceitos chaves:
        • DRY (Don't Repeat Yourself)
        • Convenção sobre configuração 
      • Rails traz o que há de mais novo em padrões para desenvolvimento Web (Ajax, REST).
      • 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.
  • 16. Ruby on Rails
      • Algumas ferramentas do Rails:
        • Migrations
        • Fixtures
        • Generator
        • Templates
        • Plugins
  • 17. Trabalhos Futuros
      • SCRUM e certificações existentes (MPS.BR, CMMI, PMBOK, etc).
      • 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.
  • 18. BONS CAMINHOS!!!