Use o código e tenha 10% de desconto!

eXtreme Programming Práticas para o dia a dia no desenvolvimento ágil de software

Daniel Wildt, Dionatan Moura, Guilherme Lacerda, Rafael Helm

Conteúdo

Por que projetos falham? Comunicação insatisfatória com o cliente, um empurra a culpa para o outro, tempo desperdiçado, falta de testes e retrabalho... Estas são cenas corriqueiras em um time de desenvolvimento de software. E qual a solução?

Neste livro, Daniel Wildt, Dionatan Moura, Guilherme Lacerda e Rafael Helm mostrarão que na verdade não se trata de um único método, mas de um conjunto de práticas que, se bem combinadas, complementam-se em uma sinergia que envolve tanto os membros de dentro do time como o contato destes com o cliente. Conheça práticas de eXtreme Programming e, tendo como base princípios ágeis, desenvolva seus principais valores: comunicação, feedback, simplicidade, coragem e respeito.

 

Sumário

  • 1 Por que projetos falham?
  • 1.1 Cliente distante
  • 1.2 A cereja do bolo
  • 1.3 Testes no final
  • 1.4 Trabalho empurrado
  • 1.5 Dívidas técnicas
  • 1.6 Conclusão
  • 2 Introdução a métodos ágeis
  • 2.1 O Manifesto Ágil
  • 2.2 Lean Software Development
  • 2.3 Scrum
  • 2.4 eXtreme Programming (XP)
  • 3 Valores do eXtreme Programming
  • 3.1 Comunicação
  • 3.2 Feedback
  • 3.3 Simplicidade
  • 3.4 Coragem
  • 3.5 Respeito
  • 4 Papéis do eXtreme Programming
  • 4.1 Desenvolvedor
  • 4.2 Cliente
  • 4.3 Coach
  • 4.4 Testador
  • 4.5 Cleaner
  • 4.6 Tracker
  • 4.7 Gerente
  • 4.8 Outros papéis
  • 5 Time coeso
  • 5.1 Time multidisciplinar
  • 5.2 Time auto-organizável
  • 5.3 Sentando lado a lado
  • 5.4 As reuniões de retrospectiva e a melhoria contínua
  • 6 Cliente presente
  • 6.1 O que fazer quando o cliente não pode estar presente?
  • 7 Histórias de usuário
  • 7.1 Modelo 3C
  • 7.2 Ciclo de vida
  • 7.3 Utilizando um modelo de escrita
  • 7.4 Refinando com INVEST
  • 7.5 Implementando com tarefas SMART
  • 7.6 Personas
  • 7.7 Story points
  • 7.8 Escrevendo boas histórias
  • 7.9 Catálogo de story smells
  • 8 Testes de aceitação
  • 8.1 Automatização
  • 8.2 Validando com critérios de aceitação
  • 9 Liberação frequente de pequenas entregas
  • 9.1 Foco na qualidade é o ponto-chave
  • 9.2 Releases tudo ou nada
  • 10 O jogo do planejamento
  • 10.1 Definindo o jogo e suas regras
  • 10.2 Entendendo regras e comprometimentos
  • 10.3 Mantendo o foco
  • 10.4 Todo momento é um momento de aprendizado
  • 11 Spikes de planejamento
  • 11.1 Jogue fora o código gerado no spike
  • 12 Projeto simples do início ao fim
  • 12.1 MVP: produto mínimo viável
  • 13 Metáfora de sistema
  • 13.1 Descobrindo uma boa metáfora
  • 14 Reunião diária em pé
  • 14.1 Time alinhado
  • 14.2 Troca de conhecimento
  • 14.3 Como começar?
  • 14.4 Erros mais comuns de uma reunião em pé
  • 15 Posse coletiva
  • 15.1 My precious!
  • 16 Padrão de codificação
  • 16.1 Pequenos projetos também se beneficiam?
  • 16.2 Como definir?
  • 17 Programação em par
  • 17.1 Diversos benefícios
  • 17.2 Um desenvolvedor pelo preço de dois?
  • 17.3 A pressão do par
  • 17.4 Nivelando o conhecimento
  • 17.5 Como começar?
  • 17.6 Dicas para aprimorar a programação em par
  • 17.7 O ambiente de trabalho
  • 17.8 Especificar, projetar, trabalhar, tudo em par
  • 18 Refatoração de código para alta qualidade
  • 18.1 Refatore impiedosamente
  • 18.2 Bad smells de código
  • 19 TDD: Desenvolvimento Guiado por Testes
  • 19.1 Padrões de TDD
  • 19.2 Show me the code
  • 20 Integração contínua
  • 20.1 Como potencializar os benefícios?
  • 20.2 Ferramentas
  • 21 Ritmo sustentável
  • 21.1 Velocidade do time
  • 21.2 40 horas semanais
  • 22 Indo além do eXtreme programming
  • 22.1 Jogos e dinâmicas
  • 22.2 Behaviour-Driven Development (BDD)
  • 22.3 Domain-Driven Design (DDD)
  • 22.4 Kanban
  • 22.5 Estimando com planning poker
  • 22.6 Resolvendo dívidas técnicas
  • 22.7 Refatorando também o banco de dados
  • 22.8 Código limpo
  • 22.9 Entrega contínua e DevOps
  • 22.10 Leituras sobre desenvolvimento de software
  • 22.11 Artesanato de Software

