16h

Carga Horária

Instrutor:

Rodrigo Yoshima

Treinamento TDD e Extreme Programming

Na Aspercom você aprende técnicas de engenharia ágil na prática, com muita programação!

Este curso sobre Test-Driven Development (TDD) e Extreme Programming (XP) é direcionado a desenvolvedores Java, .Net e Ruby e demonstra na prática 4 pilares importantes do desenvolvimento ágil de software:

  • Programação em Par (Pair Programming)
  • Design Incremental
  • Desenvolvimento Orientado a Testes (TDD)
  • Integração Contínua

O TDD e XP são um conjunto de práticas ágeis que oferecem um desenvolvimento de software espetacular, com foco em resultados, menos defeitos e maior produtividade. Neste treinamento você aprenderá os princípios mais importantes destas metodologias na prática e trabalhando em equipe!

Treinamento XP na Takenet

Entregue um projeto em sala de aula!

Neste treinamento organizamos a sala em grupos de 4 alunos com dois computadores para cada time. Os alunos trabalham em pares e desenvolvemos um produto com sessões de programação (iterações ágeis) de uma hora, introduzindo um conceito por vez. Os participantes ficam feras em TDD e XP!

TREINAMENTO CORPORATIVO / IN COMPANY

Pequenas, médias e grandes empresas confiam na Aspercom para formar seus profissionais nos assuntos quentes do mercado de tecnologia. Se você precisa treinar a sua equipe em TDD e XP solicite uma proposta agora!


Programa do Treinamento

O programa deste treinamento precisa que os participantes tenham conhecimento em programação e arquitetura web básica como HTTP, HTML e ORM. Também é necessário que a empresa disponibilize rede entre os computadores dos times e um computador adicional como servidor de Build.

Pré-requisitos

  1. Programação Orientada a Objetos
  2. Conhecer sistemas HTTP, HTML e framework Web
  3. Saber trabalhar com ferramentas de controle de versão (Subversion, GIT, outros..)
  4. Experiência em ferramentas ORM (Hibernate, JPA ou similares)
  5. Familiaridade com a arquitetura escolhida
  6. Saber trabalhar em equipe!

1. Introdução: Por que boas práticas técnicas?

  • Valores, Princípios e Práticas do Extreme Programming
  • Boas práticas e bons relacionamentos: O estilo XP de desenvolver software
  • Humanismo e Produtividade

2. Design Incremental / Evolutivo / Emergente

  • Simplicidade: Faça aquilo que é mais simples que funcione
  • Economia: Entregando aquilo que traz mais VALOR primeiro
  • Implementando incrementos: Passos de Bebê (Baby Steps)

3. Desenvolvimento Orientado a Testes (TDD)

  • Por que escrever os testes primeiro?
  • O ciclo TDD: Red - Green - Refactor
    • RED: Escrevendo um teste que falhe
    • GREEN: Testando o teste: fazendo o teste passar rapidamente
    • REFACTOR: Implementando a solução mais simples possível
  • Usando o arsenal TDD:
    • Testes unitários (JUnit, nUnit, MSTest, PHPUnit, RSpec)
    • Mock, Stubs e Fakes (exemplo com o JUnit e Mockito)

4. Estendendo o alcance do TDD

    • Não são testes! São especificações!
    • Introdução ao Behavior-Driven Development
    • Trabalho a 6 mãos: analista de negócio, desenvolvedores e testers

5. O valor do Pair Programming

  • Quais são os problemas comuns para a produtividade dos desenvolvedores?
  • Dissonância Cognitiva
  • Pressão dos Pares

6. Integração Contínua e Build Servers

  • Bons programadores integram seu trabalho regularmente
  • Usando Build Servers e Testes para garantia da qualidade do software
  • Indicadores Ágeis: Testes que passam, Testes que falham, Taxa de Cobertura do Código
  • Prática do XP: Build de 10 minutos
  • Variando as técnicas de teste para acelerar o tempo de Build

A cada iteração do curso são apresentados requisitos de um sistema exemplo real e didático utilizando User Stories e critérios de aceitação. Os integrantes das equipes implementam as histórias em par na ordem definida pelo instrutor.

Instrutor: Rodrigo Yoshima

CSMTécnico em Processamento de Dados e Bacharel em Administração de Empresas e Economia. É Certified Scrum Master e palestrante em dois Scrum Gatherings. É um dos primeiros ScrumMasters atuante no país e também detém as certificações AAKT e KCP da Lean-Kanban University. Com mais de 20 anos de experiência na área de tecnologia, implantou métodos Lean e Agile em mais de 200 equipes em mais de 30 empresas. Casado, pai e velejador.