SlideShare uma empresa Scribd logo
Métodos ágeis de
desenvolvimento de software


        Élvio Viçosa
     Jerônimo Madruga
        Mauro Kade
Súmario
•   Introdução
•   Scrum
•   FDD
•   XP
Introdução
• Sobre os métodos tradicionais
   – São baseados na produção de uma grande quantidade
     de documentação
   – São considerados métodos pesados
• Sobre os métodos ágeis
   – São o contraponto dos métodos tradicionais, sendo
     considerados métodos leves
   – As pesquisas sobre eles ainda são relativamente novas
   – Nem todas as práticas relacionadas aos métodos ágeis
     são novas
Introdução
• O manifesto ágil:
   – Satisfação do cliente através de entregas mais cedo e
     contínuas, utilizando ciclos de iteração menores
   – Aceitação e acomodação de requistos em qualquer
     tempo do desenvolvimento
   – Desenvolvedores e usuários trabalhando juntos
   – Times motivados e em ambientes apropriados
   – Minimização de documentação e maximização de troca
     de informação face-a-face
   – Encorajamento de atitudes reflexivas e contínuo
     aprendizado
Origem das idéias dos métodos agéis
Métodos ágeis
• Scrum
• Feature Driven Development (FDD)
• Extreme Programming (XP)
Scrum
• O termo Scrum é uma metáfora para uma situação
  em um jogo de Rugby. Esta situação envolve um
  grupo denso de pessoas, lutando pela posse da
  bola.
• O Scrum não é um método completo. Não requer
  que seja utilizada nenhuma prática ou técnica para
  o desenvolvimento de software
• Utiliza pequenos grupos
• É um método para gerenciamento de um projeto
  de software
Scrum
• Processos definidos X processos empíricos :
   – Um processo definido usa uma base de conhecimento
     sobre o processo: são descritos como reproduzíveis
   – Um processo empírico envolve atividades complicadas,
     não reproduzíveis e com resultados imprevisíveis
• As atividades envolvidas no desenvolvimento de
  software são complexas e poucas geram resultados
  repetidos
• O Scrum é baseado nos métodos utilizados nas
  fábricas químicas, que utilizam muito inspeções e
  ajustes.
Scrum
• Principais conceitos da metodologia Scrum:
   –   Time: máximo 7 pessoas
   –   Backlog do Produto
   –   Sprint: ciclo de desenvolvimento mensal
   –   Sprint Backlog
   –   Reunião de Planejamento do Sprint
   –   Reunião do Scrum diário
   –   Comunicação e retroalimentação
   –   ScrumMaster: lider responsável
   –   Incremento de produto potencialmente entregável:
       funcionalidades implementadas, testadas e com
       performance adequada
Diagrama de atividades do Scrum
Feature Driven Development
              (FDD)
• Baseado em modelos e guiado por características e
  implementado em ciclos curtos de iterações
• Os ciclos de implementação de uma característica
  são de no máximo 2 semanas
• Interessante para desenvolvedores pois estão
  permanentemente recebendo novas tarefas
• Interessante para os clientes pois vêem os
  resultados rapidamente
Feature Driven Development
              (FDD)
• Busca-se focar os esforços nas
  funcionalidades que sejam úteis aos olhos
  dos clientes...
• Procura-se restringir a lista de
  funcionalidades (características) àquelas
  que os usuários podem entender
Feature Driven Development
               (FDD)
• Uma feature ou característica é uma função com valor para
  o cliente e que pode ser implementada em duas semanas ou
  menos e é descrita da seguinte forma:
   – <ação><artigo><resultado><preposição><artigo><objeto>
       • Exemplos:
           – calcular o total de uma venda
           – calcular o total de compras de um cliente
• As features podem ser agrupadas. Neste caso são assim
  descritas:
   – <ação - verbo no particípio><artigo><objeto>
       • Exemplos:
           – Comprando um produto
           – Efetivando um pagamento
Feature Driven Development
              (FDD)
• Papéis no FDD:
  – Papéis chaves
     • Gerente de projeto, arquiteto-chefe, gerente de
       desenvolvimento, programador-chefe, dono-de-classe,
       especialista no negócio
  – Papéis de suporte
     • Gerente de liberações, gerente de configuração, administrador
       de rede, especialista na ferramenta, testador, documentador
  – Papéis adicionais
     • outros...
Feature Driven Development
              (FDD)
