SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
Universidade Federal de Sergipe
Departamento de Computação
Metodologias de Desenvolvimento de Software




         Desenvolvimento de aplicações WEB
         utilizando XP, Scrum e Ruby on Rails


 Alunos: Rafael Mendonça França
         Marcos José Ribeiro Barrêto
         Vilnei Leite Bottari
         Leonardo Araujo Zoehler Brum
         Gabriel Viana Passos
Agenda

 Introdução
 Características
 Ágeis x RAD
 Exemplos de metodologias ágeis
 Scrum
 XP
 Ruby on Rails
 Trabalhos futuros
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
Características

  Maior prioridade: satisfazer 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
Características

  Construir projetos com individualismo e motivação
    Proporcionar ambiente e suporte que os
    desenvolvedores precisam e confiar que eles farão o
    trabalho

  Conversa cara-a-cara
    Método mais efetivo e eficiente de se obter informação
    em uma equipe

  Um software funcionando é a medida de progresso

  Processos ágeis promovem desenvolvimento sustentável
Características

  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

  Em intervalos regulares, a equipe discute sobre um meio de
  aumentar a eficiência e então ajusta-se de acordo
Papéis?

 O Manifesto Ágil não define qualquer papel a ser exercido
 dentro de uma equipe

 Apenas princípios e valores com os quais se caracteriza
 uma metodologia como ágil
Á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 depois

 Equipes democráticas

 Membros das equipes são auto-gestores
Ágeis x RAD
 As práticas ágeis focam nos 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
Exemplos de Metodologias Ágeis

 Crystal Family

 FDD (Feature Driven Development)

 DSDM (Dynamic Systems Development Method)

 ASD (Adaptative Software Development)

 Scrum

 XP (eXtreme Programming)
Crystal Family
 Características:
    Os projetos sempre usam um ciclo de desenvolvimento
    com um tempo máximo de quatro meses, mas,
    preferivelmente, entre um e três meses;
    A ênfase é focada na comunicação e cooperação das
    pessoas;
    Não há limitação de qualquer prática de
    desenvolvimento, ferramentas ou produtos de trabalho;
    Provêem diretrizes padrão de política, produtos de
    trabalho, assuntos locais, ferramentas, padrões e papéis
    a serem seguidos no processo de desenvolvimento.
Feature Driven Development
FDD
 Características
    Resultados úteis a cada duas semanas ou menos
    Blocos bem pequenos de funcionalidade valorizada pelo
    cliente, chamados quot;Featuresquot;
    Planejamento detalhado e guia para medição
    Rastreabilidade e relatórios precisos
    Monitoramento detalhado dentro do projeto, com
    resumos de alto nível para clientes e gerentes
    Fornece uma forma de saber, no início, se o plano e a
    estimativa são sólidos
ESTRUTURA FDD
Fonte: http://www.heptagon.com.br/fdd-estrutura
Dynamic Systems Development
Method
DSDM
 Características do DSDM:
    Envolvimento ativo do Usuário
    Poder de decisão da equipe DSDM
    Entrega freqüente
    O critério mais importante para aceitação é adequação à
    tarefa requisitada
    Teste integrado ao ciclo de vida
Dynamic Systems Development
Method
DSDM
 Ciclo de vida DSDM:
    Estudo de Viabilidade - determina se o projeto é
    factível ou não, e se o DSDM é o método adequado.
    Estudo do Negócio - Nesta etapa são determinados os
    requisitos primários.
    Iteração para o Modelo Funcional e Iteração para
    Desenvolvimento - ocorre o desenvolvimento em si,
    sendo que na primeira é aprimorado o levantamento de
    requisitos, e na segunda, assegurada a qualidade dos
    protótipos gerados.
    Implementação - Esta fase engloba a entrega do
    produto e as atividades relacionadas.
