SlideShare une entreprise Scribd logo
1  sur  4
Agradecimentos
Primeiramente gostaria de agradecer o convite e a presença de todos vocês. Estou muito
contente de estar aqui depois de um bom tempo. Sou formando da PUC da turma de
2002.

Quem Sou eu
Formado na PUC em 2002
Desenvolvedor Sênior da Gonow a quase 3 anos. (Contratando)
Evangelista de métodos ágeis desde 2007.
Eventos DevInSampa, Fatec

Falando em palestras, vai ocorrer dia 3 e 4 de novembro agora o RubyConf 2011. Local
para aprender, abrir a mente, fazer networking...Hoje temos muita informação na internet
e conteúdos e palestras temos acesso, porém a presença em eventos é muito importante
para formar uma rede de relacionamentos profissionais.



Por que ser ágil?

Por que eu preciso ser ágil? Preciso realmente aplicar essas técnicas que falam? Não vou
responder, quero que reflitam nessa apresentação.
Quem aqui gosta de trabalhar no feriado? Temos um feriado agora. Levanta a mão quem
gosta de trabalhar de sábados e domingos? Quem gosta de fazer 14 horas de trabalho
por dia?
Não estou dizendo que se vocês forem agilistas não vão trabalhar até mais tarde, não vão
trabalhar nos feriados. Estou dizendo que existem possibilidades que isso seja evitado
com a adoção de padrões e técnicas.

O que é ser ágil?
Ser ágil não é fazer rápido, é ser consistente. É pensar no futuro como um investimento. É
usar melhor o tempo. É inspecionar, adaptar, receber feedback mais cedo. Metáfora:
“Quem já comeu um boi inteiro? Eu já, mas não de uma vez e sim iterativamente”

Inspire-se em alguém
Antes de falar sobre métodos ágeis eu gostaria que vocês pensassem em uma pessoa
que inspira vocês. Temos vários exemplos de líderes, inovadores, pessoas bem
sucedidas. Exemplos no esporte como Bernardinho do volei, um líder que sempre tem a
equipe na mão. Exemplos como Dalai Lama, Chico Xavier.

Jobs
Steve Jobs nasceu de uma família pobre e foi levado para adoção. Seus pais não tinham
dinheiro para pagar-lhe uma faculdade, então concordaram em adotar apenas para uma
família que tivesse condições de pagar a faculdade. Porém aos 25 anos Jobs já tinha
sucesso profissional e tornou-se rico. Poderia ter se conformado com isso pois dinheiro
não era mais problema, porém continuava buscando algo a mais. Fazia isso não pelo
dinheiro mas porque amava o que fazia. Já sabia exatamente o que queria ver escrito no
seu epitáfio.

Você ama o que faz?
Não estou dizendo que não se pode conseguir estabilidade financeira sem fazer o que
gosta. Estou dizendo que nunca será como Steve Jobs se não fizer o que ama. Portanto,
se ainda não sabe o que gosta, continue procurando.

Manifesto Ágil
Tudo começou quando alguns profissionais líderes e respeitados (o qual deveriamos
conhecer e seguir) se reuniram para pensar o porquê de tantos fracassos na indústria de
desenvolvimento de software. Porque tanto software sendo entregue sem alguma
qualidade. Porque tão difícil de evoluir um projeto e o motivo de tantos atrasos de
projetos. Então surgiu o manifesto ágil.

Métodos Ágeis

Extreme Programming, Scrum, Kanban, Lean Thinking, FDD

Saia da Sona de conforto!
Ok, mas por que ainda é tão difícil, nos dias de hoje, aplicar algumas técnicas ágeis?
Porque ela mexe com a zona de conforto das pessoas. Mexe com a sua zona de conforto.
E isso é bom para você, bom para a empresa. Comodidade não é bom. Se achar que está
numa zona de conforto se incomode. Veja o que você pode agregar para seu trabalho
senão outros podem fazer isso por você.

Extreme Programming
Um divisor de águas na minha carreira foi quando conheci Vinícius Teles, autor desse livro
que é referência na literatura portuguesa. Isso me ajudou a ser um tomador de decisões e
me tornar um melhor profissional.

Esse livro ensina técnicas para atingir esses 5 valores: Comunicação, Respeito,
Simplicidade, Coragem e Feedback.