• Práticas no FDD
  – Modelagem dos objetos de negócio
  – Desenvolver por características
  – Posse de classes de código fonte
     • Cada classe tem um responsável e ele é responsável por sua
       construção e manutenção
  – Time de características
     • Cada feature tem um responsável
  – Builds regulares
  – Visible Progress Report
  – Inspeções
Feature Driven Development (FDD)
•Processos no FDD
Extreme Programming (XP)
• XP é considerado o mais importante movimento
  entre os métodos ágeis atualmente
• XP não é uma idéia totalmente terminada
• Os limites de sua aplicação ainda não estão bem
  definidos
• As práticas do método não precisam ser adotadas
  como um conjunto
• O principal objetivo do XP é reduzir o ciclo de
  desenvolvimento de alguns anos para alguns dias
  ou horas
Extreme Programming (XP)
Tempo
        Clássico     Iterativo     XP




                                        Escopo
Extreme Programming (XP)
Extreme Programming (XP)
• As práticas do XP:
   – Jogo de planejamento
      • As decisões sobre os prazos e escopo são tomadas pelos
        clientes
   – Pequenas liberações
      • Devem ser feitas liberações o mais rápido possível para o
        ambiente de produção
   – Metáfora
      • É definida uma metáfora para o objetivo do sistema
   – Projeto simplificado
      • O código deve ser sempre o mais simples possível
Extreme Programming (XP)
• As práticas do XP:
   – Testes
       • Os testes unitários são escritos pelos programadores com bastante
         freqüência. Os clientes escrevem os testes de aceitação. Os resultados
         dos testes são publicados e ficam visíveis para todos da equipe
   – Redesenho
       • O código vai sendo melhorado aos poucos
   – Programação em pares
       • Todo o código é escrito por um par de programadores
   – Integração contínua
       • Novas classes e métodos são integrados imediatamente
   – Propriedade coletiva do código
       • Qualquer programador, a qualquer momento, pode alterar qualquer
         porção do código fonte
Extreme Programming (XP)
• As práticas do XP:
   – Cliente disponível
      • O cliente ou usuário fica integralmente disponível para a
        equipe
   – Semana de 40 horas
      • Se houver necessidade de trabalho extra, é sinal que há
        problemas
   – Ambiente aberto
      • O time trabalha em um ambiente bastante espaçoso. O grupo
        de programação trabalha em estações de trabalho localizadas
        no centro do ambiente
   – Somente regras
      • As regras podem ser adaptadas e melhoradas, de acordo com a
        necessidade.
Extreme Programming (XP)
• Processo proposto pelo XP:
   – Ele se inicia com o cliente escolhendo as funcionalidades que serão
     implementadas. Estas funcionalidades são chamadas de estórias do
     usuário (user stories). A escolha leva em conta a estimativa de
     custo/tempo feita pelos programadores
   – O desenvolvimento é fortemente guiado a testes (TDD: Test-
     Driven Development). Os programadores escrevem testes
     unitários, que são classes que automatizam sequências de testes
     sobre outras classes. São escritos antes do código estar completo
   – Normalmente no par de programadores procura-se unir um com
     muita experiência em TDD e outro com pouca ou nenhuma
     experiência nesta técnica.
TDD: Test-Driven Development
                        Análise




          Test
          Driven
          Development
Extreme Programming (XP)
• Estórias dos usuários:
   – Uma estória do usuário é uma unidade funcional
   – Ela deve ser entendida pelos clientes e usuários, deve ser testável,
     deve ter valor para o cliente e deve ser pequena o bastante para que
     os programadores possam construir dúzias delas em um ciclo de
     iteração
   – Ela é formada por uma ou duas sentenças que descrevem algo com
     valor para o cliente:
       • O sistema deve verificar se o CPF do cliente é um número válido...
   – Os programadores deverão ser capazes de estimar o custo/tempo
     para implementar a estória. Caso isto não seja possível, a estória
     deve ser subdividida em estórias menores, para que possam ser
     então estimadas
   – As estórias do usuários devem ser criadas pelos clientes e usuários.
     Os desenvolvedores concentram-se nas decisões técnicas
Extreme Programming (XP)
• Estórias dos usuários:
   – O principal critério de ordenamento das estórias é o
     valor para o negócio
   – Não existe consenso nisto
   – O consenso é negociado quando houver problemas de
     priorização.
Exemplo de estória
                                              Everest           1             10

        Cadastro de usuário
                                                                     01 08 2005
