Desenvolvimento Ágil de softwares
• Bryan Ollivie
• bryanollivie@gmail.com
1
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 Problemas
Fonte: (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

Desenvolvimento agil

  • 1.
    Desenvolvimento Ágil desoftwares • Bryan Ollivie • bryanollivie@gmail.com 1
  • 2.
    INTRODUÇÃO 2 • Descasamento entreprocessos. • 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.
  • 3.
  • 4.
    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
  • 5.
    METODOLOGIA TRADICIONAL 5 • Planejae 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.
  • 6.
    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”
  • 7.
    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.
  • 8.
    ALGUNS MÉTODOS ÁGEIS 8 •ASD (Adaptative Software Development) • FDD (Feature Driven Development) • Crystal Family • SCRUM • XP (eXtreme Programming)
  • 9.
  • 10.
    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
  • 11.
    VALORES EM XP 11 “precisamosde 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
  • 12.
  • 13.
    COMUNICAÇÃO 13 “Indivíduos e interaçõesmais que processos e ferramentas” Manifesto Ágil(2001, sp). • Cliente Presente • Interação Cliente x Equipe • Interação entre membros da equipe
  • 14.
    SIMPLICIDADE 14 “45 por centodas 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
  • 15.
    FEEDBACK 15 “A comunicação entreo 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
  • 16.
    CORAGEM 16 “quando combinada comcomunicação, simplicidade, e feedback, a coragem se torna extremamente valiosa”(BECK, 2000, p. 49). • Inovar • Aceitar desafios • Flexibilidade a mudanças
  • 17.
    PRÁTICAS 17 Práticas O jogo doplanejamento 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
  • 18.
  • 19.
    FRAMEWORKS 19 • Segundo Sauve(2007)um framework provê uma solução para uma família de problemas semelhantes. Figura 5: Interseção de Problemas Fonte: (SAUVÉ, 2007, sp).
  • 20.
    FRAMEWORKS ÁGEIS 20 • Sãochamados 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.
  • 21.
    CARACTERÍSTICAS 21 • Alta produtividade •Facilidade no aprendizado • Reaproveitamento de código • Padrão MVC • Testes Automatizados • Repositórios
  • 22.