• Like
Velozes e furiosos com extreme programming.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Velozes e furiosos com extreme programming.

  • 83 views
Published

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. …

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
83
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. 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. Mobile & Cloud Systems Como Você define XP ???? • Lançando a campanha !!! • Pergunte ao Klaus!!!!
  • 6. Mobile & Cloud Systems Como eu definiria XP hoje? • Atitude • Garra para vencer • Disciplinado • Organizado • Interativo • Comprometido • Rotineiro • Comportamental •
  • 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. 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. 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. VALORES DE XP
  • 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. 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. 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. 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. 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. PRÁTICAS DE XP
  • 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. 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. 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. 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. 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. 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. PADRÕES DE PROJETO E FERRAMENTAS
  • 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. 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. 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. 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. 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. Mobile & Cloud Systems Cobertura de Testes
  • 30. Mobile & Cloud Systems Git + GitHub • Versionamento distribuído • Trabalho com múltiplos branches. • Grande aumento de produtividade.
  • 31. Mobile & Cloud Systems Redmine • Plug-in para scrunm
  • 32. Mobile & Cloud Systems TeamCity • Suporte Java, C#, Ruby • Notificações por : Email, jaber, Windows Tray
  • 33. Mobile & Cloud Systems Build Server...
  • 34. Mobile & Cloud Systems Build Server...
  • 35. Mobile & Cloud Systems Commit , após teste!
  • 36. Mobile & Cloud Systems TeamCity • Configuração do build
  • 37. Mobile & Cloud Systems Código duplicado
  • 38. Mobile & Cloud Systems Cobertura de Testes
  • 39. Mobile & Cloud Systems Histórico de Builds
  • 40. Mobile & Cloud Systems Integração com GIT
  • 41. Mobile & Cloud Systems
  • 42. Mobile & Cloud Systems Duvidas???? Pergunte pro Klaus... • Obrigado!!!
  • 43. Mobile & Cloud Systems Sorteio....