Adaptative Software Development
ASD
 Atuação principalmente em sistemas complexos
 Estimula o desenvolvimento com repetições e uma
 constante prototipação
 Ciclo de vida composto por três fases:
    Especulação: utilizada no lugar de planejamento
    Colaboração: realça a importância de trabalho de equipe
    Aprendizado: devido à necessidade para reconhecer e
    reagir a decisões erradas e o fato que os requisitos
    podem mudar durante o desenvolvimento.
Scrum

 O que é Scrum

 Papéis em Scrum

 Fases do Scrum
O que é 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,
 em contraposição às metodologias tradicionais
Papéis em Scrum

 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
Fases do Scrum

 Pré-game

   Planejamento
      Define um novo release através do backlog
      Estimativa de prazos e custos

   Arquitetura
      Revisão do backlog
      Estebelece como os itens do backlog serão
      implementados
Fases do Scrum

 Game

   Sprints

        Desenvolvimento : implementa os itens do backlog e
        realiza as mudanças necessárias
        Corte : cria uma versão executável daquilo que foi
        implementado
        Revisão : avalia o progresso do desenvolvimento,
        adicionando novos itens ao backlog
        Ajuste : consolida as informações adquiridas na
        revisão
Fases do Scrum

 Postgame

   Fechamento

      Prepara o produto desenvolvido para o release
      Testa o sistema
      Prepara a documentação para o usuário
      Promove treinamento
Fases do Scrum
XP (eXtreme Programming)

 Introdução

 Ciclo de Vida

 Papéis e responsabilidades

 Práticas
XP - Introdução

  É uma metodologia ágil de desenvolvimento de software
  criada por Kent Beck

  Prima pela qualidade do software desenvolvido

  XP recomenda que mudanças sejam prontamente
  “abraçadas”, aceitas sem relutância

  Simplicidade e um rápido feedback por parte dos clientes
XP - Introdução
XP - Ciclo de vida

  Exploração

  Planejamento

  Iterações para liberação

  Produção

  Manutenção

  Morte
XP - Ciclo de vida
XP - Ciclo de vida

  Exploração

    O cliente escreve histórias
    Cada história descreve uma função adicionada ao
    programa
    Equipe se familiariza com as técnicas, ferramentas,
    tecnologias e práticas que serão usadas no projeto
    As possíveis arquiteturas são exploradas, construindo-
    se um protótipo do sistema
    Esta fase dura o sufuciente para os programadores se
    familiarizarem com o projeto
XP - Ciclo de vida

  Planejamento

    É determinada a prioridade das histórias
    É feito um acordo das funções que irão constar na
    primeira liberação
    Não deve exceder duas semanas
XP - Ciclo de vida

  Iteração para liberação

     Inclui várias iterações do sistema antes da sua primeira
     liberação
     A programação que foi feita durante a fase de
     planejamento é quebrada em iterações sendo que cada
     iteração leva de um a quatro semanas para ser
     completada
     A primeira iteração cria um sistema base com as
     principais histórias
     O cliente decide as histórias que vão ser implementadas
     a cada iteração
XP - Ciclo de vida

  Produção

    Faz teste extra e checa o desempenho do sistema antes
    que este seja entregue ao cliente
    Podem existir mudanças
    Reduz as iterações para uma semana
    As idéias e sugestões são documentadas para
    implementação futura durante a fase de manutenção
XP - Ciclo de vida

  Manutenção

    Depois da primeira liberação, o XP deve manter o
    sistema rodando e introduzir novas iterações
    A velocidade pode desacelerar para evitar erros no
    sistema em produção
    Pode haver mudanças na equipe e na sua estrutura
XP - Ciclo de vida

  Morte

    Cliente não tem mais histórias a serem implementadas
    Sistema satisfaz as necessidades do cliente
    É feita a documentação do sistema, mas nenhuma linha
    de código é alterada
    Pode ocorrer quando o sistema não esteja exibindo as
    saídas corretas ou se tornou muito caro para
    desenvolvimento adicional