Segredo da produtividade
Como fazer para se tornar um desenvolvedor produtivo? Como fazer para cumprir metas,
prazos, entregar valores para o cliente?
Ah já sei, estão falando de frameworks novos para fazer uma aplicação web. Existem
livros de desenvolvimento ágil com a tecnologia tal. bibiotecas para tudo.
Resposta: Não. É claro que o domínio de uma tecnologia ajuda, mas o grande segredo da
produtividade é a noção de negociação. É ter um executável o mais rápido possível. É
lançar um produto antes dos concorrentes. É ter ROI.

Exemplo:
Sistema de autenticação. Você precisa desenvolver um complexo sistema de login. Além
da autenticação existem grupos com permissões diferentes de autorização. E também é
necessário aplicar regras de segurança no login. Além disso você tem um prazo apertado
para entregar a funcionalidade. Normalmente nesses casos o desenvolvedor já separa o
telefone da pizzaria e aproxima o puff da empresa pra perto. Cansado mentalmente a
chance de inserção de bugs aumenta e as boas práticas vão para o ralo.
Vem do profissional a capacidade de negociar um escopo para que algo com boa
qualidade possa ser entregue dentro do prazo. Ele poderia entregar uma primeira versão
apenas com a autenticação e aplicar regras de segurança. Como ainda não existe a
funcionalidade de grupos, o sistema não seria aberto para todos, mas alguns já poderiam
testar a aplicação e dar feedback sobre o sistema, que é algo importantíssimo para os
desenvolvedores.
Faça meio produto, não um produto “meia-boca”


Variáveis de um projeto
Tempo, Custo e Escopo. Não se pode manter fixo as três num projeto, senão o nome não
seria variáveis e sim constantes. Então se tiver que manter o escopo, é necessário mexer
no custo ou no tempo e assim por diante.

“Uma mulher faz um filho em 9 meses, mas 9 mulheres não fazem um filho em um
mês”

Prática (TDD)
Vou agora um pouquinho para o lado técnico porque é o que alguns esperam. Pretendo
começar com um exemplo simples mas já cair num assunto bastante comentado nos
últimos meses.
O TDD é uma técnica do XP que consiste em fazer o teste antes da implementação. O
desenvolvimento é guiado pelos testes e o ciclo consiste em vermelho, verde e
refactoring.

ATTD
Uma variância disso é o ATDD (Acceptance Test Driven Development), que é escrever os
testes de aceitação antes e começar a implementar as estórias no nível de negócio.
Estórias são descrições de um problema e cenários são exemplos de uso do sistema.
Cenários podem ser critérios de aceite de uma história.

Agile Testing
Após isso, procuro aprimorar minhas técnicas de teste lendo o livro Agile Testing e vejo
que além dos testes automatizados, posso tirar métricas do meu código, preciso gerenciar
o débito técnico, aprender a usar mocks, stubs, etc.

Isso é o suficiente? Não.

Integração Contínua
Preciso colocar todos meus testes num servidor separado de forma que a cada integração
de código novo, sejam executados todos meus testes unitários e de aceitação. Dessa
forma o time tem o feedback rápido se alguma nova funcionalidade quebrou uma regra
antiga do sistema.

Estou tranquilo agora? Não.

Jobs
Imaginem Steve Jobs quando inventou o primeiro computador pessoal e propôs para a
IBM vender. A IBM disse: Imagina, as pessoas nunca comprariam isso. Elas não tem
dinheiro para comprar um computador pessoal. Stege Jobs: Mas se vendermos por muito
mais barato e em grande quantidade, podemos ter o retorno no futuro. Sem o acordo da
IBM, Jobs montou então a empresa Macintosh.

Deploy em produção
Imaginem agora vocês após todo trabalho com qualidade, testes automatizados,
cobertura 100%, métricas, chegam para a equipe de infraestrutura e pedem um deploy.
Infra: Ok, mas para isso você tem que abrir um chamado e em até 30 dias atenderemos
seu pedido, sendo que depois disso temos 40 horas para te responder por email se o
deploy foi executado com sucesso, ou não.
Então você corre de volta pra Amazon procurando desesperadamente o livro com o título
“Como ganhar dinheiro fácil e rápido. Em três passos”. Você abre o livro e lê: Primeiro
passo, ganhe dinheiro. Agora dê três passos.

Devops - Release-it

1 click deploy já não basta

Flikr, Facebook, Google

Contenu connexe

Tendances

