© Casa do Código - Cloud Object Storage | Store & Retrieve …€¦ ·  · 2013-06-18Casa do...

13

Transcript of © Casa do Código - Cloud Object Storage | Store & Retrieve …€¦ ·  · 2013-06-18Casa do...

© Casa do CódigoTodos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998.Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem auto-rização prévia por escrito da editora, sejam quais forem os meios: fotográficos,eletrônicos, mecânicos, gravação ou quaisquer outros.

Casa do CódigoLivros para o programadorRua Vergueiro, 3185 - 8º andar04101-300 – Vila Mariana – São Paulo – SP – Brasil

Casa do Código

Agradecimentos

Escrever este livro foi um grande desa�o para mim, e passar por esse desa�o foi umgrande lembrete do quão valiosos são meus familiares, amigos, colegas de trabalhoe de comunidade. Sem eles esse livro não teria se tornado realidade.

Agradeço à Editora Casa do Código nas pessoas de Paulo Silveira e Adriano Al-meida pela oportunidade que me foi concedida e pela con�ança para escrever sobreumassunto tão importante nos dias de hoje como o desenvolvimento ágil de sofware.

Agradeço à Blueso� e a todos os seus colaboradores que sempreme apoiam e ins-piram para buscar melhores práticas e abordagens no desenvolviemento de so�waree na gestão.

Em uma das vezes que foi entrevistado, Steve Jobs sugeriu que devemos nos ex-por às melhores coisas que seres humanos já �zeram (suas obras, seus trabalhos)e então tentar trazer essas coisas para o que você está fazendo. Bem, já faz algumtempo que eu venho tentando seguir esse conselho.

É por isso que eu agradeço também aqui a todos aqueles que desde o ManifestoÁgil vêm se dedicando para que possamos encontrar melhores maneiras de se de-senvolver so�ware.

Agradeço também à minha noiva Fernanda, que é minha maior fonte de inspi-ração e sempre me apoia em todos os meus desa�os.

Finalmente, agradeço a você leitor, você é razão pela qual esse livro existe, semvocê, esse trabalho não seria sequer necessário. Aproveite a leitura!

i

Casa do Código

Quem sou eu?

Meu nome André Faria Gomes. Atualmente, sou sócio e diretor de produtos e tec-nologia na Blueso� em São Paulo e também Associated Trainer na Adaptworks.

Sou Bacharel em Sistemas de Informação pela FIAP, Black Belt em Lean SeisSigma pela Fundação Vanzolini, e Management �.� Licensed Trainer.

O foco principal do meu trabalho é no desenvolvimento de so�ware, atuandona liderança de equipes, no coaching de métodos ágeis, e no desenvolvimento deprodutos para a Internet com diversas tecnologias e plataformas.

Minha carreira emTI começou em ���� e desde então trabalhei comuma grandediversidade de tecnologias.

Desde ���� venho aplicandométodos ágeis no dia a dia, e sempre buscandome-lhores formas de se lidar comos desa�os da gestão e do desenvolvimento de so�ware.

Atuo também como palestrante, tradutor, escritor e podcaster. Escrevo artigospara revistas e portais de TI, e mantenho meu blog andrefaria.com.

iii

Casa do Código

Prefácio

O ano era ���� e eu estava prestes a abandonar a carreira de gerente de projetos deso�ware. Eu não aguentava mais aquilo. Era o escopo que sempre mudava. O prazoe custo que sempre estouravam. O cliente que nunca sabia o que queria. A correriade �m de projeto. Fins de semana e madrugadas trabalhando. Con�itos. Prejuízo. Ea eterna esperança de que “no próximo seria diferente”. Não dava mais.

Naquele mesmo ano um amigo me emprestou um livro sobre uma tal FDD(Feature-Driven Development) e, após ler e ver sentido em muito do que estava ali,decidi me dar mais uma chance e tentar novamente, mas agora de uma forma dife-rente, a�nal, pensei, se você não pode mudar uma situação, deve mudar sua atitudeem relação a ela. Naquele momento, abrindo minha mente às possibilidades, abra-cei Agile - sem saber que aquilo era Agile - e mudei completamente o meu destinopro�ssional. Depois do primeiro projeto conseguindo ter minha qualidade de vidae auto-estima pro�ssional recuperadas, e vendo o sorriso no rosto do cliente, decidimergulhar de cabeça neste mundo. Não haveria volta.

Hoje, depois do que vi na prática, nas trincheiras, por todos esses anos, eu a�rmoa você: o resultado dos projetos de desenvolvimento de so�ware que utilizamméto-dos ágeis é muito superior se comparado às técnicas mais tradicionais de gestão deprojetos e engenharia de so�ware. E quando eu falo em melhor resultado, não es-tou falando apenas de uma maior entrega de valor, tópico brilhantemente abordadoneste livro, mas falo também de aspectos que vão desde a geração de produtos comqualidade técnica à construção de um melhor ambiente de trabalho. Estou certo deque em poucos anos nos lembraremos de Agile como ummarco na nossa pro�ssão,um marco para a área de tecnologia.

Mas, a�nal de contas, o que é Agile? É uma metodologia? Um processo? Umconjunto de valores? Ummanifesto? Ferramentas? Práticas? Ummovimento? Bem,por incrível que pareça, esta é uma pergunta difícil de ser respondida. Uma dasrazões é porque Agile pode não ser nada do que citei, e, ao mesmo tempo, pode

v

Casa do Código

