A revolução Agile > Luiz Fernando Ribeiro “Perdido” 26 de Agosto de 2010
Por que você está aqui?
Agenda Sobre a ThoughtWorks
Modelos tradicionais de desenvolvimento
Agile manifesto
Descendo o nível...
Sobre a ThoughtWorks Pioneira e totalmente focada em Agile
Referência em práticas ágeis
8 países, 21 cidades
Open Source: Cruise Control, Selenium, outros Martin Fowler
 
Agile funciona!
Mas o que é Agile mesmo?
Modelos tradicionais de desenvolvimento
Características - Previsibilidade - BDUF (engenharia) - Documentação abrangente - Orientado a processo e a ferramentas
Quais os problemas desses modelos?
Baixo índice de interação Pouca comunicação entre pessoas trabalhando em diferentes níveis de abstração
Baixo índice de interação Ciclo de Feedback muito longo Como sabemos se estamos indo no caminho certo?
 
Baixo índice de interação Ciclo de Feedback muito longo Proteção contra o cliente Qual o valor por trás disso tudo?
Baixo índice de interação Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Change requests, change requests...
Baixo índice de interação Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Previsibilidade a longo prazo The Standish Group International, “The CHAOS Report ,”
Baixo índice de interação Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Previsibilidade a longo prazo Baixa motivação Trate as pessoas como macaquinhos Macaquinhos elas serão
Agile Manifesto
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:  Indivíduos e interações  mais que processos e ferramentas
Foco no processo X Foco nos indivíduos
Linha de montagem
Aprendizado
Desenvolvimento de software = Atividade intelectual, criativa
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:  Indivíduos e interações  mais que processos e ferramentas Software em funcionamento  mais que documentação abrangente
Design sessions Whiteboard Fotos Documentação como ferramenta X Documentação como fim
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:  Indivíduos e interações  mais que processos e ferramentas Software em funcionamento  mais que documentação abrangente Colaboração com o cliente  mais que negociação de contratos
Documento de requisitos X Comunicação constante
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:  Indivíduos e interações  mais que processos e ferramentas Software em funcionamento  mais que documentação abrangente Colaboração com o cliente  mais que negociação de contratos Responder a mudanças  mais que seguir um plano
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:  Indivíduos e interações  mais que processos e ferramentas Software em funcionamento  mais que documentação abrangente Colaboração com o cliente  mais que negociação de contratos Responder a mudanças  mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.
Agile Manifesto Estamos descobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:  Indivíduos e interações  mais que processos e ferramentas Software em funcionamento  mais que documentação abrangente Colaboração com o cliente  mais que negociação de contratos Responder a mudanças  mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda. Baixo índice de interação Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Previsibilidade a longo prazo Baixa motivação
Mudança de mentalidade
Adaptação “ Esvazie sua mente. Seja sem forma, como a água. Você coloca água em uma caneca, ela se torna a caneca. Você coloca água em uma garrafa, ela se torna a garrafa… A água pode fluir ou pode destruir! Seja água, meu amigo.”  Bruce Lee
Pessoas + Confiança
Descendo o nível....
O que é mais difícil em programação? Entender o problema
Estruturar suas ideias
Elaborar uma solução
Conhecer a plataforma de programação
Digitar o código
Testar o resultado
Programação em pares
Vantagens de programação em pares Eficiência  (duas cabeças pensam melhor que uma)
Feedback instantâneo

Revolucao Agile - UFSCar

  • 1.
    A revolução Agile> Luiz Fernando Ribeiro “Perdido” 26 de Agosto de 2010
  • 2.
    Por que vocêestá aqui?
  • 3.
    Agenda Sobre aThoughtWorks
  • 4.
    Modelos tradicionais dedesenvolvimento
  • 5.
  • 6.
  • 7.
    Sobre a ThoughtWorksPioneira e totalmente focada em Agile
  • 8.
  • 9.
  • 10.
    Open Source: CruiseControl, Selenium, outros Martin Fowler
  • 11.
  • 12.
  • 13.
    Mas o queé Agile mesmo?
  • 14.
    Modelos tradicionais dedesenvolvimento
  • 15.
    Características - Previsibilidade- BDUF (engenharia) - Documentação abrangente - Orientado a processo e a ferramentas
  • 16.
    Quais os problemasdesses modelos?
  • 17.
    Baixo índice deinteração Pouca comunicação entre pessoas trabalhando em diferentes níveis de abstração
  • 18.
    Baixo índice deinteração Ciclo de Feedback muito longo Como sabemos se estamos indo no caminho certo?
  • 19.
  • 20.
    Baixo índice deinteração Ciclo de Feedback muito longo Proteção contra o cliente Qual o valor por trás disso tudo?
  • 21.
    Baixo índice deinteração Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Change requests, change requests...
  • 22.
    Baixo índice deinteração Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Previsibilidade a longo prazo The Standish Group International, “The CHAOS Report ,”
  • 23.
    Baixo índice deinteração Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Previsibilidade a longo prazo Baixa motivação Trate as pessoas como macaquinhos Macaquinhos elas serão
  • 24.
  • 25.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
  • 26.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar:
  • 27.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Indivíduos e interações mais que processos e ferramentas
  • 28.
    Foco no processoX Foco nos indivíduos
  • 29.
  • 30.
  • 31.
    Desenvolvimento de software= Atividade intelectual, criativa
  • 32.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente
  • 33.
    Design sessions WhiteboardFotos Documentação como ferramenta X Documentação como fim
  • 34.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos
  • 35.
    Documento de requisitosX Comunicação constante
  • 36.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano
  • 37.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.
  • 38.
    Agile Manifesto Estamosdescobrindo maneiras melhores de desenvolver software, fazendo-o nós mesmos e ajudando outros a fazerem o mesmo. Através deste trabalho, passamos a valorizar: Indivíduos e interações mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda. Baixo índice de interação Ciclo de Feedback muito longo Proteção contra o cliente Dificuldade de mudança Previsibilidade a longo prazo Baixa motivação
  • 39.
  • 40.
    Adaptação “ Esvaziesua mente. Seja sem forma, como a água. Você coloca água em uma caneca, ela se torna a caneca. Você coloca água em uma garrafa, ela se torna a garrafa… A água pode fluir ou pode destruir! Seja água, meu amigo.” Bruce Lee
  • 41.
  • 42.
  • 43.
    O que émais difícil em programação? Entender o problema
  • 44.
  • 45.
  • 46.
    Conhecer a plataformade programação
  • 47.
  • 48.
  • 49.
  • 50.
    Vantagens de programaçãoem pares Eficiência (duas cabeças pensam melhor que uma)
  • 51.