Palestra Modelagem Ágil - Manoel Pimentel
Palestra Modelagem Ágil -  Manoel PimentelPalestra Modelagem Ágil -  Manoel Pimentel
Palestra Modelagem Ágil - Manoel PimentelManoel Pimentel Medeiros
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareLuciano Almeida
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilAriane Izac
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeScrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeGabriel Rubens
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Lean TI - Especificação Funcional de Requisitos
Lean TI -  Especificação Funcional  de RequisitosLean TI -  Especificação Funcional  de Requisitos
Lean TI - Especificação Funcional de RequisitosAdemar Leal da Silva
 
Os desafios no uso de XP e SCRUM no dia-a-dia
Os desafios no uso de XP e SCRUM no dia-a-diaOs desafios no uso de XP e SCRUM no dia-a-dia
Os desafios no uso de XP e SCRUM no dia-a-diaLeonardo "Hackin" Freire
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaRafael Ponte
 
Formacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFormacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFlávio Lima
 
Do Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatecDo Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatecBreno Campos
 
A24 paper - perfil business intelligence - o momento de sair da rotina por ...
A24   paper - perfil business intelligence - o momento de sair da rotina por ...A24   paper - perfil business intelligence - o momento de sair da rotina por ...
A24 paper - perfil business intelligence - o momento de sair da rotina por ...BIBrasil
 
Lean - Gestão e Princípios
Lean - Gestão e PrincípiosLean - Gestão e Princípios
Lean - Gestão e PrincípiosLourenco P Soares
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 

Tendances (20)

Palestra Modelagem Ágil - Manoel Pimentel
Palestra Modelagem Ágil -  Manoel PimentelPalestra Modelagem Ágil -  Manoel Pimentel
Palestra Modelagem Ágil - Manoel Pimentel
 
Modelagem Ágil
Modelagem ÁgilModelagem Ágil
Modelagem Ágil
 
03 - Palestra O que Lean
03 - Palestra O que Lean03 - Palestra O que Lean
03 - Palestra O que Lean
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
O que é DevOps afinal?
O que é DevOps afinal?O que é DevOps afinal?
O que é DevOps afinal?
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeScrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Lean TI - Especificação Funcional de Requisitos
Lean TI -  Especificação Funcional  de RequisitosLean TI -  Especificação Funcional  de Requisitos
Lean TI - Especificação Funcional de Requisitos
 
Os desafios no uso de XP e SCRUM no dia-a-dia
Os desafios no uso de XP e SCRUM no dia-a-diaOs desafios no uso de XP e SCRUM no dia-a-dia
Os desafios no uso de XP e SCRUM no dia-a-dia
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Criar startup
Criar startupCriar startup
Criar startup
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
Formacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFormacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidio
 
Enter SCRUM
Enter SCRUMEnter SCRUM
Enter SCRUM
 
Do Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatecDo Agil ao agil, como evoluimos processos na plataformatec
Do Agil ao agil, como evoluimos processos na plataformatec
 
A24 paper - perfil business intelligence - o momento de sair da rotina por ...
A24   paper - perfil business intelligence - o momento de sair da rotina por ...A24   paper - perfil business intelligence - o momento de sair da rotina por ...
A24 paper - perfil business intelligence - o momento de sair da rotina por ...
 
Lean - Gestão e Princípios
Lean - Gestão e PrincípiosLean - Gestão e Princípios
Lean - Gestão e Princípios
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 

En vedette

En vedette (8)

Bdd e ci
Bdd e ciBdd e ci
Bdd e ci
 
Excelencia puc
Excelencia pucExcelencia puc
Excelencia puc
 
Pipeline - Continuous Delivery
Pipeline - Continuous DeliveryPipeline - Continuous Delivery
Pipeline - Continuous Delivery
 
Grape golilath
Grape golilathGrape golilath
Grape golilath
 
Event machine
Event machineEvent machine
Event machine
 
Event Machine
Event MachineEvent Machine
Event Machine
 
Canaries in the air #gurusorocaba
Canaries in the air #gurusorocabaCanaries in the air #gurusorocaba
Canaries in the air #gurusorocaba
 
How to Pitch Bullshit
How to Pitch BullshitHow to Pitch Bullshit
How to Pitch Bullshit
 

Similaire à Ser ágil e produtivo

"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...Julio Cesar Nunes de Souza
 
1 como implementar o itil em pequenas e médias empresas – parte 1
1   como implementar o itil em pequenas e médias empresas – parte 11   como implementar o itil em pequenas e médias empresas – parte 1
1 como implementar o itil em pequenas e médias empresas – parte 1benedocci
 