Acessando-se o menu principal, administradores do sistema
têm privilégio de acesso ao módulo de cadastro de usuário.          Marcos

                                                                      02 08 2005
O módulo consiste num formulário simples que permite o cadas-
tramento de informações como: nome, sobrenome, endereço,
                                                                    Marcio
e-mail, telefone, estado e cidade.
                                                                       2
Após o cadastramento, é exibida uma página com a listagem
                                                                     04 08 2005
de usuários.
                                                                    Juliano
O evento de cadastramento é registrado em log de atividades.
                                                                      05 08 2005
                                                                      1,5
Extreme Programming (XP)
• Reportando o progresso de um projeto XP:
  – O progresso de cada iteração é medido e
    reportado por uma pessoa chamada tracker
  – A cada programador, o tracker faz duas
    perguntas básicas:
     • Quantos dias você já trabalhou nesta tarefa?
     • Mais quantos dias você precisa para completar a
       tarefa?
Extreme Programming (XP)
• Reportanto o progresso de um projeto XP:
   – Se o tracker descobre que um programador não vai
     conseguir terminar sua tarefa, ele tenta redistribuir o
     encargo para outro programador que esteja com alguma
     folga. Caso isto não seja possível, o cliente deve ser
     informado
   – As iterações no XP terminam na data estimada. As
     estórias implementadas, são apresentadas aos clientes,
     que decidirá se está adequada, a qual, neste caso, será
     considerada completa. As estórias incompletas serão
     consideradas para a próxima iteração
Considerações finais
• Outros Métodos Ágeis
  – ASD (Adaptive Software Development)
     • Mission-driven, component-driven (results), time-limited,
       timeboxed; risk driven; change tolerant
  – Crystal Clear
     • Strong communications; frequent deliveries; reduce overhead;
       management by milestones and risk lists
  – DSDM (Dynamic Systems Development Model)
     • User involvement, stakeholder collaboration; empowered
       team; frequent delivery; backtracking to reverse changes; high-
       level requirements baselining; iterative and incremental
       development; integrated lifecycle testing;
Considerações finais
      ABORDAGEM TRADICIONAL                      ABORDAGEM ÁGIL

Preditiva: detalhar o que ainda não é   Adaptativa: conhecer o problema e
bem conhecida                           resolver o crítico primeiro
Rígida: seguir especificação            Flexível: adaptar-se a requisitos
predefinida a qualquer custo            atuais, que podem mudar
Burocrática:controlar sempre, para      Simplista: fazer algo simples de
alcançar objetivo planejado             imediato, e alterar no futuro se for
                                        necessário
Orientado a processos: seguí-los
possibilita garantir a qualidade        Orientado a pessoas: motivadas,
                                        comprometidas e produtivas
Documentação: é a garantia de
confiança                               Comunicação: é a garantia de
                                        confiança
Sucesso: é entregar o planejado
                                        Sucesso: é entregar o desejado
Gerência: sinônimo de “comando-
controle”, voltada para o trabalho em   Gerência: sinônimo de “liderança-
massa com ênfase no papel do            orientação”, voltada para o trabalho
gerente, com planejamento e             do conhecimento, com ênfase na
disciplina fortes                       criatividade, flexibilidade e atenção às
                                        pessoas
Comparação das metodologias

METODOLOGIA            DIRIGIDA A            PRIORIZA
  Engenharia da         Construção do
                                               Informação
   Informação          Banco de Dados
                        Construção de
Análise Estruturada                          Procedimentos
                          sistemas
Análise Orientada a      Construção de
                                                 Objetos
      Objeto             Componentes
                        Implementação       Funções com valor
  Métodos Ágeis
                      contínua de funções     para o cliente
Métodos ágeis de
desenvolvimento de software


        Élvio Viçosa
     Jerônimo Madruga
        Mauro Kade

Mais conteúdo relacionado

Mais procurados

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
Cris Fidelix
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
Ralph Rassweiler
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
SCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de SoftwareSCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de Software
elliando dias
 
Apresentação Scrum 2012
Apresentação Scrum 2012Apresentação Scrum 2012
Apresentação Scrum 2012
Libia Boss
 
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
Roberto Brandini
 
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWAREDESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
Cloves da Rocha
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
Marcos Garrido
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
Alessandro Rodrigues, CSM, SFC
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
Annelise Gripp
 
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
Ludimila Monjardim Casagrande
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
Ruan Pozzebon
 
Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
diogenes.araujo
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
Luiz Borba
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
Fábio Giordani
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
Israel Santiago
 
