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

Velozes e furiosos com extreme programming.

on

  • 193 views

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

Statistics

Views

Total Views
193
Views on SlideShare
193
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Velozes e furiosos com extreme programming. Presentation 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....