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

Thoughtworks Antologia Brasil Histórias de aprendizado e inovação

ThoughtWorks
Capa

Thoughtworks Antologia Brasil: Histórias de aprendizado e inovação

Prefácio

por Luca Bastos

Quando o Paulo Caroli me pediu este prefácio, a ideia era falar um pouco sobre cada capítulo. Comecei a escrever sobre cada um, mas hesitei. Em vez disso, optei por explicar o raciocínio que responde a uma antiga curiosidade que eu tinha antes de conhecer detalhes desta empresa. Antes de entrar na ThoughtWorks, sempre me intrigou como os thoughtworkers têm tempo e condições para avaliar e usar tantas práticas e tecnologias, e ainda conseguir compartilhar conhecimento em diferentes meios, como no Thoughtworks Insights *, em blogs pessoais, livros, palestras e workshops, participação em projetos de Software Livre, além do já famoso e aguardado Tech Radar *.

Certo dia, presenciei uma pergunta feita ao Danilo Sato por um aluno de mestrado em uma palestra no IME-USP, Instituto de Matemática e Estatística da USP.

- Danilo, sei que o conceito de BDD, Behavior Driven Development, foi criado na ThoughtWorks. Todo mundo lá usa esse tal de BDD?

A resposta dele surpreendeu professores, mestrandos e doutorandos presentes:

- Por acaso, meu time atualmente está usando BDD, mas há tempos não usava.

Uma das minhas primeiras descobertas na ThoughtWorks foi saber que não se adota a mesma coisa em todos os projetos. Acontece até com as técnicas criadas ou aperfeiçoadas aqui. Por exemplo, os projetos de software livre não são empregados apenas por serem desenvolvidos por outros colegas da mesma empresa.

Descobri que, em vez de unificar suas práticas e tecnologias, de buscar uma solução de referência para todos os projetos, padronizando bancos de dados, linguagens, ferramentas e processos, esta empresa promove, experimenta e amadurece práticas, ferramenta e processos. E é isso que você, meu caro leitor, pode esperar desta antologia.

Buscar uniformidade por conveniência dificulta encontrar o que é mais adequado, e isto é terrível para criação, evolução ou a inovação de ideias e formas de trabalhar. Na ThoughtWorks, cada caso é analisado em busca de agregar experiências passadas e tendências futuras às exigências atuais do projeto. Escolhas são feitas com a visão mais ampla possível. Tudo dentro do nosso conceito de sucesso, que implica na satisfação do cliente junto com o impacto positivo na sociedade. Somos atualmente uma empresa de quase três mil pessoas, com mais de trinta escritórios em 13 países. Em cada escritório, uma média de 100 pessoas, das quais 30% são de algum outro escrtótio. Uma troca constante de experiência e ideias.

Temos a paixão por compartilhar conhecimento, interna ou externamente. São comuns as apresentações na hora do almoço ou depois do expediente abordando temas novos ou mostrando como determinado problema foi resolvido. Muitas dessas palestras ou workshops são feitos para todos os escritórios no Brasil, e algumas vezes assistimos a apresentações de escritórios de outros países. Tudo de acordo com o que disse o autor, editor e consultor Peter Seibel: “Como ser um engenheiro 10X: ajude 10 outros serem duas vezes melhores”.

Essa exposição ao que está acontecendo em muitos projetos aqui e lá fora é somada às condições de discutir e experimentar novas práticas e tecnologias. Foi assim que entendi como compartilham tanto conhecimento, incluindo escrever antologias como esta.

Espero que aproveitem a leitura e conheçam mais um pouco do que usamos ou fazemos. Tenho certeza de que a experiência aqui compartilhada servirá para que mais gente nos ajude na missão de melhorar a humanidade por meio do software, criando um ecossistema socialmente responsável e economicamente justo, além de mudar o papel da tecnologia na sociedade.

Autores

Disse Aristóteles: “Se vi ao longe é porque estava nos ombros dos gigantes”. Assim me sinto como editor desta obra. Foi com muito orgulho que participei da fundação da ThoughtWorks Brasil em 2009, e é com muita honra que apresento esta antologia da Thoughtworks Brasil.

Este livro contém 16 capítulos independentes, mas complementares, com histórias, ensinamentos e práticas dos meus amigos e colegas de trabalho, gigantes do desenvolvimento de software.

Paulo Caroli, editor

Segue, em ordem alfabética, a lista de autores desta antologia.