XP - Papéis e responsabilidades

  Cliente
  Verificador
  Fiscal (Tracker)
  Técnico
  Programador
  Consultor
  Gerente (Big Boss)
XP - Papéis e responsabilidades

  Cliente

     O cliente escreve as histórias e testes funcionais e
     decide quando cada requisito deve ser satisfeito

     Também determina a prioridade de implementação dos
     requisitos
XP - Papéis e responsabilidades

  Verificador

     O verificador ajuda o cliente a escrever os testes
     funcionais

     Os verificadores rodam testes funcionais regularmente,
     transmitem o resultado dos testes e mantém as
     ferramentas de testes
XP - Papéis e responsabilidades

  Fiscal (Tracker)

     Fornece feedback ao processo XP

     Traça as estimativas feitas pela equipe (por exemplo,
     estimativas de custo) e dá o feedback de quão exatas
     essas estimativas estão para melhorar as futuras

     Determina o progresso de cada iteração e avalia se o
     objetivo é alcançado com os recursos e o tempo
     fornecidos ou se qualquer mudança é necessária
     durante o processo
XP - Papéis e responsabilidades

  Técnico

     É a pessoa responsável pelo processo como um todo

     Quem exerce esse papel deve possuir um
     conhecimento amplo de toda a metodologia XP,
     conhecimento esse que deve habilitar o técnico a guiar
     os outros membros do time durante todo o processo
XP - Papéis e responsabilidades

  Programador

    Escreve os testes e programa mantendo o código do
    programa o mais simples e definido possível

    A primeira coisa que faz o processo XP obter sucesso é
    a comunicação e coordenação com os outros
    programadores e membros da equipe
XP - Papéis e responsabilidades

 Consultor

    É um membro externo que detém conhecimento técnico
    específico necessário

    Guia a equipe para resolver os problemas específicos
XP - Papéis e responsabilidades

  Gerente (BIG BOSS)

    Toma as decisões comunicando-se com a equipe de
    projeto para determinar a situação atual e para distinguir
    qualquer dificuldade ou deficiência no processo.
Práticas do XP

 Jogo de planejamento        Posse coletiva
 Liberações em curto tempo   Integração Continuada
 Metáfora                    40 horas por semana
 Design simples              Cliente no local
 Teste                       Padrões de código
 Reconstrução                Área de trabalho aberta
 Programação em par          Regras justas
XP - Práticas

  Jogo de planejamento
     Programadores estimam o esforço para implementar as
     histórias
     Clientes decidem o escopo e tempo dos releases

  Releases em curto tempo
     Produz-se rapidamente um sistema simples
     Atualizações freqüentes em ciclos curtos

  Metáforas
    Descrevem o funcionamento do sistema
    Facilitam a comunicação programador/cliente
XP - Práticas

  Design simples
    Satisfazer estritamente as necessidades
    Ênfase na agregação de valor

  Testes
     Dirigem o desenvolvimento do sistema
     Testes unitários
     Testes de aceitação

  Reconstrução
    O sistema é reestruturado visando sua melhoria
    contínua
XP - Práticas

  Programação em par
     Dois programadores juntos em uma mesma máquina
     Provê melhoria de qualidade, segundo experimentos

  Posse coletiva
     Qualquer parte do código pode ser alterada por
     qualquer programador
     Aumento na velocidade de desenvolvimento
XP - Práticas

  Integração continuada
      Novos blocos de código são integrados com freqüência
      ao sistema
      Mantém os progrmadores em sintonia
      Requer testes adequados

  40 horas por semana
     Visa evitar erros por trabalho excessivo

  Cliente no local
      Comunicação constante com o cliente
      Diminuição do número de documentos