A06 paper - perfil business intelligence - por onde, como e quando começar
A06   paper - perfil business intelligence - por onde, como e quando começarA06   paper - perfil business intelligence - por onde, como e quando começar
A06 paper - perfil business intelligence - por onde, como e quando começarMarcelo Krug
 
Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9Lu Terceiro
 
Guia para a competição Ideation Sua Ideia na Prática - Rio de Janeiro
Guia para a competição Ideation Sua Ideia na Prática - Rio de JaneiroGuia para a competição Ideation Sua Ideia na Prática - Rio de Janeiro
Guia para a competição Ideation Sua Ideia na Prática - Rio de JaneiroIdeationBrasil
 
MARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICA
MARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICAMARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICA
MARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICACarlos Silva
 
Como criar seu primeiro info produto ILUSTRADO
Como criar seu primeiro info produto ILUSTRADOComo criar seu primeiro info produto ILUSTRADO
Como criar seu primeiro info produto ILUSTRADOMarcelo Maia
 
Desenvolvendo produtos de forma ágil com scrum
Desenvolvendo produtos de forma ágil com scrumDesenvolvendo produtos de forma ágil com scrum
Desenvolvendo produtos de forma ágil com scrumRômulo Gomes
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendiVinta Software
 
Como não ferrar com a user experience - Campus Party 2012
Como não ferrar com a user experience - Campus Party 2012 Como não ferrar com a user experience - Campus Party 2012
Como não ferrar com a user experience - Campus Party 2012 Juliana Gaiba
 
Aprenda a ser um webmaster
Aprenda a ser um webmasterAprenda a ser um webmaster
Aprenda a ser um webmasterJeferson Souza
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)Felipe Pimentel
 
Criando e testando produtos em 24h
Criando e testando produtos em 24hCriando e testando produtos em 24h
Criando e testando produtos em 24hEduardo Insaurriaga
 
Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!Sandro Giacomozzi
 
Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018
Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018
Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018Jonas Beto Rompkovski
 

Similaire à Ser ágil e produtivo (20)

Iniciando uma carreira de Tecnologia em 2023
Iniciando uma carreira de Tecnologia em 2023Iniciando uma carreira de Tecnologia em 2023
Iniciando uma carreira de Tecnologia em 2023
 
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de... "Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
"Mas eu não tenho experiência..." E daí??? - Como quebrar o ciclo vicioso de...
 
1 como implementar o itil em pequenas e médias empresas – parte 1
1   como implementar o itil em pequenas e médias empresas – parte 11   como implementar o itil em pequenas e médias empresas – parte 1
1 como implementar o itil em pequenas e médias empresas – parte 1
 
A06 paper - perfil business intelligence - por onde, como e quando começar
A06   paper - perfil business intelligence - por onde, como e quando começarA06   paper - perfil business intelligence - por onde, como e quando começar
A06 paper - perfil business intelligence - por onde, como e quando começar
 
Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9
 
Guia para a competição Ideation Sua Ideia na Prática - Rio de Janeiro
Guia para a competição Ideation Sua Ideia na Prática - Rio de JaneiroGuia para a competição Ideation Sua Ideia na Prática - Rio de Janeiro
Guia para a competição Ideation Sua Ideia na Prática - Rio de Janeiro
 
MARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICA
MARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICAMARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICA
MARKETING DIGITAL: APRENDA TUDO SOBRE O ASSUNTO NA PRÁTICA
 
Como criar seu primeiro info produto ILUSTRADO
Como criar seu primeiro info produto ILUSTRADOComo criar seu primeiro info produto ILUSTRADO
Como criar seu primeiro info produto ILUSTRADO
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Desenvolvendo produtos de forma ágil com scrum
Desenvolvendo produtos de forma ágil com scrumDesenvolvendo produtos de forma ágil com scrum
Desenvolvendo produtos de forma ágil com scrum
 
5 meses de python o que aprendi
5 meses de python  o que aprendi5 meses de python  o que aprendi
5 meses de python o que aprendi
 
Como não ferrar com a user experience - Campus Party 2012
Como não ferrar com a user experience - Campus Party 2012 Como não ferrar com a user experience - Campus Party 2012
Como não ferrar com a user experience - Campus Party 2012
 
Não Espere!
Não Espere! Não Espere!
Não Espere!
 
Aprenda a ser um webmaster
Aprenda a ser um webmasterAprenda a ser um webmaster
Aprenda a ser um webmaster
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)
 
Design Centrado no Ser Humano
Design Centrado no Ser HumanoDesign Centrado no Ser Humano
Design Centrado no Ser Humano
 