compreender tudo aquilo. É muito difícil explicar Agile sem mostrar a prática. Defato, frequentemente cito que a forma correta de explicar o que é Agile deveria ser“Ei, venha aqui ver como estou fazendo!” E é neste ponto que destaco o valor decada uma das páginas deste livro, elas mostram o Agile do “mundo real”, infestadode pragmatismo e de preciosas anotações de quem valoriza sim uma boa teoria, mãonão antes de pratica-la, de vê-la realmente funcionando.

Um livro de verdade sobre Agile não poderia ter capítulos cujos títulos fossempuramente relacionados a uma regra, artefato ou ferramenta de um ou outrométodoágil. Um verdadeiro livro sobre Agile deveria manter o foco de seus capítulos na en-trega de valor ao negócio, na otimização deste valor e na construção de um novoambiente de trabalho, uma nova gestão. Um verdadeiro livro de Agile tiraria os ho-lofotes dos famosos métodos ágeis, tais como Scrum, XP e Kanban, e os apresentariaapenas como um meio para se desenvolver da forma certa produtos que realmenteagreguem valor a quem paga a conta: nossos clientes.

Sendo assim, não exito em a�rmar que este é um verdadeiro livro de Agile. É olivro que você deve ler caso queira construir um novo e melhor caminho para a suacarreira na área de projetos de so�ware.

Alexandre MagnoAgile Expert e Fundador da AdaptWorks

vi

Casa do Código Sumário

Sumário

� Introdução à Métodos Ágeis ��.� OManifesto Ágil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ��.� Métodos Ágeis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ��.� Compreendendo os Valores Ágeis . . . . . . . . . . . . . . . . . . . . . ��.� Benefícios dos Métodos Ágeis . . . . . . . . . . . . . . . . . . . . . . . ��.� Agregando Mais Valor com Scrum . . . . . . . . . . . . . . . . . . . . ���.� Excelência Técnica com XP . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Fluxo Contínuo com Kanban . . . . . . . . . . . . . . . . . . . . . . . ���.� Qual é o Melhor Método? . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� E agora, o que eu faço amanhã? . . . . . . . . . . . . . . . . . . . . . . ��

� Fluência Ágil ���.� Evolução e Maturidade de uma Equipe Ágil . . . . . . . . . . . . . . . ���.� Ordem, Caos e Complexidade . . . . . . . . . . . . . . . . . . . . . . . ���.� E agora, o que eu faço amanhã? . . . . . . . . . . . . . . . . . . . . . . ��

� Foco em Valor para o Negócio ���.� Disseminando a Visão do Projeto . . . . . . . . . . . . . . . . . . . . . ���.� Planejamento e Desenvolvimento Iterativo . . . . . . . . . . . . . . . . ���.� Planejando uma Iteração . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� A Reunião Diária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Limitando o Trabalho em Progresso . . . . . . . . . . . . . . . . . . . ���.� Escrevendo Histórias de Usuário . . . . . . . . . . . . . . . . . . . . . ���.� Mapeando histórias de usuários . . . . . . . . . . . . . . . . . . . . . . ���.� Conhecendo os Usuários através de Personas . . . . . . . . . . . . . . ��

vii

Sumário Casa do Código

�.� Melhorando a Previsibilidade com Estimativas . . . . . . . . . . . . . ���.�� De�nindo Entregas com o Planejamento de Releases . . . . . . . . . . ���.�� Roadmap do Produto . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.�� Mantenha as Opções Abertas . . . . . . . . . . . . . . . . . . . . . . . ���.�� E agora, o que eu faço amanhã? . . . . . . . . . . . . . . . . . . . . . . ��

� Entregando Valor ���.� Testes Ágeis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Simpli�cando o Código com Refatoração . . . . . . . . . . . . . . . . ���.� Código Limpo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Propriedade Coletiva do Código . . . . . . . . . . . . . . . . . . . . . . ���.� Linguagem ubíqua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Design Ágil é Design Iterativo . . . . . . . . . . . . . . . . . . . . . . . ���.� De�nindo o signi�cado de Pronto . . . . . . . . . . . . . . . . . . . . . ���.� Integração Contínua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Programação em Par . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.�� Revisão de Código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.�� Dívida Técnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.�� Agilidade Explícita comMural de Práticas . . . . . . . . . . . . . . . . ���.�� E agora, o que eu faço amanhã? . . . . . . . . . . . . . . . . . . . . . . ��

� Otimizando Valor ���.� Direcionando a Equipe . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Métricas Ágeis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ���.� Apresente o Resultado em Reuniões de Demonstração . . . . . . . . . ����.� Melhoria Contínua com Retrospectivas . . . . . . . . . . . . . . . . . . ����.� Eliminando Desperdícios com Lean . . . . . . . . . . . . . . . . . . . . ����.� E agora, o que eu faço amanhã? . . . . . . . . . . . . . . . . . . . . . . ���

� Otimizando o Sistema ����.� A Gestão pode ser Ágil? . . . . . . . . . . . . . . . . . . . . . . . . . . . ����.� Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ����.� Escalando Ágil com Programas e Portfólios . . . . . . . . . . . . . . . ����.� Formação das Equipes . . . . . . . . . . . . . . . . . . . . . . . . . . . ����.� Práticas de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . ���

viii

Casa do Código Sumário

�.� Hackathons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ����.� Comunidades de Prática . . . . . . . . . . . . . . . . . . . . . . . . . . ����.� E agora, o que eu faço amanhã? . . . . . . . . . . . . . . . . . . . . . . ���

� Apêndice A: Ferramentas de Apoio ���

Bibliogra�a ���Versão: ��.�.��

ix