Uma introdução ao SCRUM
Uma introdução ao SCRUMUma introdução ao SCRUM
Uma introdução ao SCRUM
elliando dias
 
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Flávio Steffens
 

Mais procurados (20)

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
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
 
SCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de SoftwareSCRUM Processo de Desenvolvimento de Software
SCRUM Processo de Desenvolvimento de Software
 
Apresentação Scrum 2012
Apresentação Scrum 2012Apresentação Scrum 2012
Apresentação Scrum 2012
 
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
 
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWAREDESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
DESENVOLVIMENTO E GERENCIAMENTO ÁGIL DE PROJETOS DE SOFTWARE
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Gestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com ScrumGestão Ágil de Projetos com Scrum
Gestão Ágil de Projetos com Scrum
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
 
Desenvolvimento ágil de software
Desenvolvimento ágil de softwareDesenvolvimento ágil de software
Desenvolvimento ágil de software
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
 
Uma introdução ao SCRUM
Uma introdução ao SCRUMUma introdução ao SCRUM
Uma introdução ao SCRUM
 
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
Cinco motivos para você não adotar metodologias ágeis - Rafael Prikladnicki F...
 

Semelhante a Métodos ágeis de desenvolvimento de software

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
HurgelNeto
 
Aula 3
Aula 3Aula 3
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
JAIMEMARTINS18
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
ssuser9a8135
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
Rudson Kiyoshi Souza Carvalho
 
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
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
Profa Karen Borges
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
Paulo Rebelo, MSc, PMP, CSP
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
Guilherme Campos Camargo
 
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
Rebecca Betwel
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Marcelo Láias
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
Roni Reis
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
João Carlos Ottobboni
 
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
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdf
PedroLuis216164
 
FDD
FDDFDD
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por FuncionalidadesFeature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Hiury Araújo
 
FDD
FDDFDD
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
Márcio Oya
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
Gustavo Medeiros
 

Semelhante a Métodos ágeis de desenvolvimento de software (20)

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
 
Aula 3
Aula 3Aula 3
Aula 3
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
ageis2003.ppt
ageis2003.pptageis2003.ppt
ageis2003.ppt
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
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)
 
Metodologias Ágeis
Metodologias ÁgeisMetodologias Ágeis
Metodologias Ágeis
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
 
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
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
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)
Introdução à Programação Extrema (Extreme Programming - XP)
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdf
 
FDD
FDDFDD
FDD
 
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por FuncionalidadesFeature Driven Development – Desenvolvimento Guiado por Funcionalidades
Feature Driven Development – Desenvolvimento Guiado por Funcionalidades
 
FDD
FDDFDD
FDD
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Trabalho xp
Trabalho xpTrabalho xp
Trabalho xp
 

Mais de Jerônimo Medina Madruga

PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019
PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019
PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019
Jerônimo Medina Madruga
 
Rock & Code - Como criar música programando - Tchelinux pelotas 2019
Rock & Code - Como criar música programando - Tchelinux pelotas 2019Rock & Code - Como criar música programando - Tchelinux pelotas 2019
Rock & Code - Como criar música programando - Tchelinux pelotas 2019
Jerônimo Medina Madruga
 
Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019
Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019
Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019
Jerônimo Medina Madruga
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Jerônimo Medina Madruga
 
Dê a cara a tapa como se destacar no mercado de trabalho - Tchelinux Sant'An...
Dê a cara a tapa  como se destacar no mercado de trabalho - Tchelinux Sant'An...Dê a cara a tapa  como se destacar no mercado de trabalho - Tchelinux Sant'An...
Dê a cara a tapa como se destacar no mercado de trabalho - Tchelinux Sant'An...
Jerônimo Medina Madruga
 
Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...
Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...
Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...
Jerônimo Medina Madruga
 
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Jerônimo Medina Madruga
 
Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...
Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...
Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...
Jerônimo Medina Madruga
 
Rock And Code: Como criar música programando
Rock And Code: Como criar música programandoRock And Code: Como criar música programando
Rock And Code: Como criar música programando
Jerônimo Medina Madruga
 
Do zero ao python em 40 minutos!
Do zero ao python em 40 minutos!Do zero ao python em 40 minutos!
Do zero ao python em 40 minutos!
Jerônimo Medina Madruga
 
