Logar
Evento
/

PM-87 | Práticas ágeis de desenvolvimento de Software (Noturno)

PM-87 | Práticas ágeis de desenvolvimento de Software (Noturno)

Participantes

0
participantes
0
curtidas
Banner -  PM-87 | Práticas ágeis de desenvolvimento de Software (Noturno)
Mostrar
  • De 13/08 às 19:00 até: 17/08 às 23:00
  • Rua Vergueiro, 3185 - 8º andar, Vila Mariana - São Paulo/São Paulo - Brasil

Descrição

Carga Horária: 20 horas aula

 

 

O mercado reclama cada vez mais de dificuldades típicas enfrentadas por uma equipe de desenvolvimento de software. Os métodos ágeis tentam, então, resolver diversos desses problemas através de práticas que favorecem o produto final e os problemas que o cliente deseja resolver.

 

Dos próprios princípios ágeis: "Atenção contínua a excelência técnica e bom design engrandecem a agilidade."

 

Neste curso prático de 20h voltado para desenvolvedores ágeis, apresentaremos práticas de desenvolvimento de software comprovadamente eficazes, sempre sob a ótica dos métodos ágeis. É um curso baseado na experiência real dos instrutores da Caelum com XP e Práticas Ágeis desde 2005 em equipes locais e remotas, em projetos internos, em clientes, consultorias e projetos open source.

 

As práticas reconhecidas do XP e algumas outras são abordadas durante esse curso, fazendo com que o desenvolvedor trabalhe o tempo todo em equipe para vivenciar os problemas do dia a dia de um projeto. Entre os assuntos, abordamos testes automatizados, design patterns, refatoração, processos de build, integração contínua, deploy contínuo, programação pareada e o uso de controle de versão. A valorização do código e do produto final a ser entregue ao cliente será frisada durante todo o curso, bem como as vantagens da entrega de um produto funcional ao fim de cada iteração.

 

Esse curso faz parte da Formação Ágil junto com o curso PM-83. Curso novo, primeira turma em Dezembro/2010.

 

 

Pré-requisitos:

 

Cursos FJ-11 e FJ-21 ou: Java, Orientação a Objetos, Collections, JSP, JSTL básico, MVC, Hibernate/JPA, patterns DAO e Factory. Desejável noções básicas de metodologias ágeis.

 

 

Conteúdo Detalhado:

 

O medo de se adaptar

  

  • Problema: código desconhecido
  • Problema: entregas demoradas
  • Outros problemas
  • Enfrentando o medo com práticas ágeis

 

Controle de versão

  

  • Problema: o medo de remover código
  • Solução: Controle de versão
  • Métodos não utilizados
  • Em casa: treinando usar auxílio da IDE
  • Problema: imprevistos
  • Solução: Controle de versão com Git
  • Exercício: Mexendo com o git
  • O que vem de brinde?
  • Para saber mais: Outros sistemas de controle de versão
  • Criando um projeto usando git
  • Exercício: iniciando um novo repositório
  • Trabalhando com Branches
  • Exercícios
  • Para saber mais: hooks

 

Conhecendo o sistema

  

  • Problema: Primeiro contato com o sistema
  • Exercício: Primeiro contato com o sistema
  • O código fonte
  • O medo de quebrar algo
  • Programação pareada
  • Exercício: exercitando coragem

 

Bugs e testes

  

  • Problema: o bug
  • Exercício: identificando um bug em cenário complexo
  • Resolvendo bugs
  • Replique o problema, então corrija
  • Exercício: resolvendo bugs para que não voltem
  • Presença de testes vs. segurança
  • Exercício: eliminando testes duplicados
  • Testes como documentação

 

Qualidade do código

  

  • Problema: o único que entende sai de férias
  • Solução: dividir mais o conhecimento
  • O ambiente de trabalho
  • Exercício: troca de informações
  • Refatoração
  • Exercício
  • Desenvolvimento incremental
  • Qualidade do código é importante! Mas como medir?
  • Refatorando e testando código legado

 

Parar, pensar e adaptar

  

  • O que desejamos desenvolver?
  • Fugindo do design antecipado
  • Escrevendo testes antes
  • Teste primeiro, codifique depois
  • Faça funcionar e, então, melhore
  • Um passo de cada vez
  • Mudanças simples x Soluções simples
  • Exercicios: TDD

 

E se eu falhar? Integrando continuamente

  

  • Problema: ::merge hell:: (merges infernais)
  • Integração contínua
  • Solução: Build automatizado com Ant e Ivy
  • Dependências com Ivy
  • Build contínuo com o Jenkins
  • Exercicio: instalando e configurando o Jenkins
  • Para saber mais: MAVEN

 

Release e entrega

  

  • Problema: não funciona em produção
  • Acelerando o processo de deploy
  • Solução: homologação contínua
  • Exercício: Deploy para homologação
  • Exercício: Deploy para produção
  • Problema: só entrego a cada 6 meses
  • Releases curtos e frequentes
  • Solução: deploy e entrega contínua
  • Build pipeline
  • Funcionalides e branches

 

Testes de aceitação

  

  • Na minha máquina funciona!
  • Exercício: uma nova feature
  • Mas não era bem isso
  • Problema: definição ambígua
  • Solução: definindo um critério de aceitação
  • Transformando critérios em testes
  • Exercícios

 

Apêndice - Acompanhamento do projeto

  

  • Quanto estamos desenvolvendo?
  • Release vs. Iteração
  • Techtalks e Brownbags
  • Em busca de uma métrica
  • Exercício

 

Apêndice - Testes: cenários difíceis

  

  • Quando testar é difícil ou lento
  • Exercício: criando testes num cenário complicado

 

* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

Ler mais

Localização

Programação

Este evento não possui atividades no momento.

Planta do Evento

A planta do evento não está disponível.

Contato

Preencha os campos abaixo para enviar e-mail ao organizador.

Campos Obrigatórios
Campos Obrigatórios
Ao se cadastrar, você concorda com nossos Termos de uso.
Ajaxloader

Compartilhar evento por e-mail


Para continuar, faça login ou cadastre-se.

Recomende este evento para sua rede.

Selecione os usuários que deseja recomendar este evento.