veja mais detalhes

Autores

Daniel Wildt

Daniel Wildt fundou em 2004 o XP-RS ─ Grupo de Usuários de eXtreme Programming do RS ─, que depois se transformou no GUMA-RS ─ Grupo de Usuários de Métodos Ágeis do Rio Grande do Sul. Desde 2003, um praticante interessado pelo desenvolvimento de comunidades, organizações, equipes e pessoas em torno da agilidade. Trabalha em processos de melhoria das técnicas de engenharia de software e processos, sempre em busca de simplicidade e do aprendizado. Ajuda pessoas a tornarem-se melhores profissionais, equipes a crescerem por meio de melhoria contínua e produtos/serviços a serem formados. Além da formação técnica, possui formação de Master Trainer em Programação Neurolinguística. É CTO na uMov.me (http://umov.me), coach/instrutor pela Wildtech (http://www.wildtech.com.br) e facilitador no Estaleiro Liberdade (http://www.estaleiroliberdade.com.br).

Dionatan Moura

Dionatan Moura é coach ágil na Companhia de Processamento Dados do Estado Rio Grande Sul (PROCERGS), auxiliando na entrega de maior valor ao cidadão por meio da agilidade e inovação. Professor visitante na pós-graduação da UniRitter Laureate International Universities. Mestre e bacharel em Ciência da Computação na UFRGS. Coordenador do Grupo de Usuário de Métodos Ageis do RS (GUMA-RS) e do Grupo de Usuários Java do RS (RSJUG). Foi desenvolvedor Java por sete anos, e coordenador das trilhas Java do TDC POA 2013 e 2014. Palestrante em eventos ágeis, como: Agile Brazil, TDC e XPConf; e possui as certificações: CSP, SAFe SA, PMP, CSM, PSM I, CSD, CSPO, OCPJP, CTFL, ITIL e MPS-BR. Pode ser encontrado no Twitter como @dionatanmoura e possui um blog: http://dionatanmoura.com.

Guilherme Lacerda

Guilherme Lacerda foi pioneiro em Metodologias Ágeis no Brasil, no qual atua desde 2001, com especial ênfase em Lean, SCRUM e eXtreme Programming. Trabalha como coach, ajudando na adoção de métodos ágeis no Tribunal de Justiça do RS. Professor universitário de graduação (Facensa, UniRitter) e de pós-graduação (UniRitter, Unisinos, UFRGS). Mestre, em 2005, em Ciência da Computação na área de Engenharia de Software pela Universidade Federal do Rio Grande do Sul e, atualmente, doutorando pela mesma instituição, com estudos na área de Refatoração e Smells. Consultor associado da Wildtech, palestrante em dezenas de eventos nacionais e internacionais sobre o tema, e fundador e vice-coordenador do XP-RS/GUMA. Possui as certificações CSM e CSP, pela Scrum Alliance. Membro do IASA, ScrumAlliance, ACM e SBC. Possui os blogs: http://www.guilhermelacerda.net e http://www.codingbyexample.org.

Rafael Helm

Rafael Helm é sócio da Wildtech (www.wildtech.com.br), na qual atua como agile coach, instrutor e consultor. Experiência de agile coach adquirida em projetos de larga escala em organizações como Receita Federal, Procuradoria Geral da Fazenda Nacional, Ministério de Relações Exteriores, entre outras. Instrutor na Wildtech, tendo a oportunidade de treinar empresas e equipes de diferentes localidades do Brasil, incluindo o Ministério da Justiça, DNIT, PROCERGS, Serpro, Totvs, entre outras. Palestrante em eventos importantes como Agile Brazil, The Developers Conference, FISL, XP Conf BR. Autor do e-book ::Histórias de Usuário - Por que e como escrever requisitos de forma ágil?::, que atingiu a marca de 4.000 downloads em menos de um ano (www.wildtech.com.br/historias-de-usuario). Idealizador e cofundador da XP Conf. BR, a conferência nacional sobre eXtreme Programming, e cofundador das conferências UX Conf. BR, DevOps Conf. BR e Empreende Conf. https://about.me/rafaelhelm

Dados do produto

Número de páginas:
148
ISBN:
978-85-5519-106-0

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter