Desenvolvimento Agil com Ruby On Rails

4.181 visualizações

Publicada em

Palestra ministrada na XII Semana da Computação da UNIDERP por Saulo Arruda e Rodrigo Toledo falando sobre Desenvolvimento Ágil e Ruby on Rails. Vídeo disponível em http://vimeo.com/6837182

Publicada em: Tecnologia
0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.181
No SlideShare
0
A partir de incorporações
0
Número de incorporações
18
Ações
Compartilhamentos
0
Downloads
166
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Desenvolvimento Agil com Ruby On Rails

    1. 1. Desenvolvimento Ágil com Ruby on Rails Saulo Arruda e Rodrigo Toledo
    2. 2. Agenda • O que é ser Ágil? • O que é Ruby on Rails? • Ágil + Ruby On Rails = PRODUTIVIDADE Slide 2 Desenvolvimento Ágil com Ruby on Rails
    3. 3. Quem Somos? • Saulo Arruda (saulo.arruda@agence.com.br) • Especialista em Melhoria de Processos pela UFLA; • 10 anos de experiência em projetos de software; • Gerente de Projetos Especiais e Arquiteto Sênior da Agence Consultoria • Coordenador do JUG-MS • Diretor Pedagógico da Agence Educacional Slide 3 Desenvolvimento Ágil com Ruby on Rails
    4. 4. Quem Somos? • Rodrigo Toledo (rodrigo.toledo@agence.com.br) • 9 anos de experiência em projetos de software; • Instrutor e mentor dos treinamentos em Ruby on Rails da Agence Educacional; • Arquiteto Pleno e Desenvolvedor da Agence Consultoria; • Fundador do Rails MS; Slide 4 Desenvolvimento Ágil com Ruby on Rails
    5. 5. O que é ser Ágil?
    6. 6. Desenvolvimento de Software
    7. 7. Engenharia de Software
    8. 8. Fábrica de Software
    9. 9. Desenvolvendo
    10. 10. Convivência...
    11. 11. Documentação...
    12. 12. Negociação...
    13. 13. Planos...
    14. 14. Desenvolvimento Ágil
    15. 15. Desenvolvimento Ágil Como desenvolver com sucesso?
    16. 16. Desenvolvimento Ágil Como desenvolver com sucesso? Manifesto para o Desenvolvimento Ágil de Software “Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar: * Indivíduos e interação entre eles 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.” agilemanifesto.org
    17. 17. Sucesso == Pessoas
    18. 18. Métodos Ágeis • Ciclo de Vida Iterativo • Planejamento Adaptivo • Iterações Curtas com Duração Fixa • Alguns exemplos: eXtreme Programming, SCRUM, ICONIX, Agile UP, Open UP Slide 16 Desenvolvimento Ágil com Ruby on Rails
    19. 19. eXtreme Programming (XP) • Valores • Comunicação: diálogos presenciais • Coragem: mudanças são bem vindas • Feedback: descobrir problemas cedo • Respeito: ouvir e compreender • Simplicidade: fazer o que é necessário Slide 17 Desenvolvimento Ágil com Ruby on Rails
    20. 20. eXtreme Programming (XP) • Princípios • Auto-semelhança • Melhoria • Benefício Mútuo • Oportunidade • Diversidade • Passos de Bebê • Economia • Qualidade • Falha • Redundância • Fluidez • Reflexão • Humanismo • Responsabilidade Aceita Slide 18 Desenvolvimento Ágil com Ruby on Rails
    21. 21. eXtreme Programming (XP) • Papéis • Analistas de Teste • Gerentes de Produto • Arquitetos • Programadores • Designers de • Recursos Humanos Interação • Redatores Técnicos • Executivos • Usuários • Gerentes de Projeto Slide 19 Desenvolvimento Ágil com Ruby on Rails
    22. 22. eXtreme Programming (XP) • Práticas Primárias • Ambiente Informativo • Folga • Build de Dez Minutos • Histórias • Ciclo Semanal • Integração Contínua • Ciclo Trimestral • Programação em Par • Desenvolvimento • Sentar-se Junto Orientado a Testes • Trabalho Energizado • Design Incremental • Equipe Integral Slide 20 Desenvolvimento Ágil com Ruby on Rails
    23. 23. eXtreme Programming (XP) • Práticas Corolárias • Análise da Raiz do • Envolvimento do Problema Cliente Real • Base de Código Unificada • Equipes que Encolhem • Código Coletivo • Implantação Diária • Código e Testes • Implantação Incremental • Continuidade da Equipe • Pagar por Uso • Contrato de Escopo Negociável Slide 21 Desenvolvimento Ágil com Ruby on Rails
    24. 24. Caindo na Real • Livro Getting Real escrito pela 37 signals • Fazer menos • Permanecer pequeno e ágil • Construir interface antes • Baixar os custos da mudança • Entregar o que o cliente precisa Slide 22 Desenvolvimento Ágil com Ruby on Rails
    25. 25. Caindo na Real livra-se de... • Cronogramas de meses • Números de versões ou anos sem sentido • Especificações funcionais • Previsões do futuro utópicas • Opções de preferências • Debates de Escalabilidade • Suporte terceirizado • Reuniões intermináveis • Testes de usuário irreais • Dúzias de funcionários • Papelada inútil • Hierarquia top-down Slide 23 Desenvolvimento Ágil com Ruby on Rails
    26. 26. O que é Ruby on Rails?
    27. 27. Ruby on Rails? • Mantido pela 37 signals • Criado por David Heinemeier Hansson em 2003 • Rails é um framework para Desenvolvimento Web escrito na linguagem Ruby Slide 25 Desenvolvimento Ágil com Ruby on Rails
    28. 28. Ruby - A Programmer’s Best Friend Ruby é uma linguagem dinâmica, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita. Slide 26 Desenvolvimento Ágil com Ruby on Rails
    29. 29. Rails - Web development that doesn’t hurt Rails foi projetado para tornar o desenvolvimento de aplicações web mais simples fazendo várias suposições sobre o que o desenvolvedor precisa para começar. Slide 27 Desenvolvimento Ágil com Ruby on Rails
    30. 30. The Rails Way • DRY (Dont Repeat Yourself): escrever o mesmo código várias vezes é ruim... • CoC (Convention Over Configuration): suposições sobre o que você quer fazer e como fazê-lo. • REST (Representational State Transfer): organizar sua aplicação em torno de recursos e verbos. Slide 28 Desenvolvimento Ágil com Ruby on Rails
    31. 31. Padrão MVC • Model, View e Controller; • Isolamento da lógica de negócios e da interface com o usuário; • Facilidade em manter o código DRY; • Manter claro onde tipos de código diferentes estarão, facilitando a manutenção; Slide 29 Desenvolvimento Ágil com Ruby on Rails
    32. 32. Componentes do Rails • Action Controller: processa requisições • Action View: criar saídas HTML ou XML • Active Record: independência de BD • Action Mailer: serviços de e-mail • Active Resource: conectividade entre serviços • Railties: núcleo do código Rails • Active Support: classes utilitárias Slide 30 Desenvolvimento Ágil com Ruby on Rails
    33. 33. Ferramentas • rake: execução de tarefas comuns como geração de banco de dados, geração do “pacote” da aplicação, estatísticas do projeto. • generator: geração de código de models, views, controllers, migrations, etc. • console: execução da aplicação no console para “testar” funcionalidades. Slide 31 Desenvolvimento Ágil com Ruby on Rails
    34. 34. Testando em Rails • Ambientes: teste, desenvolvimento e produção • Fixtures para criação de dados de teste • API para Assertions • API para Mock Objects • API para testes de Controllers e Views • Automatização de tarefas de teste (rake) Slide 32 Desenvolvimento Ágil com Ruby on Rails
    35. 35. Testando em Rails • Teste Unitário: classes e métodos • Teste Funcional: controllers e views • Teste de Integração: fluxos de trabalho, processos • Teste de Performance: operações críticas Slide 33 Desenvolvimento Ágil com Ruby on Rails
    36. 36. Métricas de Testes • rake stat: linhas de código-fonte para linha de código de teste • rcov: cobertura de código pelos testes; • rake test:benchmark: tempo de execução • rake test:profile: localização de gargalos de performance no código Slide 34 Desenvolvimento Ágil com Ruby on Rails
    37. 37. Ágil + Rails = PRODUTIVIDADE
    38. 38. Ágil + Rails = PRODUTIVIDADE • Sendo Ágil você tem: • Melhor integração com a equipe e o cliente; • Menos re-trabalho; • Menos funcionalidades inúteis; • Menos resistência à mudanças; • Mais tempo para viver! Slide 36 Desenvolvimento Ágil com Ruby on Rails
    39. 39. Ágil + Rails = PRODUTIVIDADE • Usando Rails você NÃO tem: • 10 livros de 500 páginas para aprender “o básico” • Horas perdidas configurando projeto; • Dependência de IDEs; • Dificuldades de integração de frameworks; • Noites tentando fazer o deploy no servidor; • Repetição de tarefas; Slide 37 Desenvolvimento Ágil com Ruby on Rails
    40. 40. Enfim... Um nerd feliz!
    41. 41. Perguntas? Slide 39 Desenvolvimento Ágil com Ruby on Rails
    42. 42. Referências • http://guides.rubyonrails.com • Desenvolvimento Web Ágil com Rails • Extreme Programming - Improve It Slide 40 Desenvolvimento Ágil com Ruby on Rails
    43. 43. Licença Você pode: copiar, distribuir, exibir e executar a obra criar obras derivadas Sob as seguintes condições: Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. Slide 41 Desenvolvimento Ágil com Ruby on Rails

    ×