Adriano Bonat

Possui mais de uma década de experiência trabalhando com projetos de desenvolvimento de software para grandes empresas que atuam em diversas áreas de excelência como saúde, educação, e-commerce de conteúdo digital e leilões virtuais, entregando projetos com sucesso e mudando a maneira com que o software é colocado em produção. Contribui em diversos projetos open source e trabalha como consultor na ThoughtWorks, onde mentora times nas melhores práticas para construir software de qualidade.

Alexandre Klaser

Alexandre Klaser é um evangelista de métodos ágeis e entusiasta de gestão moderna e melhoria contínua. Possui mais de 15 anos de experiência trabalhando com desenvolvimento de software e atualmente é analista de Negócios na ThoughtWorks Brasil. Seu objetivo atual é aproximar clientes e equipes de desenvolvimento, fazendo com que partilhem uma visão comum sobre como o desenvolvimento de software pode ser ao mesmo tempo divertido e lucrativo, sempre colocando as pessoas em primeiro lugar.

Alexey A. Villas Bôas

Alexey é bacharel e mestre em Ciência da Computação pelo IME-USP e apaixonado por todos os aspectos de projetos de software, desde tecnologia até as questões humanas e de formação de times. Foi professor universitário em cursos de graduação em Ciência e Engenharia da Computação e trabalha com projetos de TI há cerca de 15 anos nos mais diversos papéis: desenvolvedor, analista de negócios, gerente de projetos, coach e gerente de área. Em 2012, juntou-se à ThoughtWorks e atualmente é consultor principal e gerente geral da ThoughtWorks São Paulo.

Carlos Lopes

Carlos Lopes já atuou em diversas empresas dos mais variados ramos, desde instituições de ensino até grandes portais, envolvido nos mais diferentes tipos de projetos e com as mais variadas tecnologias. Atualmente, é consultor da ThoughtWorks, onde aplica princípios e práticas ágeis no seu dia a dia.

Claudia Melo

Claudia Melo é Diretora de Tecnologia da ThoughtWorks Brasil e pesquisadora associada ao IME-USP. Doutora em Ciência da Computação pelo IME-USP, pesquisou produtividade de times ágeis no Brasil e trabalhou em conjunto com a Norwegian University of Science and Technology. Nos últimos 15 anos, Claudia se uniu a diferentes empresas brasileiras e multinacionais com foco em desenvolvimento de software. Também facilitou o aprendizado de alunos de graduação e pós-graduação por 10 anos. É participante ativa da comunidade ágil nacional e internacional, com diversas publicações e palestras no Brasil, Estados Unidos, Europa, Oriente Médio e Escandinávia.

Daniel Amorim

Agile QA Consultant @ ThoughtWorks. Trabalha no mercado de TI desde 2007, buscando as melhores práticas de testes ágeis para contribuir com o seu time – não apenas automatizar testes, mas também construir uma aplicação de alta qualidade através de trabalho colaborativo do time ágil. Ele trabalha em pesquisas focadas em automação de testes, testes não funcionais, práticas de devops, comunicação efetiva com o cliente. Palestrante e facilitador de testing dojos. Fomentador da comunidade de QAs no Brasil.

Émerson Hernandez

Émerson Hernadez é consultor da Thoughtworks Brasil, trabalhando principalmente com gerência de projetos. Mestre em Ciência da Computação pela Universidade Federal do Rio Grande do Sul, é apaixonado por resolução de problemas através de software e crescimento humano via ensino. Em sala de aula ou em ambientes de desenvolvimento de software, tenta ampliar o poder coletivo através da aplicação de valores ágeis.

Fabio Pereira

Fabio Pereira trabalha como consultor lead pela ThoughtWorks Austrália desde 2008. Pioneiro em metodologias ágeis, desde 2001 ele vem ajudando empresas a desenvolver software atuando em diversas áreas e papéis como arquiteto, gerente de projetos e coach. Como palestrante já participou de diversas conferências incluindo QCon e AgileAustralia. Apaixonado por fotografia e psicologia, ele acredita que o entendimento do que nos motiva e de como tomamos decisões pode ser extremamente útil para o sucesso do trabalho em equipe.

Francisco Trindade

Francisco Trindade é um desenvolvedor de software com certo interesse em inovação e empreendedorismo, e atualmente trabalha na empresa YourGrocer, sua segunda startup, em Melbourne, na Austrália. Francisco trabalhou como consultor da ThoughtWorks por seis anos em diferentes países, passando por Inglaterra, China, Brasil e Austrália. Seus interesses passam por tecnologia, software, pensamento sistêmico e eficiência de equipes e organizações.