Remember the name: Como se tornar um rockstar no mercado de trabalho
Remember the name: Como se tornar um rockstar no mercado de trabalhoRemember the name: Como se tornar um rockstar no mercado de trabalho
Remember the name: Como se tornar um rockstar no mercado de trabalho
Jerônimo Medina Madruga
 
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul BagéComo se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
Jerônimo Medina Madruga
 
Dê a cara a tapa 5 estratégias para se sobressair no mercado e ser um profis...
Dê a cara a tapa  5 estratégias para se sobressair no mercado e ser um profis...Dê a cara a tapa  5 estratégias para se sobressair no mercado e ser um profis...
Dê a cara a tapa 5 estratégias para se sobressair no mercado e ser um profis...
Jerônimo Medina Madruga
 
Aprendendo a aprender software livre - Tchelinux Bagé 2017
Aprendendo a aprender software livre - Tchelinux Bagé 2017Aprendendo a aprender software livre - Tchelinux Bagé 2017
Aprendendo a aprender software livre - Tchelinux Bagé 2017
Jerônimo Medina Madruga
 
Moodle direto das trincheiras - Tchelinux UCPel 2017
Moodle direto das trincheiras - Tchelinux UCPel 2017Moodle direto das trincheiras - Tchelinux UCPel 2017
Moodle direto das trincheiras - Tchelinux UCPel 2017
Jerônimo Medina Madruga
 
Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017
Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017
Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017
Jerônimo Medina Madruga
 
Tudo que você queria saber sobre software livre mas não tinha coragem de perg...
Tudo que você queria saber sobre software livre mas não tinha coragem de perg...Tudo que você queria saber sobre software livre mas não tinha coragem de perg...
Tudo que você queria saber sobre software livre mas não tinha coragem de perg...
Jerônimo Medina Madruga
 
Aprendendo a aprender software livre - Tchelinux Bagé 2016
Aprendendo a aprender software livre - Tchelinux Bagé 2016Aprendendo a aprender software livre - Tchelinux Bagé 2016
Aprendendo a aprender software livre - Tchelinux Bagé 2016
Jerônimo Medina Madruga
 
Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...
Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...
Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...
Jerônimo Medina Madruga
 
Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...
Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...
Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...
Jerônimo Medina Madruga
 

Mais de Jerônimo Medina Madruga (20)

PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019
PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019
PyGame Over: Insert coins to learn with Python - Tchelinux Porto Alegre 2019
 
Rock & Code - Como criar música programando - Tchelinux pelotas 2019
Rock & Code - Como criar música programando - Tchelinux pelotas 2019Rock & Code - Como criar música programando - Tchelinux pelotas 2019
Rock & Code - Como criar música programando - Tchelinux pelotas 2019
 
Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019
Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019
Rock 'n' Code - Como criar música programando - Tchelinux Camaquã 2019
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Dê a cara a tapa como se destacar no mercado de trabalho - Tchelinux Sant'An...
Dê a cara a tapa  como se destacar no mercado de trabalho - Tchelinux Sant'An...Dê a cara a tapa  como se destacar no mercado de trabalho - Tchelinux Sant'An...
Dê a cara a tapa como se destacar no mercado de trabalho - Tchelinux Sant'An...
 
Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...
Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...
Rock 'n' Code: Como criar música programando - I Semana Acadêmica da Licencia...
 
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
Do Zero ao Python - I Semana Acadêmica da Licenciatura em Computação - IFSul ...
 
Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...
Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...
Desmistificando a gamificação: como "jogos" podem potencializar a educação - ...
 
Rock And Code: Como criar música programando
Rock And Code: Como criar música programandoRock And Code: Como criar música programando
Rock And Code: Como criar música programando
 
Do zero ao python em 40 minutos!
Do zero ao python em 40 minutos!Do zero ao python em 40 minutos!
Do zero ao python em 40 minutos!
 
Remember the name: Como se tornar um rockstar no mercado de trabalho
Remember the name: Como se tornar um rockstar no mercado de trabalhoRemember the name: Como se tornar um rockstar no mercado de trabalho
Remember the name: Como se tornar um rockstar no mercado de trabalho
 
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul BagéComo se tornar um programador melhor - Saci 2017 IFSul Bagé
Como se tornar um programador melhor - Saci 2017 IFSul Bagé
 
