SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Desenvolvimento
Ágil com Ruby on
Rails
Saulo Arruda e Rodrigo Toledo
Agenda

          • O que é ser Ágil?
          • O que é Ruby on Rails?
          • Ágil + Ruby On Rails = PRODUTIVIDADE




Slide 2              Desenvolvimento Ágil com Ruby on Rails
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
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
O que é ser Ágil?
Desenvolvimento de Software
Engenharia de Software
Fábrica de Software
Desenvolvendo
Convivência...
Documentação...
Negociação...
Planos...
Desenvolvimento Ágil
Desenvolvimento Ágil
      Como desenvolver com sucesso?
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
Sucesso == Pessoas
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
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
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
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
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
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
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
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
O que é Ruby on Rails?
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
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
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
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
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
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
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
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
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
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
Ágil + Rails =
PRODUTIVIDADE
Á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
Á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
Enfim... Um nerd feliz!
Perguntas?




Slide 39     Desenvolvimento Ágil com Ruby on Rails
Referências

           • http://guides.rubyonrails.com
           • Desenvolvimento Web Ágil com Rails
           • Extreme Programming - Improve It




Slide 40               Desenvolvimento Ágil com Ruby on Rails
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

Weitere ähnliche Inhalte

Empfohlen

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Desenvolvimento Agil com Ruby On Rails

  • 1. Desenvolvimento Ágil com Ruby on Rails Saulo Arruda e Rodrigo Toledo
  • 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. 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. 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. O que é ser Ágil?
  • 15. Desenvolvimento Ágil Como desenvolver com sucesso?
  • 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
  • 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. 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. 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. 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. 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. 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. 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. 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. O que é Ruby on Rails?
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Ágil + Rails = PRODUTIVIDADE
  • 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. Á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
  • 41. Perguntas? Slide 39 Desenvolvimento Ágil com Ruby on Rails
  • 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. 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