Glauber Ramos

Glauber Ramos trabalha como designer da Experiência do Usuário (UX) e front-end developer na ThoughtWorks Brasil. Gosta de trabalhar em ambientes colaborativos onde possa construir a melhor experiência com foco no usuário. Tem experiência em diversas áreas como saúde, bancos, educação e e-commerce. Apaixonado pela web e a colaboração que ela propõe, ele acredita que a constante validação e refinamento é que fazem um produto de sucesso.

Guilherme Froes

Guilherme Froes é desenvolvedor de software há quase 10 anos e atualmente é consultor na ThoughtWorks Brasil, onde ajuda clientes das mais variadas indústrias a entregar valor a seus clientes através de práticas ágeis. Tem particular interesse por desenvolvimento orientado a testes (TDD) e está tentando responder a pergunta: como times ou organizações tradicionais podem se tornar ágeis?

Hugo Corbucci

Hugo Corbucci é mestre em Ciências da Computação do IME/USP no tema “Aplicação de Métodos Ágeis ao Desenvolvimento de Software Livre”. Ele é fundador e coordenador do projeto Archimedes – The Open CAD (em 2005) e fundador do Coding Dojo São Paulo (em 2007). Foi professor nos cursos de verão do IME/USP (de 2007 a 2010), onde também atuou como assistente de ensino no curso de Programação Extrema da graduação. Também já ministrou cursos sobre métodos ágeis no ICMC e foi palestrante em conferências nacionais e internacionais. Já foi desenvolvedor e assessor em métodos ágeis na Maps Risk Management Solution no período de adoção de Scrum da empresa (em 2006). É sócio-fundador da Agilbits e atuou como programador e líder de projetos, desenvolvendo sistemas desktop com Java, usando a plataforma Eclipse RCP e sistemas web com Ruby usando Rails de 2008 a 2011. Atualmente, trabalha como consultor na ThoughtWorks em Chicago, ajudando clientes a evoluir seus sistemas legados. É apaixonado por programação e trabalho em equipe além de ser um assíduo escalador.

Juraci Vieira

Juraci Vieira é um consultor senior na Thoughtworks onde trabalha com desenvolvimento de software com foco em qualidade. Tendo iniciado sua carreira na área de Qualidade de Software, sempre manteve interesse em expandir suas habilidades técnicas relacionadas a automação de testes e provisionamento de ambientes de integração contínua. Possui interesse em propagar a qualidade no desenvolvimento do software utilizando praticas como Specification by Example, BDD e DevOps.

Luca Bastos

Luca Bastos é um principal consultant na ThoughtWorks. Engenheiro, ex-empreendedor, desenvolvedor do tempo da Carochinha e eterno aprendiz.

Luiza de Souza

Luiza de Souza é formada em Ciência da Computação pela Universidade Federal do Rio Grande do Sul e atualmente trabalha como desenvolvedora na ThoughtWorks Brasil. Durante a sua carreira teve a oportunidade de trabalhar em países como Alemanha, Brasil, Índia e Estados Unidos em projetos desafiadores na área da educação, saúde e e-commerce. Apaixonada pelo que faz, busca, por meio de seu trabalho, trazer mais qualidade de vida para as pessoas.

Marcos Brizeno

Marcos Brizeno é Cientista da Computação pela Universidade Estadual do Ceará e, atualmente, consultor desenvolvedor na ThoughtWorks Recife. Trabalha com desenvolvimento web e também executa atividades de pesquisa sobre novas tecnologias e tendências no desenvolvimento de software. Apaixonado por Engenharia de Software e Metodologias Ágeis.

Mário Areias

Mário Areias trabalha com TI há mais de sete anos e é desenvolvedor/consultor na ThoughtWorks Brasil. Já trabalhou em países como Brasil, EUA e Índia e também com diversos clientes, desde bancos, hospitais, e-commerce até segurança na internet. Não apenas desenvolve como também é facilitador e coach de metodologias ágeis. É participante ativo das listas de discussões do OpenMRS e é apaixonado por tecnologias open source, testes e metodologias ágeis.

Maurício Silveira Sanches