Dê a cara a tapa 5 estratégias para se sobressair no mercado e ser um profis...
Dê a cara a tapa  5 estratégias para se sobressair no mercado e ser um profis...Dê a cara a tapa  5 estratégias para se sobressair no mercado e ser um profis...
Dê a cara a tapa 5 estratégias para se sobressair no mercado e ser um profis...
 
Aprendendo a aprender software livre - Tchelinux Bagé 2017
Aprendendo a aprender software livre - Tchelinux Bagé 2017Aprendendo a aprender software livre - Tchelinux Bagé 2017
Aprendendo a aprender software livre - Tchelinux Bagé 2017
 
Moodle direto das trincheiras - Tchelinux UCPel 2017
Moodle direto das trincheiras - Tchelinux UCPel 2017Moodle direto das trincheiras - Tchelinux UCPel 2017
Moodle direto das trincheiras - Tchelinux UCPel 2017
 
Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017
Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017
Aprendendo Software Livre como Neo Aprendeu Kung Fu - Tchelinux UCPel 2017
 
Tudo que você queria saber sobre software livre mas não tinha coragem de perg...
Tudo que você queria saber sobre software livre mas não tinha coragem de perg...Tudo que você queria saber sobre software livre mas não tinha coragem de perg...
Tudo que você queria saber sobre software livre mas não tinha coragem de perg...
 
Aprendendo a aprender software livre - Tchelinux Bagé 2016
Aprendendo a aprender software livre - Tchelinux Bagé 2016Aprendendo a aprender software livre - Tchelinux Bagé 2016
Aprendendo a aprender software livre - Tchelinux Bagé 2016
 
Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...
Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...
Need for (web) speed: Uma introdução a otimização de velocidade de sites e We...
 
Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...
Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...
Dê a Cara a Tapa: Uma Palestra Intrigante sobre Oceano Azul, Cauda Longa, Mer...
 

Métodos ágeis de desenvolvimento de software

  • 1. Métodos ágeis de desenvolvimento de software Élvio Viçosa Jerônimo Madruga Mauro Kade
  • 2. Súmario • Introdução • Scrum • FDD • XP
  • 3. Introdução • Sobre os métodos tradicionais – São baseados na produção de uma grande quantidade de documentação – São considerados métodos pesados • Sobre os métodos ágeis – São o contraponto dos métodos tradicionais, sendo considerados métodos leves – As pesquisas sobre eles ainda são relativamente novas – Nem todas as práticas relacionadas aos métodos ágeis são novas
  • 4. Introdução • O manifesto ágil: – Satisfação do cliente através de entregas mais cedo e contínuas, utilizando ciclos de iteração menores – Aceitação e acomodação de requistos em qualquer tempo do desenvolvimento – Desenvolvedores e usuários trabalhando juntos – Times motivados e em ambientes apropriados – Minimização de documentação e maximização de troca de informação face-a-face – Encorajamento de atitudes reflexivas e contínuo aprendizado
  • 5. Origem das idéias dos métodos agéis
  • 6. Métodos ágeis • Scrum • Feature Driven Development (FDD) • Extreme Programming (XP)
  • 7. Scrum • O termo Scrum é uma metáfora para uma situação em um jogo de Rugby. Esta situação envolve um grupo denso de pessoas, lutando pela posse da bola. • O Scrum não é um método completo. Não requer que seja utilizada nenhuma prática ou técnica para o desenvolvimento de software • Utiliza pequenos grupos • É um método para gerenciamento de um projeto de software
  • 8. Scrum • Processos definidos X processos empíricos : – Um processo definido usa uma base de conhecimento sobre o processo: são descritos como reproduzíveis – Um processo empírico envolve atividades complicadas, não reproduzíveis e com resultados imprevisíveis • As atividades envolvidas no desenvolvimento de software são complexas e poucas geram resultados repetidos • O Scrum é baseado nos métodos utilizados nas fábricas químicas, que utilizam muito inspeções e ajustes.
  • 9. Scrum • Principais conceitos da metodologia Scrum: – Time: máximo 7 pessoas – Backlog do Produto – Sprint: ciclo de desenvolvimento mensal – Sprint Backlog – Reunião de Planejamento do Sprint – Reunião do Scrum diário – Comunicação e retroalimentação – ScrumMaster: lider responsável – Incremento de produto potencialmente entregável: funcionalidades implementadas, testadas e com performance adequada
  • 11. Feature Driven Development (FDD) • Baseado em modelos e guiado por características e implementado em ciclos curtos de iterações • Os ciclos de implementação de uma característica são de no máximo 2 semanas • Interessante para desenvolvedores pois estão permanentemente recebendo novas tarefas • Interessante para os clientes pois vêem os resultados rapidamente
  • 12. Feature Driven Development (FDD) • Busca-se focar os esforços nas funcionalidades que sejam úteis aos olhos dos clientes... • Procura-se restringir a lista de funcionalidades (características) àquelas que os usuários podem entender
  • 13. Feature Driven Development (FDD) • Uma feature ou característica é uma função com valor para o cliente e que pode ser implementada em duas semanas ou menos e é descrita da seguinte forma: – <ação><artigo><resultado><preposição><artigo><objeto> • Exemplos: – calcular o total de uma venda – calcular o total de compras de um cliente • As features podem ser agrupadas. Neste caso são assim descritas: – <ação - verbo no particípio><artigo><objeto> • Exemplos: – Comprando um produto – Efetivando um pagamento
  • 14. Feature Driven Development (FDD) • Papéis no FDD: – Papéis chaves • Gerente de projeto, arquiteto-chefe, gerente de desenvolvimento, programador-chefe, dono-de-classe, especialista no negócio – Papéis de suporte • Gerente de liberações, gerente de configuração, administrador de rede, especialista na ferramenta, testador, documentador – Papéis adicionais • outros...
  • 15. Feature Driven Development (FDD) • Práticas no FDD – Modelagem dos objetos de negócio – Desenvolver por características – Posse de classes de código fonte • Cada classe tem um responsável e ele é responsável por sua construção e manutenção – Time de características • Cada feature tem um responsável – Builds regulares – Visible Progress Report – Inspeções
  • 16. Feature Driven Development (FDD) •Processos no FDD
  • 17. Extreme Programming (XP) • XP é considerado o mais importante movimento entre os métodos ágeis atualmente • XP não é uma idéia totalmente terminada • Os limites de sua aplicação ainda não estão bem definidos • As práticas do método não precisam ser adotadas como um conjunto • O principal objetivo do XP é reduzir o ciclo de desenvolvimento de alguns anos para alguns dias ou horas
  • 18. Extreme Programming (XP) Tempo Clássico Iterativo XP Escopo
  • 20. Extreme Programming (XP) • As práticas do XP: – Jogo de planejamento • As decisões sobre os prazos e escopo são tomadas pelos clientes – Pequenas liberações • Devem ser feitas liberações o mais rápido possível para o ambiente de produção – Metáfora • É definida uma metáfora para o objetivo do sistema – Projeto simplificado • O código deve ser sempre o mais simples possível
  • 21. Extreme Programming (XP) • As práticas do XP: – Testes • Os testes unitários são escritos pelos programadores com bastante freqüência. Os clientes escrevem os testes de aceitação. Os resultados dos testes são publicados e ficam visíveis para todos da equipe – Redesenho • O código vai sendo melhorado aos poucos – Programação em pares • Todo o código é escrito por um par de programadores – Integração contínua • Novas classes e métodos são integrados imediatamente – Propriedade coletiva do código • Qualquer programador, a qualquer momento, pode alterar qualquer porção do código fonte
  • 22. Extreme Programming (XP) • As práticas do XP: – Cliente disponível • O cliente ou usuário fica integralmente disponível para a equipe – Semana de 40 horas • Se houver necessidade de trabalho extra, é sinal que há problemas – Ambiente aberto • O time trabalha em um ambiente bastante espaçoso. O grupo de programação trabalha em estações de trabalho localizadas no centro do ambiente – Somente regras • As regras podem ser adaptadas e melhoradas, de acordo com a necessidade.
  • 23. Extreme Programming (XP) • Processo proposto pelo XP: – Ele se inicia com o cliente escolhendo as funcionalidades que serão implementadas. Estas funcionalidades são chamadas de estórias do usuário (user stories). A escolha leva em conta a estimativa de custo/tempo feita pelos programadores – O desenvolvimento é fortemente guiado a testes (TDD: Test- Driven Development). Os programadores escrevem testes unitários, que são classes que automatizam sequências de testes sobre outras classes. São escritos antes do código estar completo – Normalmente no par de programadores procura-se unir um com muita experiência em TDD e outro com pouca ou nenhuma experiência nesta técnica.
  • 24. TDD: Test-Driven Development Análise Test Driven Development
  • 25. Extreme Programming (XP) • Estórias dos usuários: – Uma estória do usuário é uma unidade funcional – Ela deve ser entendida pelos clientes e usuários, deve ser testável, deve ter valor para o cliente e deve ser pequena o bastante para que os programadores possam construir dúzias delas em um ciclo de iteração – Ela é formada por uma ou duas sentenças que descrevem algo com valor para o cliente: • O sistema deve verificar se o CPF do cliente é um número válido... – Os programadores deverão ser capazes de estimar o custo/tempo para implementar a estória. Caso isto não seja possível, a estória deve ser subdividida em estórias menores, para que possam ser então estimadas – As estórias do usuários devem ser criadas pelos clientes e usuários. Os desenvolvedores concentram-se nas decisões técnicas
  • 26. Extreme Programming (XP) • Estórias dos usuários: – O principal critério de ordenamento das estórias é o valor para o negócio – Não existe consenso nisto – O consenso é negociado quando houver problemas de priorização.
  • 27. Exemplo de estória Everest 1 10 Cadastro de usuário 01 08 2005 Acessando-se o menu principal, administradores do sistema têm privilégio de acesso ao módulo de cadastro de usuário. Marcos 02 08 2005 O módulo consiste num formulário simples que permite o cadas- tramento de informações como: nome, sobrenome, endereço, Marcio e-mail, telefone, estado e cidade. 2 Após o cadastramento, é exibida uma página com a listagem 04 08 2005 de usuários. Juliano O evento de cadastramento é registrado em log de atividades. 05 08 2005 1,5
  • 28. Extreme Programming (XP) • Reportando o progresso de um projeto XP: – O progresso de cada iteração é medido e reportado por uma pessoa chamada tracker – A cada programador, o tracker faz duas perguntas básicas: • Quantos dias você já trabalhou nesta tarefa? • Mais quantos dias você precisa para completar a tarefa?
  • 29. Extreme Programming (XP) • Reportanto o progresso de um projeto XP: – Se o tracker descobre que um programador não vai conseguir terminar sua tarefa, ele tenta redistribuir o encargo para outro programador que esteja com alguma folga. Caso isto não seja possível, o cliente deve ser informado – As iterações no XP terminam na data estimada. As estórias implementadas, são apresentadas aos clientes, que decidirá se está adequada, a qual, neste caso, será considerada completa. As estórias incompletas serão consideradas para a próxima iteração
  • 30. Considerações finais • Outros Métodos Ágeis – ASD (Adaptive Software Development) • Mission-driven, component-driven (results), time-limited, timeboxed; risk driven; change tolerant – Crystal Clear • Strong communications; frequent deliveries; reduce overhead; management by milestones and risk lists – DSDM (Dynamic Systems Development Model) • User involvement, stakeholder collaboration; empowered team; frequent delivery; backtracking to reverse changes; high- level requirements baselining; iterative and incremental development; integrated lifecycle testing;
  • 31. Considerações finais ABORDAGEM TRADICIONAL ABORDAGEM ÁGIL Preditiva: detalhar o que ainda não é Adaptativa: conhecer o problema e bem conhecida resolver o crítico primeiro Rígida: seguir especificação Flexível: adaptar-se a requisitos predefinida a qualquer custo atuais, que podem mudar Burocrática:controlar sempre, para Simplista: fazer algo simples de alcançar objetivo planejado imediato, e alterar no futuro se for necessário Orientado a processos: seguí-los possibilita garantir a qualidade Orientado a pessoas: motivadas, comprometidas e produtivas Documentação: é a garantia de confiança Comunicação: é a garantia de confiança Sucesso: é entregar o planejado Sucesso: é entregar o desejado Gerência: sinônimo de “comando- controle”, voltada para o trabalho em Gerência: sinônimo de “liderança- massa com ênfase no papel do orientação”, voltada para o trabalho gerente, com planejamento e do conhecimento, com ênfase na disciplina fortes criatividade, flexibilidade e atenção às pessoas
  • 32. Comparação das metodologias METODOLOGIA DIRIGIDA A PRIORIZA Engenharia da Construção do Informação Informação Banco de Dados Construção de Análise Estruturada Procedimentos sistemas Análise Orientada a Construção de Objetos Objeto Componentes Implementação Funções com valor Métodos Ágeis contínua de funções para o cliente
  • 33. Métodos ágeis de desenvolvimento de software Élvio Viçosa Jerônimo Madruga Mauro Kade