XP - Práticas

  Padrões de código
     Garante a clareza do código, auxiliando a posse coletiva

  Área de trabalho aberta
     Espaço amplo para se trabalhar

  Regras justas
    As equipes têm regras próprias a serem seguidas
    As regras são mutáveis, mas é preciso entrar num
    acordo
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 ap
 Web 2.0

 Todas as aplicações Rails são feitas usando o padrão
 arquitetural MVC (Model-View-Controler)
Ruby on Rails
 Todas as aplicações Rails vêm com suporte a testes
 integrados.O framework facilita o teste de aplicações e,
 como resultado, as aplicações Rails tendem a ser 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
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
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.
Ruby on Rails

 Algumas ferramentas do Rails:

    Migrations
    Fixtures
    Generator
    Templates
    Plugins
Caminhos Ágeis com o Rails
Caminhos Ágeis com Rails
Trabalhos Futuros

 SCRUM, XP 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
quot;Try and fail, but not fail on tryquot;

        Bons Caminhos

Mais conteúdo relacionado

Mais procurados

Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel Brandão
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareLuciano Almeida
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Claudia Melo
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisDaniel Ferreira
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilJaffer Veronezi
 
eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)Renato Pina
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 

Mais procurados (20)

Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 

Destaque

Apresentação Crystal Clear
Apresentação Crystal ClearApresentação Crystal Clear
Apresentação Crystal ClearThiago Sinésio
 
Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.James Moreira
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
ASD (Adaptive Software Development)
ASD (Adaptive Software Development)ASD (Adaptive Software Development)
ASD (Adaptive Software Development)urumisama
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software RupFelipe
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMarcelo Murad
 
Metodologia ágil das Desenvolvimento Adaptativo Software
Metodologia ágil das   Desenvolvimento Adaptativo SoftwareMetodologia ágil das   Desenvolvimento Adaptativo Software
Metodologia ágil das Desenvolvimento Adaptativo SoftwareMarilainny Martins da Silva
 
Integração office, word, excel, power point
Integração office, word, excel, power pointIntegração office, word, excel, power point
Integração office, word, excel, power pointJames Moreira
 

Destaque (12)

Apresentação Crystal Clear
Apresentação Crystal ClearApresentação Crystal Clear
Apresentação Crystal Clear
 
Metodos agiles
Metodos agilesMetodos agiles
Metodos agiles
 
Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.Scrum - Profº James Moreira Jr.
Scrum - Profº James Moreira Jr.
 
Crystal
CrystalCrystal
Crystal
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Visao Geral Rup
Visao Geral RupVisao Geral Rup
Visao Geral Rup
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
ASD (Adaptive Software Development)
ASD (Adaptive Software Development)ASD (Adaptive Software Development)
ASD (Adaptive Software Development)
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software Rup
 
Metodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs AgileMetodologias de desenvolvimento - Waterfall vs Agile
Metodologias de desenvolvimento - Waterfall vs Agile
 
Metodologia ágil das Desenvolvimento Adaptativo Software
Metodologia ágil das   Desenvolvimento Adaptativo SoftwareMetodologia ágil das   Desenvolvimento Adaptativo Software
Metodologia ágil das Desenvolvimento Adaptativo Software
 
Integração office, word, excel, power point
Integração office, word, excel, power pointIntegração office, word, excel, power point
Integração office, word, excel, power point
 

Semelhante a Metodologias Ageis

Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptHurgelNeto
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...Luiz Lemos
 
1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCPFrank Coelho
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcpFrank Coelho
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Caminhos do Scrum
Caminhos do ScrumCaminhos do Scrum
Caminhos do Scrumjrompkovski
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareRoberto Brandini
 
Oficina de Metodologias Ágeis
Oficina de Metodologias ÁgeisOficina de Metodologias Ágeis
Oficina de Metodologias ÁgeisProfa Karen Borges
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPaulo Furtado
 

Semelhante a Metodologias Ageis (20)

ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
38484931 questionario-es
38484931 questionario-es38484931 questionario-es
38484931 questionario-es
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcp
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Caminhos do Scrum
Caminhos do ScrumCaminhos do Scrum
Caminhos do Scrum
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
FDD
FDDFDD
FDD
 
Gerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de softwareGerenciamento de equipes no desenvolvimento de software
Gerenciamento de equipes no desenvolvimento de software
 
Oficina de Metodologias Ágeis
Oficina de Metodologias ÁgeisOficina de Metodologias Ágeis
Oficina de Metodologias Ágeis
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
 
Método Ágil Scrum
Método Ágil ScrumMétodo Ágil Scrum
Método Ágil Scrum
 

Último

Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 

Último (20)

Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 

Metodologias Ageis

  • 1. Universidade Federal de Sergipe Departamento de Computação Metodologias de Desenvolvimento de Software Desenvolvimento de aplicações WEB utilizando XP, Scrum e Ruby on Rails 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: satisfazer 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
  • 5. Características Construir projetos com individualismo e motivação Proporcionar ambiente e suporte que os desenvolvedores precisam e confiar que eles farão o trabalho Conversa cara-a-cara Método mais efetivo e eficiente de se obter informação em uma equipe Um software funcionando é a medida de progresso Processos ágeis promovem desenvolvimento sustentável
  • 6. Características 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 Em intervalos regulares, a equipe discute sobre um meio de aumentar a eficiência e então ajusta-se de acordo
  • 7. Papéis? O Manifesto Ágil não define qualquer papel a ser exercido dentro de uma equipe Apenas princípios e valores com os quais se caracteriza uma metodologia como ágil
  • 8. Á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 depois Equipes democráticas Membros das equipes são auto-gestores
  • 9. Ágeis x RAD As práticas ágeis focam nos 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
  • 10. Exemplos de Metodologias Ágeis Crystal Family FDD (Feature Driven Development) DSDM (Dynamic Systems Development Method) ASD (Adaptative Software Development) Scrum XP (eXtreme Programming)
  • 11. Crystal Family Características: Os projetos sempre usam um ciclo de desenvolvimento com um tempo máximo de quatro meses, mas, preferivelmente, entre um e três meses; A ênfase é focada na comunicação e cooperação das pessoas; Não há limitação de qualquer prática de desenvolvimento, ferramentas ou produtos de trabalho; Provêem diretrizes padrão de política, produtos de trabalho, assuntos locais, ferramentas, padrões e papéis a serem seguidos no processo de desenvolvimento.
  • 12. Feature Driven Development FDD Características Resultados úteis a cada duas semanas ou menos Blocos bem pequenos de funcionalidade valorizada pelo cliente, chamados quot;Featuresquot; Planejamento detalhado e guia para medição Rastreabilidade e relatórios precisos Monitoramento detalhado dentro do projeto, com resumos de alto nível para clientes e gerentes Fornece uma forma de saber, no início, se o plano e a estimativa são sólidos
  • 14. Dynamic Systems Development Method DSDM Características do DSDM: Envolvimento ativo do Usuário Poder de decisão da equipe DSDM Entrega freqüente O critério mais importante para aceitação é adequação à tarefa requisitada Teste integrado ao ciclo de vida
  • 15. Dynamic Systems Development Method DSDM Ciclo de vida DSDM: Estudo de Viabilidade - determina se o projeto é factível ou não, e se o DSDM é o método adequado. Estudo do Negócio - Nesta etapa são determinados os requisitos primários. Iteração para o Modelo Funcional e Iteração para Desenvolvimento - ocorre o desenvolvimento em si, sendo que na primeira é aprimorado o levantamento de requisitos, e na segunda, assegurada a qualidade dos protótipos gerados. Implementação - Esta fase engloba a entrega do produto e as atividades relacionadas.
  • 16. Adaptative Software Development ASD Atuação principalmente em sistemas complexos Estimula o desenvolvimento com repetições e uma constante prototipação Ciclo de vida composto por três fases: Especulação: utilizada no lugar de planejamento Colaboração: realça a importância de trabalho de equipe Aprendizado: devido à necessidade para reconhecer e reagir a decisões erradas e o fato que os requisitos podem mudar durante o desenvolvimento.
  • 17. Scrum O que é Scrum Papéis em Scrum Fases do Scrum
  • 18. O que é 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, em contraposição às metodologias tradicionais
  • 19. Papéis em Scrum 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
  • 20. Fases do Scrum Pré-game Planejamento Define um novo release através do backlog Estimativa de prazos e custos Arquitetura Revisão do backlog Estebelece como os itens do backlog serão implementados
  • 21. Fases do Scrum Game Sprints Desenvolvimento : implementa os itens do backlog e realiza as mudanças necessárias Corte : cria uma versão executável daquilo que foi implementado Revisão : avalia o progresso do desenvolvimento, adicionando novos itens ao backlog Ajuste : consolida as informações adquiridas na revisão
  • 22. Fases do Scrum Postgame Fechamento Prepara o produto desenvolvido para o release Testa o sistema Prepara a documentação para o usuário Promove treinamento
  • 24. XP (eXtreme Programming) Introdução Ciclo de Vida Papéis e responsabilidades Práticas
  • 25. XP - Introdução É uma metodologia ágil de desenvolvimento de software criada por Kent Beck Prima pela qualidade do software desenvolvido XP recomenda que mudanças sejam prontamente “abraçadas”, aceitas sem relutância Simplicidade e um rápido feedback por parte dos clientes
  • 27. XP - Ciclo de vida Exploração Planejamento Iterações para liberação Produção Manutenção Morte
  • 28. XP - Ciclo de vida
  • 29. XP - Ciclo de vida Exploração O cliente escreve histórias Cada história descreve uma função adicionada ao programa Equipe se familiariza com as técnicas, ferramentas, tecnologias e práticas que serão usadas no projeto As possíveis arquiteturas são exploradas, construindo- se um protótipo do sistema Esta fase dura o sufuciente para os programadores se familiarizarem com o projeto
  • 30. XP - Ciclo de vida Planejamento É determinada a prioridade das histórias É feito um acordo das funções que irão constar na primeira liberação Não deve exceder duas semanas
  • 31. XP - Ciclo de vida Iteração para liberação Inclui várias iterações do sistema antes da sua primeira liberação A programação que foi feita durante a fase de planejamento é quebrada em iterações sendo que cada iteração leva de um a quatro semanas para ser completada A primeira iteração cria um sistema base com as principais histórias O cliente decide as histórias que vão ser implementadas a cada iteração
  • 32. XP - Ciclo de vida Produção Faz teste extra e checa o desempenho do sistema antes que este seja entregue ao cliente Podem existir mudanças Reduz as iterações para uma semana As idéias e sugestões são documentadas para implementação futura durante a fase de manutenção
  • 33. XP - Ciclo de vida Manutenção Depois da primeira liberação, o XP deve manter o sistema rodando e introduzir novas iterações A velocidade pode desacelerar para evitar erros no sistema em produção Pode haver mudanças na equipe e na sua estrutura
  • 34. XP - Ciclo de vida Morte Cliente não tem mais histórias a serem implementadas Sistema satisfaz as necessidades do cliente É feita a documentação do sistema, mas nenhuma linha de código é alterada Pode ocorrer quando o sistema não esteja exibindo as saídas corretas ou se tornou muito caro para desenvolvimento adicional
  • 35. XP - Papéis e responsabilidades Cliente Verificador Fiscal (Tracker) Técnico Programador Consultor Gerente (Big Boss)
  • 36. XP - Papéis e responsabilidades Cliente O cliente escreve as histórias e testes funcionais e decide quando cada requisito deve ser satisfeito Também determina a prioridade de implementação dos requisitos
  • 37. XP - Papéis e responsabilidades Verificador O verificador ajuda o cliente a escrever os testes funcionais Os verificadores rodam testes funcionais regularmente, transmitem o resultado dos testes e mantém as ferramentas de testes
  • 38. XP - Papéis e responsabilidades Fiscal (Tracker) Fornece feedback ao processo XP Traça as estimativas feitas pela equipe (por exemplo, estimativas de custo) e dá o feedback de quão exatas essas estimativas estão para melhorar as futuras Determina o progresso de cada iteração e avalia se o objetivo é alcançado com os recursos e o tempo fornecidos ou se qualquer mudança é necessária durante o processo
  • 39. XP - Papéis e responsabilidades Técnico É a pessoa responsável pelo processo como um todo Quem exerce esse papel deve possuir um conhecimento amplo de toda a metodologia XP, conhecimento esse que deve habilitar o técnico a guiar os outros membros do time durante todo o processo
  • 40. XP - Papéis e responsabilidades Programador Escreve os testes e programa mantendo o código do programa o mais simples e definido possível A primeira coisa que faz o processo XP obter sucesso é a comunicação e coordenação com os outros programadores e membros da equipe
  • 41. XP - Papéis e responsabilidades Consultor É um membro externo que detém conhecimento técnico específico necessário Guia a equipe para resolver os problemas específicos
  • 42. XP - Papéis e responsabilidades Gerente (BIG BOSS) Toma as decisões comunicando-se com a equipe de projeto para determinar a situação atual e para distinguir qualquer dificuldade ou deficiência no processo.
  • 43. Práticas do XP Jogo de planejamento Posse coletiva Liberações em curto tempo Integração Continuada Metáfora 40 horas por semana Design simples Cliente no local Teste Padrões de código Reconstrução Área de trabalho aberta Programação em par Regras justas
  • 44. XP - Práticas Jogo de planejamento Programadores estimam o esforço para implementar as histórias Clientes decidem o escopo e tempo dos releases Releases em curto tempo Produz-se rapidamente um sistema simples Atualizações freqüentes em ciclos curtos Metáforas Descrevem o funcionamento do sistema Facilitam a comunicação programador/cliente
  • 45. XP - Práticas Design simples Satisfazer estritamente as necessidades Ênfase na agregação de valor Testes Dirigem o desenvolvimento do sistema Testes unitários Testes de aceitação Reconstrução O sistema é reestruturado visando sua melhoria contínua
  • 46. XP - Práticas Programação em par Dois programadores juntos em uma mesma máquina Provê melhoria de qualidade, segundo experimentos Posse coletiva Qualquer parte do código pode ser alterada por qualquer programador Aumento na velocidade de desenvolvimento
  • 47. XP - Práticas Integração continuada Novos blocos de código são integrados com freqüência ao sistema Mantém os progrmadores em sintonia Requer testes adequados 40 horas por semana Visa evitar erros por trabalho excessivo Cliente no local Comunicação constante com o cliente Diminuição do número de documentos
  • 48. XP - Práticas Padrões de código Garante a clareza do código, auxiliando a posse coletiva Área de trabalho aberta Espaço amplo para se trabalhar Regras justas As equipes têm regras próprias a serem seguidas As regras são mutáveis, mas é preciso entrar num acordo
  • 49. 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 ap Web 2.0 Todas as aplicações Rails são feitas usando o padrão arquitetural MVC (Model-View-Controler)
  • 50. Ruby on Rails Todas as aplicações Rails vêm com suporte a testes integrados.O framework facilita o teste de aplicações e, como resultado, as aplicações Rails tendem a ser 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
  • 51. 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
  • 52. 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.
  • 53. Ruby on Rails Algumas ferramentas do Rails: Migrations Fixtures Generator Templates Plugins
  • 56. Trabalhos Futuros SCRUM, XP 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
  • 57. quot;Try and fail, but not fail on tryquot; Bons Caminhos