Mauricio Silveira Sanches trabalha como consultor na ThoughtWorks desde 2010 e é formado em Ciências da Computação pela Universidade Federal do Rio Grande do Sul. Desempenhou diversos papéis em sua carreira, mas acima de tudo é apaixonado por desenvolvimento e metodologia ágeis.

Natalia Arsand

Natalia Arsand é designer da Experiência do Usuário (UX) na ThoughtWorks Brasil. Gosta de desafios de usabilidade, questionamentos inteligentes, sessões de rabisco, interações intuitivas, harmonia das cores e preza por experiências incríveis. Na ThoughtWorks há 2 anos, já passou por projetos desafiadores em setores como o da saúde, educação e segurança na internet, tendo Lean UX e Design Thinking como seus aliados.

Nicholas Pufal

Nicholas Pufal atua como desenvolvedor na ThoughtWorks Brasil. Começou a programar em cima de iniciativas open source e já trabalhou em startups na área de aprimoramento de metodologias e técnicas aplicadas na definição de escopo e implementação de MVPs. Compartilha de um profundo interesse por temas como design patterns, boas práticas de desenvolvimento e em formas de aprimorar a comunicação/qualidade de entrega de times ágeis ─ um assunto extenso que inclui ideias como BDD e Specification by Example.

Paulo Caroli

Paulo Caroli é M.S. em Engenharia de Software pela PUC-Rio, e atualmente trabalha como consultor de transformação ágil para grandes corporações pela ThoughtWorks Brazil. Possui mais de duas décadas de experiência em desenvolvimento de software com passagem em várias corporações no Brasil, Índia e EUA. Desde 2000 tem focado sua experiência em processos e práticas de Gestão e Desenvolvimento Ágil usando Lean, XP, Scrum e Kanban. É sempre palestrante convidado em vários eventos grandes no Brasil e no exterior e também autor de um sem número de artigos, e mais recentemente livros sobre métodos ágeis. Foi o idealizador, um dos criadores e palestrante desde 2009 do Agile Brazil, um dos maiores eventos de desenvolvimento de software da América Latina. Em 2006, ingressou na ThoughtWorks USA como desenvolvedor, em 2008 foi transferido para a ThoughtWorks India como treinador e gerente de projetos e em 2010 regressou para o Brasil para fundar a ThoughtWorks Brasil, onde desde então tem atuado como mentor e coach ágil.

Roger Almeida

Pai, esposo, autodidata, desenvolvedor trabalhando na área desde 2002. Músico nas horas vagas. Começou a trabalhar com métodos ágeis em 2006 e desde então é um aficionado pela busca do desenvolvimento perfeito.

Tainã Caetano

Atualmente desenvolvedor na ThoughtWorks Porto Alegre, Tainã tem experiência como analista de testes, gerente de projetos e coach em múltiplas equipes distribuídas entre Brasil, Estados Unidos e Índia. Coautor do livro Fun Retrospectives, regularmente ministra palestras e workshops sobre práticas ágeis e melhoria de processo. Trabalhou como coach e professor na ThoughtWorks University, um programa global para thoughtworkers recém-contratados.

Foreword

Ao leitor.

Depois de algumas décadas em um determinado campo, não é incomum para um praticante achar que já viu tudo, que as histórias, os problemas e as próprias soluções se repetem. Um dos meus grandes prazeres no campo da tecnologia foi poder escapar desse cinismo existencial. Mesmo que os problemas e as histórias se repitam, o universo tecnológico está em constante evolução e esses problemas e histórias sempre apresentam crescentes nuances que tornam a busca de soluções diferentes e inovadoras algo continuamente estimulante. 

Com os anos, adquire-se um módico de entendimento e percebe-se que essa visão não é uma constante no campo. Ela exige uma mentalidade deliberada e um cultivo próprio para florescer. Como organização, a ThoughtWorks considera isso mais do que uma mentalidade - considera uma missão. Para nós, inovar, buscar novas soluções, ajudar a revolucionar a indústria de tecnologia é parte do que somos e carrega consigo também um senso de responsabilidade para com o mercado e a sociedade em balancear tecnologia com as necessidades humanas.

É com um prazer especial, então, que recebo essa antologia. Nos ensaios dispostos aqui, eu vejo essa mentalidade e esse cultivo, esse senso de maravilhamento e busca constante de contar ou renovar histórias, de qualificar problemas novos e antigos, de buscar soluções que definam e redefinam práticas e empurrem o campo em novas direções. Minha esperança é que esses ensaios forneçam a você essas percepções e vislumbres e que tragam consigo esse senso de renovação. E, acima de tudo, que iniciem o próximo ciclo.

