desenvolvimento agil
TRANSCRIPT
INTRODUÇÃO
2
• Descasamento entre processos.• Herança da Revolução Industrial.• Sem sucesso no desenvolvimento de software• Engenharia de Software.• Realidade dinâmica e imprevisível.• Manifesto ágil.• Frameworks.• Utilização de XP e Grails.
DESENVOLVIMENTO DE SOFTWARE
3
DESENVOLVIMENTO DE SOFTWARE
4
• Crise do Software– Problemas
• Entregas fora do prazo• Orçamentos estourados• Desempenho insatisfatório
– Soluções• Desenvolver Padrões para os processos de desenvolvimento
METODOLOGIA TRADICIONAL
5
• Planeja e documenta todo o processo antes de começar a desenvolver.
• Permite uma comparação e repetição com dados obtidos em desenvolvimentos anteriores.
• Baixa interação com os clientes e Falta de flexibilidade para tratamento de falhas.
METODOLOGIA ÁGIL
6
• Metodologia Ágil (Agile Manifesto, 2001).
• Movimento iniciado por programadores experientes e consultores em desenvolvimento de software.
• Enfatizam adaptações rápidas a mudanças da realidade
• Criação da Aliança Ágil e o estabelecimento do “Manifesto Ágil”
MANIFESTO ÁGIL
7
• Manifesto Ágil (BECK et al, 2001)– Objetivo
• satisfazer o cliente entregando, rapidamente e com freqüência, sistemas com algum valor.
– Valores
• Indivíduos e Interações mais que Ferramentas e Processos
• Software funcionando mais que documentação abrangente.
• Colaboração com clientes mais que Negociação de Contratos.
• Responder a mudanças mais que Seguir um Plano.
ALGUNS MÉTODOS ÁGEIS
8
• ASD (Adaptative Software Development)
• FDD (Feature Driven Development)
• Crystal Family
• SCRUM
• XP (eXtreme Programming)
EXTREME PROGRAMMING (XP)
9
EXTREME PROGRAMMING (XP)
10
• O que é?“Uma disciplina de desenvolvimento de software
que aborda o risco em todas as etapas do processo de desenvolvimento” (BECK, 2000, p. 22)
• Iterações
• Conjunto de testes
• Possui valores e práticas
VALORES EM XP
11
“precisamos de algum parâmetro para saber se estamos indo no caminho certo”(BECK, 2000, p. 45).
• Norteiam o projeto
• Ajudam na tomada de decisão
• Base para as práticas
VALORES
12
• Comunicação
• Simplicidade
• Feedback
• Coragem
COMUNICAÇÃO
13
“Indivíduos e interações mais que processos e ferramentas” Manifesto Ágil(2001, sp).
• Cliente Presente
• Interação Cliente x Equipe
• Interação entre membros da equipe
SIMPLICIDADE
14
“45 por cento das funcionalidades encontradas em um sistema jamais são usadas”(JONHSON, 2002, sp).
• Foco em funcionalidades de valor
• Refatoração
• Facilitar manutenção e entendimento do código
FEEDBACK
15
“A comunicação entre o cliente e a equipe permite que todos os detalhes do projeto sejam tratados com a atenção e agilidade que merecem” (TELES, 2004, p. 22).
• Testes de funcionalidades
• Programação em par
CORAGEM
16
“quando combinada com comunicação, simplicidade, e feedback, a coragem se torna extremamente valiosa”(BECK, 2000, p. 49).
• Inovar
• Aceitar desafios
• Flexibilidade a mudanças
PRÁTICAS
17
Práticas
O jogo do planejamento Propriedade coletiva
Entregas frequentes Integração Contínua
Metáfora Semana de 40 horas
Projeto simples Cliente presente
Testes Padrões de codificação
Refatoração Programação em pares
Tabela 1: As doze práticas de XP
FRAMEWORKS DE DESENVOLVIMENTO ÁGIL
18
FRAMEWORKS
19
• Segundo Sauve(2007) um framework provê uma solução para uma família de problemas semelhantes.
Figura 5: Interseção de ProblemasFonte: (SAUVÉ, 2007, sp).
FRAMEWORKS ÁGEIS
20
• São chamados de frameworks ágeis todos os frameworks de programação que dão suporte ou se baseiam completamente nos princípios e valores propostos pelo manifesto ágil e na filosofia e costumes ágeis(Beck,2000)
• Incorporam as praticas de metodologias ágeis.
CARACTERÍSTICAS
21
• Alta produtividade• Facilidade no aprendizado• Reaproveitamento de código• Padrão MVC• Testes Automatizados• Repositórios
TECNOLOGIAS ATUAIS
22