VELOZES E FURIOSOS
COM EXTREME
PROGRAMMING!
Essa palestra é para empresas de pequeno e
médio porte que querem aumentar a
v...
Mobile & Cloud Systems
Quem sou?
• Binhara@gmail.com
• Mestre em Tecnologia (UTFPR)
• Bacharel em Processamento de Dados
•...
Mobile & Cloud Systems
Foco da Palestra
• Como aumentar a velocidade com Qualidade ?
• Falar sobre alguns conceitos de XP
...
Mobile & Cloud Systems
Inicio do XP no Brasil
• Por volta de 2001 com o primeiro Evento XPBrasil
• Divisor de águas primei...
Mobile & Cloud Systems
Como Você define XP ????
• Lançando a campanha !!!
• Pergunte ao Klaus!!!!
Mobile & Cloud Systems
Como eu definiria XP hoje?
• Atitude
• Garra para vencer
• Disciplinado
• Organizado
• Interativo
•...
Mobile & Cloud Systems
Caso Vivenciado
• Decisões da empresa afetam direto o andamento do
projeto.
• Projeto novo:
• Duas ...
Mobile & Cloud Systems
Como aumentar a velocidade sem perder
qualidade
• Primeiros passos, escolha bem sua equipe:
• Cuida...
Mobile & Cloud Systems
Como começar com XP ???
• XP é comportamental, é preciso começar a praticar .
• Iniciar com algumas...
VALORES DE XP
Mobile & Cloud Systems
Velozes e Furiosos com XP
• Como aumentar a velocidade sem perder qualidade?
• Reforçar diariamente...
Mobile & Cloud Systems
Simplicidade
• Não confunda simplicidade com “simplismos”, não
confunda liberdade com libertinagem....
Mobile & Cloud Systems
Comunicação
• Comunicação do cliente com a equipe
• Descrição das histórias
• Testes de aceitação
•...
Mobile & Cloud Systems
Coragem
• Para aceitar a orientação dos mais experientes
• Para assumir que os problemas existem
• ...
Mobile & Cloud Systems
FeedBack
• O retorno do cliente é chave para aumentar o ânimo da
equipe e fazer o projeto avançar.
...
PRÁTICAS DE XP
Mobile & Cloud Systems
Planning Game
• É o planejamento do jogo
• Planejamento das Interações
• Planejamento das StartUP M...
Mobile & Cloud Systems
Testes Automatizados
• Teste tudo que for possível.
• TDD, Teste de unidade,
• Realizar testes em c...
Mobile & Cloud Systems
Pair Programing
• Difícil de implementar
• Puxa outras práticas
• Propriedade coletiva de código
• ...
Mobile & Cloud Systems
Move People Around
• Mover as pessoas nas equipes
• Torne o ambiente divertido
• Ajudas as pessoa a...
Mobile & Cloud Systems
Small Release
• São planejado pequenos releases.
• Este são disponibilizados ao clientes
• Recolhid...
Mobile & Cloud Systems
Cliente mais perto possível
• Se possível sendo um membro da equipe.
• Busque feed back o mais brev...
PADRÕES DE PROJETO
E FERRAMENTAS
Mobile & Cloud Systems
Padrões de Projetos
• Boas praticas podem facilitar deixar a aplicação mais
flexível e aumentar a p...
Mobile & Cloud Systems
Padrão IoC
• "Devemos delegar a tarefa de criação de um objeto (classe
Pedido) a uma outra entidade...
Mobile & Cloud Systems
Padrão IoC
• Uma classe deve ser implementada tendo apenas um
único objetivo.(uma única responsabil...
Mobile & Cloud Systems
Mocks
• São objetos que simulam o comportamento de objetos
reais de forma controlada.
• São Objetos...
Mobile & Cloud Systems
Numa equipe XP
• 2 duplas estão iniciando 2 novas atividades.
• Mas a atividade 2, depende da ativi...
Mobile & Cloud Systems
Cobertura de Testes
Mobile & Cloud Systems
Git + GitHub
• Versionamento distribuído
• Trabalho com múltiplos branches.
• Grande aumento de pro...
Mobile & Cloud Systems
Redmine
• Plug-in para scrunm
Mobile & Cloud Systems
TeamCity
• Suporte Java, C#, Ruby
• Notificações por : Email, jaber, Windows Tray
Mobile & Cloud Systems
Build Server...
Mobile & Cloud Systems
Build Server...
Mobile & Cloud Systems
Commit , após teste!
Mobile & Cloud Systems
TeamCity
• Configuração do build
Mobile & Cloud Systems
Código duplicado
Mobile & Cloud Systems
Cobertura de Testes
Mobile & Cloud Systems
Histórico de Builds
Mobile & Cloud Systems
Integração com GIT
Mobile & Cloud Systems
Mobile & Cloud Systems
Duvidas???? Pergunte pro Klaus...
• Obrigado!!!
Mobile & Cloud Systems
Sorteio....
Upcoming SlideShare
Loading in...5
×

Velozes e furiosos com extreme programming.

148

Published on

Essa palestra é para empresas de pequeno e médio porte que querem aumentar a velocidade sem perder a qualidade! Entregando sempre o maior valor agregado ao seu clientes.
Serão apresentadas também ferramentas .NET para apoio as práticas de XP

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
148
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Velozes e furiosos com extreme programming.

  1. 1. VELOZES E FURIOSOS COM EXTREME PROGRAMMING! Essa palestra é para empresas de pequeno e médio porte que querem aumentar a velocidade sem perder a qualidade! Entregando sempre o maior valor agregado ao seu clientes. Mobile & Cloud Systems
  2. 2. Mobile & Cloud Systems Quem sou? • Binhara@gmail.com • Mestre em Tecnologia (UTFPR) • Bacharel em Processamento de Dados • Desenvolvedor a mais de 18 anos.... • Mono Hacker desde 2003 • Linguagens Fluente: C#, Java, PHP, • Outras: C++, C , Pascal, Python, Ruby, Boo, etc.. • Mobile Xamarin Authorized Consulting Partner para o Brasil • Atualmente atua como desenvolvedor/consultor/parceiro:
  3. 3. Mobile & Cloud Systems Foco da Palestra • Como aumentar a velocidade com Qualidade ? • Falar sobre alguns conceitos de XP • Depoimentos sobre situações ocorridas na prática. • O que se deve fazer . • O que não devemos fazer. • Falar de algumas Pérolas encontradas no caminho
  4. 4. Mobile & Cloud Systems Inicio do XP no Brasil • Por volta de 2001 com o primeiro Evento XPBrasil • Divisor de águas primeiro o Prevayler, XP, Sneer.. • O que vem depois??? • Criado pela A Lenda Brasileira: • Klaus Wuestefeld
  5. 5. Mobile & Cloud Systems Como Você define XP ???? • Lançando a campanha !!! • Pergunte ao Klaus!!!!
  6. 6. Mobile & Cloud Systems Como eu definiria XP hoje? • Atitude • Garra para vencer • Disciplinado • Organizado • Interativo • Comprometido • Rotineiro • Comportamental •
  7. 7. Mobile & Cloud Systems Caso Vivenciado • Decisões da empresa afetam direto o andamento do projeto. • Projeto novo: • Duas equipes separadas em cidades diferentes • Equipe técnica e cliente em uma cidade, equipe de desenvolvimento em outra • Equipe nova de 12 pessoas e crescendo • Problemas de gestão • Problemas de comunicação • Problemas de especificação
  8. 8. Mobile & Cloud Systems Como aumentar a velocidade sem perder qualidade • Primeiros passos, escolha bem sua equipe: • Cuidado com um time muito inexperiente. • Cuidado com pessoas experientes e indisciplinadas. • Cuidado com a formação de panelinhas. • Não contrate grupos desertores. • Polarização da equipe pode levar a Motim. • Cuidado com as distorções das práticas e conceitos • Cuidado com pessoas experientes mas com vícios • Pessoas Resistencia a tecnologias
  9. 9. Mobile & Cloud Systems Como começar com XP ??? • XP é comportamental, é preciso começar a praticar . • Iniciar com algumas práticas e manter a atitude no uso das práticas. • Evitar a estrutura comando e controle, buscar o desenvolvimento de liderança. • Parta do principio que ninguém conhece as práticas • Valorize os rituais!!! • Se não sabe por onde começar, comece pelo testes automatizados. • Vá agregando as práticas e medido os resultados.
  10. 10. VALORES DE XP
  11. 11. Mobile & Cloud Systems Velozes e Furiosos com XP • Como aumentar a velocidade sem perder qualidade? • Reforçar diariamente os valores de XP • Simplicidade • Comunicação • FeedBack • Coragem • Usando mais práticas de XP em conjunto fazendo com que uma reforce a outra. • Automatize tudo que você puder. E o que vocês não puder, descubra como automatizar.
  12. 12. Mobile & Cloud Systems Simplicidade • Não confunda simplicidade com “simplismos”, não confunda liberdade com libertinagem. • Pérola: “Não vamos usar interface por que XP diz que deve se fazer simples!” • Ser simples não quer dizer que será fácil ou que será rápido. • Pérola: “Não usar fabricas porque XP tem que ter o código Simples! • As tarefas simples irão naturalmente geral um sistema complexo. Mas que no fundo é simples. • Perola: “Para um problema complexo, temos que ter uma solução complexa!!!”
  13. 13. Mobile & Cloud Systems Comunicação • Comunicação do cliente com a equipe • Descrição das histórias • Testes de aceitação • Integração as equipes remotas • TV com Web Conferencia – Janela do Além • Board de atividades eletrônico • Falta de comunição e interação é um grande vilão na geração dos problemas da equipe.
  14. 14. Mobile & Cloud Systems Coragem • Para aceitar a orientação dos mais experientes • Para assumir que os problemas existem • Para continuar a escrever teste • Pérola: “Não vai dar tempo de escrever o mocks, tira os mocks” • Para trabalhar em parecer • Para manter a rotina diária
  15. 15. Mobile & Cloud Systems FeedBack • O retorno do cliente é chave para aumentar o ânimo da equipe e fazer o projeto avançar. • Falta de tempo por parte do cliente em dar feedback atrapalha e muito o andamento correto do projeto. • Quando mais rápido o feedback é melhor. • Quando mais próximo cliente melhor • Feedback rapido com o clientes
  16. 16. PRÁTICAS DE XP
  17. 17. Mobile & Cloud Systems Planning Game • É o planejamento do jogo • Planejamento das Interações • Planejamento das StartUP Meeting • Medição da velocidade da equipe • Formação dos pares • Distribuição das Tarefas • Cuidado com as abordagens do passado • Modelo de Dados, Documentação hostensiva
  18. 18. Mobile & Cloud Systems Testes Automatizados • Teste tudo que for possível. • TDD, Teste de unidade, • Realizar testes em camadas • Testar Rotas das aplicações web • Testar chamadas dos controles ao Model • Testar o Model e regras de negócio • Fazer teste de Integração • Fazer testes unitários • Teste de Interface (Ex: Selenium) • Meta para cobertura de testes
  19. 19. Mobile & Cloud Systems Pair Programing • Difícil de implementar • Puxa outras práticas • Propriedade coletiva de código • Aumenta foco e concentração • Menos bugs • Cuidado com PairSleep!!!
  20. 20. Mobile & Cloud Systems Move People Around • Mover as pessoas nas equipes • Torne o ambiente divertido • Ajudas as pessoa a manter o foco • Socializar o conhecimento da equipe • Cuidado com a disposição do ambiente • Não perde tempo ao trocar as pessoas • A propriedade coletiva também se aplica as cadeiras
  21. 21. Mobile & Cloud Systems Small Release • São planejado pequenos releases. • Este são disponibilizados ao clientes • Recolhido um FeedBack Rápido • O cliente tem a opção de priorizar, remover ou adicionar funcionalidades • O cliente pode a mudar de idéia.
  22. 22. Mobile & Cloud Systems Cliente mais perto possível • Se possível sendo um membro da equipe. • Busque feed back o mais breve possível. • E quando o cliente é o dono da empresa que desenvolve o software? • Ter cliente próximo significa que ele também tem que trabalhar!!!! • Dono da empresa de software quer os resultados mas nem sempre está interessado em seguir as práticas de XP.
  23. 23. PADRÕES DE PROJETO E FERRAMENTAS
  24. 24. Mobile & Cloud Systems Padrões de Projetos • Boas praticas podem facilitar deixar a aplicação mais flexível e aumentar a produtividade e aumetar a qualidade do código. • IoC – Inversão de Controle • DI - Injeção de Dependências • Factory • Mocks
  25. 25. Mobile & Cloud Systems Padrão IoC • "Devemos delegar a tarefa de criação de um objeto (classe Pedido) a uma outra entidade como uma outra classe, interface, componente, etc. de forma a termos um baixo acoplamento e minimizar a dependências entre os objetos.“ • SRP - Single Responsability Principle que diz o seguinte: • "Deve existir um e somente UM MOTIVO para que uma classe mude"
  26. 26. Mobile & Cloud Systems Padrão IoC • Uma classe deve ser implementada tendo apenas um único objetivo.(uma única responsabilidade) • Quando uma classe possui mais que um motivo para ser alterada é por que provavelmente ela esta fazendo mais coisas do que devia, ou seja, ela esta tendo mais de um objetivo. • inverter o controle na classe Cliente e em vez de deixar a responsabilidade da criação da classe Pedido para a classe Cliente vamos dar a ela esta dependência. • Inverter o controle utilizando a injeção de dependência.
  27. 27. Mobile & Cloud Systems Mocks • São objetos que simulam o comportamento de objetos reais de forma controlada. • São Objetos Fake, criados para testar um pedaço de código. Objeto Real MOCK
  28. 28. Mobile & Cloud Systems Numa equipe XP • 2 duplas estão iniciando 2 novas atividades. • Mas a atividade 2, depende da atividade 1. • O que fazer nesse caso? • 1) A equipe A trabalha e equipe B sai de folga . • 2) A equipe A trabalha e equipe B documenta a atividade 2 • 3) Equipe B pega uma outra atividade que não dependa da atividade 1 • 4) Chama o gerente por que ele priorizou errado as tarefas • 5) Não sei. Pergunta pro Klaus.
  29. 29. Mobile & Cloud Systems Cobertura de Testes
  30. 30. Mobile & Cloud Systems Git + GitHub • Versionamento distribuído • Trabalho com múltiplos branches. • Grande aumento de produtividade.
  31. 31. Mobile & Cloud Systems Redmine • Plug-in para scrunm
  32. 32. Mobile & Cloud Systems TeamCity • Suporte Java, C#, Ruby • Notificações por : Email, jaber, Windows Tray
  33. 33. Mobile & Cloud Systems Build Server...
  34. 34. Mobile & Cloud Systems Build Server...
  35. 35. Mobile & Cloud Systems Commit , após teste!
  36. 36. Mobile & Cloud Systems TeamCity • Configuração do build
  37. 37. Mobile & Cloud Systems Código duplicado
  38. 38. Mobile & Cloud Systems Cobertura de Testes
  39. 39. Mobile & Cloud Systems Histórico de Builds
  40. 40. Mobile & Cloud Systems Integração com GIT
  41. 41. Mobile & Cloud Systems
  42. 42. Mobile & Cloud Systems Duvidas???? Pergunte pro Klaus... • Obrigado!!!
  43. 43. Mobile & Cloud Systems Sorteio....
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×