Criando e testando produtos em 24h
Criando e testando produtos em 24hCriando e testando produtos em 24h
Criando e testando produtos em 24h
 
6 coisas que aprendi em 2013
6 coisas que aprendi em 20136 coisas que aprendi em 2013
6 coisas que aprendi em 2013
 
Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!Gerencie sua carreira. Seja um desenvolvedor melhor!
Gerencie sua carreira. Seja um desenvolvedor melhor!
 
Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018
Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018
Palestra sobre Design Sprint for Process no Agile Curitiba Conference 2018
 

Ser ágil e produtivo

  • 1. Agradecimentos Primeiramente gostaria de agradecer o convite e a presença de todos vocês. Estou muito contente de estar aqui depois de um bom tempo. Sou formando da PUC da turma de 2002. Quem Sou eu Formado na PUC em 2002 Desenvolvedor Sênior da Gonow a quase 3 anos. (Contratando) Evangelista de métodos ágeis desde 2007. Eventos DevInSampa, Fatec Falando em palestras, vai ocorrer dia 3 e 4 de novembro agora o RubyConf 2011. Local para aprender, abrir a mente, fazer networking...Hoje temos muita informação na internet e conteúdos e palestras temos acesso, porém a presença em eventos é muito importante para formar uma rede de relacionamentos profissionais. Por que ser ágil? Por que eu preciso ser ágil? Preciso realmente aplicar essas técnicas que falam? Não vou responder, quero que reflitam nessa apresentação. Quem aqui gosta de trabalhar no feriado? Temos um feriado agora. Levanta a mão quem gosta de trabalhar de sábados e domingos? Quem gosta de fazer 14 horas de trabalho por dia? Não estou dizendo que se vocês forem agilistas não vão trabalhar até mais tarde, não vão trabalhar nos feriados. Estou dizendo que existem possibilidades que isso seja evitado com a adoção de padrões e técnicas. O que é ser ágil? Ser ágil não é fazer rápido, é ser consistente. É pensar no futuro como um investimento. É usar melhor o tempo. É inspecionar, adaptar, receber feedback mais cedo. Metáfora: “Quem já comeu um boi inteiro? Eu já, mas não de uma vez e sim iterativamente” Inspire-se em alguém Antes de falar sobre métodos ágeis eu gostaria que vocês pensassem em uma pessoa que inspira vocês. Temos vários exemplos de líderes, inovadores, pessoas bem sucedidas. Exemplos no esporte como Bernardinho do volei, um líder que sempre tem a equipe na mão. Exemplos como Dalai Lama, Chico Xavier. Jobs Steve Jobs nasceu de uma família pobre e foi levado para adoção. Seus pais não tinham dinheiro para pagar-lhe uma faculdade, então concordaram em adotar apenas para uma família que tivesse condições de pagar a faculdade. Porém aos 25 anos Jobs já tinha sucesso profissional e tornou-se rico. Poderia ter se conformado com isso pois dinheiro não era mais problema, porém continuava buscando algo a mais. Fazia isso não pelo dinheiro mas porque amava o que fazia. Já sabia exatamente o que queria ver escrito no seu epitáfio. Você ama o que faz?
  • 2. Não estou dizendo que não se pode conseguir estabilidade financeira sem fazer o que gosta. Estou dizendo que nunca será como Steve Jobs se não fizer o que ama. Portanto, se ainda não sabe o que gosta, continue procurando. Manifesto Ágil Tudo começou quando alguns profissionais líderes e respeitados (o qual deveriamos conhecer e seguir) se reuniram para pensar o porquê de tantos fracassos na indústria de desenvolvimento de software. Porque tanto software sendo entregue sem alguma qualidade. Porque tão difícil de evoluir um projeto e o motivo de tantos atrasos de projetos. Então surgiu o manifesto ágil. Métodos Ágeis Extreme Programming, Scrum, Kanban, Lean Thinking, FDD Saia da Sona de conforto! Ok, mas por que ainda é tão difícil, nos dias de hoje, aplicar algumas técnicas ágeis? Porque ela mexe com a zona de conforto das pessoas. Mexe com a sua zona de conforto. E isso é bom para você, bom para a empresa. Comodidade não é bom. Se achar que está numa zona de conforto se incomode. Veja o que você pode agregar para seu trabalho senão outros podem fazer isso por você. Extreme Programming Um divisor de águas na minha carreira foi quando conheci Vinícius Teles, autor desse livro que é referência na literatura portuguesa. Isso me ajudou a ser um tomador de decisões e me tornar um melhor profissional. Esse livro ensina técnicas para atingir esses 5 valores: Comunicação, Respeito, Simplicidade, Coragem e Feedback. Segredo da produtividade Como fazer para se tornar um desenvolvedor produtivo? Como fazer para cumprir metas, prazos, entregar valores para o cliente? Ah já sei, estão falando de frameworks novos para fazer uma aplicação web. Existem livros de desenvolvimento ágil com a tecnologia tal. bibiotecas para tudo. Resposta: Não. É claro que o domínio de uma tecnologia ajuda, mas o grande segredo da produtividade é a noção de negociação. É ter um executável o mais rápido possível. É lançar um produto antes dos concorrentes. É ter ROI. Exemplo: Sistema de autenticação. Você precisa desenvolver um complexo sistema de login. Além da autenticação existem grupos com permissões diferentes de autorização. E também é necessário aplicar regras de segurança no login. Além disso você tem um prazo apertado para entregar a funcionalidade. Normalmente nesses casos o desenvolvedor já separa o telefone da pizzaria e aproxima o puff da empresa pra perto. Cansado mentalmente a chance de inserção de bugs aumenta e as boas práticas vão para o ralo. Vem do profissional a capacidade de negociar um escopo para que algo com boa qualidade possa ser entregue dentro do prazo. Ele poderia entregar uma primeira versão apenas com a autenticação e aplicar regras de segurança. Como ainda não existe a funcionalidade de grupos, o sistema não seria aberto para todos, mas alguns já poderiam testar a aplicação e dar feedback sobre o sistema, que é algo importantíssimo para os desenvolvedores.
  • 3. Faça meio produto, não um produto “meia-boca” Variáveis de um projeto Tempo, Custo e Escopo. Não se pode manter fixo as três num projeto, senão o nome não seria variáveis e sim constantes. Então se tiver que manter o escopo, é necessário mexer no custo ou no tempo e assim por diante. “Uma mulher faz um filho em 9 meses, mas 9 mulheres não fazem um filho em um mês” Prática (TDD) Vou agora um pouquinho para o lado técnico porque é o que alguns esperam. Pretendo começar com um exemplo simples mas já cair num assunto bastante comentado nos últimos meses. O TDD é uma técnica do XP que consiste em fazer o teste antes da implementação. O desenvolvimento é guiado pelos testes e o ciclo consiste em vermelho, verde e refactoring. ATTD Uma variância disso é o ATDD (Acceptance Test Driven Development), que é escrever os testes de aceitação antes e começar a implementar as estórias no nível de negócio. Estórias são descrições de um problema e cenários são exemplos de uso do sistema. Cenários podem ser critérios de aceite de uma história. Agile Testing Após isso, procuro aprimorar minhas técnicas de teste lendo o livro Agile Testing e vejo que além dos testes automatizados, posso tirar métricas do meu código, preciso gerenciar o débito técnico, aprender a usar mocks, stubs, etc. Isso é o suficiente? Não. Integração Contínua Preciso colocar todos meus testes num servidor separado de forma que a cada integração de código novo, sejam executados todos meus testes unitários e de aceitação. Dessa forma o time tem o feedback rápido se alguma nova funcionalidade quebrou uma regra antiga do sistema. Estou tranquilo agora? Não. Jobs Imaginem Steve Jobs quando inventou o primeiro computador pessoal e propôs para a IBM vender. A IBM disse: Imagina, as pessoas nunca comprariam isso. Elas não tem dinheiro para comprar um computador pessoal. Stege Jobs: Mas se vendermos por muito mais barato e em grande quantidade, podemos ter o retorno no futuro. Sem o acordo da IBM, Jobs montou então a empresa Macintosh. Deploy em produção Imaginem agora vocês após todo trabalho com qualidade, testes automatizados, cobertura 100%, métricas, chegam para a equipe de infraestrutura e pedem um deploy.
  • 4. Infra: Ok, mas para isso você tem que abrir um chamado e em até 30 dias atenderemos seu pedido, sendo que depois disso temos 40 horas para te responder por email se o deploy foi executado com sucesso, ou não. Então você corre de volta pra Amazon procurando desesperadamente o livro com o título “Como ganhar dinheiro fácil e rápido. Em três passos”. Você abre o livro e lê: Primeiro passo, ganhe dinheiro. Agora dê três passos. Devops - Release-it 1 click deploy já não basta Flikr, Facebook, Google