Ronaldo Ferraz, Diretor-presidente da ThoughtWorks Brasil

Sumário

  • 1 - Inceptions de uma semana
    • 1.1 - Inception
    • 1.2 - Inception de uma semana
    • 1.3 - Estrutura de uma inception de uma semana
    • 1.4 - Quebrando o gelo
    • 1.5 - Visão do produto
    • 1.6 - Objetivos
    • 1.7 - Personas
    • 1.8 - Features
    • 1.9 - Histórias
    • 1.10 - Refinamento das histórias
    • 1.11 - O mapeamento das histórias
    • 1.12 - Conclusão
  • 2 - Produtividade e adaptabilidade de times ágeis: conceitos e paradoxos
    • 2.1 - Ágil é produtivo?
    • 2.2 - Conceitos de produtividade
    • 2.3 - Agilidade é sobre mudança de paradigma
    • 2.4 - O que significa produtividade de times ágeis?
    • 2.5 - Paradoxos envolvendo eficiência e flexibilidade e seu impacto na produtividade de times ágeis
    • 2.6 - Conclusão
  • 3 - Peopleware: entendendo ambientes corporativos
    • 3.1 - Cargos e estruturas
    • 3.2 - Empatia
    • 3.3 - Motivadores
      • 3.3.1 - Motivadores extrínsecos
      • 3.3.2 - Motivadores intrínsecos
    • 3.4 - Algumas ferramentas
      • 3.4.1 - A escala de necessidades de Maslow
      • 3.4.2 - Os níveis lógicos de pensamento
      • 3.4.3 - Os 10 desejos intrínsecos
      • 3.4.4 - Mapas de empatia
    • 3.5 - Como usar tudo isso: seu círculo de influência
  • 4 - Psicologia cognitiva explicando Ágil
    • 4.1 - Não somos racionais ─ Ilusões cognitivas e um cérebro que pensa de forma relativa
    • 4.2 - Ilusões de óptica e ilusões cognitivas
    • 4.3 - O que as ilusões cognitivas têm a ver com Desenvolvimento Ágil?
    • 4.4 - Síndrome do Estudante explicando iterações
    • 4.5 - Cegueira não intencional
    • 4.6 - Geladeira ou radiador?
    • 4.7 - Um desmaio na rua, a difusão de responsabilidade e os itens da retrospectiva
    • 4.8 - Valorizo, pois também sou dono
    • 4.9 - Princípio da prioridade relativa
    • 4.10 - Um taco, uma bola, um teste
    • 4.11 - Resumo das correlações
    • 4.12 - A importância das correlações
    • 4.13 - Psicólogo por paixão
  • 5 - Queremos inovar!
    • 5.1 - Uma história da (falta de) inovação
    • 5.2 - Mudar é necessário
    • 5.3 - Conheça a Lean Startup
    • 5.4 - Entendendo as dificuldades
      • 5.4.1 - Inovação não é só entregar software
      • 5.4.2 - Sucesso não é apenas fazer o que você já faz bem
      • 5.4.3 - Uma pessoa com uma ideia, a unidade de inovação
      • 5.4.4 - A regra é fracassar
    • 5.5 - Quebrando a uniformidade
    • 5.6 - As fases da inovação
      • 5.6.1 - Geração de insights: como fazer as ideias fluírem?
      • 5.6.2 - Modelando ideias: transformando pensamentos aleatórios em modelos de negócios
      • 5.6.3 - Executando modelos de negócios: transformando ideias em atividades lucrativas
    • 5.7 - Reflexões
  • 6 - Mirebalais ─ Melhorando a sociedade com tecnologia
    • 6.1 - Contexto
    • 6.2 - O foco diferenciado
      • 6.2.1 - Parte técnica
      • 6.2.2 - Produto Mínimo Viável
      • 6.2.3 - Experiência de usuário
    • 6.3 - Inovação
    • 6.4 - Conclusão
  • 7 - Formando novos profissionais: um relato de parceria entre empresa e universidade
    • 7.1 - Motivação
    • 7.2 - Idealizando o programa
    • 7.3 - O framework de capacitação
      • 7.3.1 - Captação de participantes: divulgação e recrutamento
      • 7.3.2 - Estrutura: papéis e práticas
    • 7.4 - Práticas ágeis adotadas
    • 7.5 - Conclusão
    • 7.6 - Agradecimentos
  • 8 - Programação em par
    • 8.1 - Definição
    • 8.2 - Quando parear
    • 8.3 - Ilhas de conhecimento
    • 8.4 - Ferramental e pareamento remoto
    • 8.5 - Técnicas
    • 8.6 - Conclusão
  • 9 - Vários projetos, objetivos diferentes, mas o código em comum
    • 9.1 - Problemas com branching
      • 9.1.1 - Merge hell
      • 9.1.2 - Merge monkey
      • 9.1.3 - Integração promíscua
    • 9.2 - Trunk Based Development
      • 9.2.1 - Tipos de trunk
      • 9.2.2 - Feature toggles
    • 9.3 - Branches são do mal?
    • 9.4 - Conclusão
  • 10 - Dissecando feature toggles
    • 10.1 - Feature toggles na prática
    • 10.2 - Precauções
    • 10.3 - Tipos de feature toggles
      • 10.3.1 - Toggle de desenvolvimento
      • 10.3.2 - Toggle de operações
      • 10.3.3 - Toggle de negócio
    • 10.4 - Arquitetura da aplicação
      • 10.4.1 - Conteúdo estático
    • 10.5 - Quando remover feature toggles
    • 10.6 - Conclusão
  • 11 - Estudo de caso: automação como primeiro passo para entrega contínua
    • 11.1 - Em busca da entrega contínua
    • 11.2 - Contexto
    • 11.3 - A iniciativa de melhoria de implantações
      • 11.3.1 - Fase 1 – Automação
      • 11.3.2 - Fase 2 ─ Melhorando a confiança nos scripts
    • 11.4 - Avaliando o resultado
    • 11.5 - Conclusão
  • 12 - Explorando padrões de implementação em Ruby
    • 12.1 - Padrão State
    • 12.2 - Padrão Active Record
    • 12.3 - Padrões construtores
    • 12.4 - Padrão Map/Reduce
    • 12.5 - Conclusão
  • 13 - Testando JavaScript com o Protactor: um exemplo de solução integradora
    • 13.1 - Press start
    • 13.2 - Entendendo o Protractor mais a fundo
    • 13.3 - Por que usar Protractor?
  • 14 - Melhore seus testes
    • 14.1 - Trate código de teste como código de produção
      • 14.1.1 - Repetir ou não se repetir?
      • 14.1.2 - Legibilidade vs. repetição
      • 14.1.3 - Qualidade do código de testes
    • 14.2 - Utilize padrões de testes
      • 14.2.1 - Padrões de organização de código
      • 14.2.2 - Padrões de banco de dados
      • 14.2.3 - Padrões de verificação de resultado
      • 14.2.4 - Vários outros tipos de padrões
    • 14.3 - Evite testes instáveis
      • 14.3.1 - Testes não determinísticos
      • 14.3.2 - Possíveis causas de instabilidade
      • 14.3.3 - Melhorando a instabilidade
    • 14.4 - Teste no nível apropriado
      • 14.4.1 - Custos e níveis de testes
      • 14.4.2 - Pirâmide de testes
      • 14.4.3 - Antipadrões de balanceamento
      • 14.4.4 - Como diminuir o problema
    • 14.5 - Conclusão
  • 15 - Entendendo e utilizando dublês de teste
    • 15.1 - Stub
    • 15.2 - Fake
    • 15.3 - Dummy
    • 15.4 - Mocks
    • 15.5 - Spy
    • 15.6 - Dublês de teste e TDD
    • 15.7 - Utilizar dublês, sim
  • 16 - Desmistificando o BDD
    • 16.1 - BDD é geralmente mal compreendido
    • 16.2 - Os fundamentos de BDD
    • 16.3 - O BDD aprimorando o TDD
    • 16.4 - Os três princípios do BDD
    • 16.5 - Principais reclamações sobre BDD
      • 16.5.1 - O cliente não se importa com testes, logo, não lhe interessa se o time aplica BDD ou não
      • 16.5.2 - O cliente não quer escrever as especificações na ferramenta destinada a isso
    • 16.6 - Comunicação e o fluxo de trabalho
    • 16.7 - Sessão de 3 amigos
    • 16.8 - Um caso de sucesso usando BDD
    • 16.9 - Considerações finais

Dados do produto

Número de páginas:
292
ISBN:
978-85-5519-067-4
Data publicação:
11/2014

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter