O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Somos jardineiros

13.112 visualizações

Publicada em

Acredito sem dificuldade ao ver e escutar de um engenheiro que uma ponte terá tantos metros, tantos pilares e que ela ficará exatamente daquele jeito quando pronta mas me recuso a acreditar em alguém que me diz que um software será entregue exatamente do jeito que foi pedido inicialmente. Eu não sou um engenheiro, sou um jardineiro!

Publicada em: Tecnologia
  • Login to see the comments

Somos jardineiros

  1. 1. Somos Jardineiros Augusto PascuttiMonday, August 22, 2011
  2. 2. Engenharia de SoftwareMonday, August 22, 2011
  3. 3. Engenharia • Requisitos • Planejamento • Execução • Testes • EntregaMonday, August 22, 2011
  4. 4. Exemplo de Projeto “Quero uma ilustração do arrebatamento” (Cliente)Monday, August 22, 2011
  5. 5. Exemplo de ProjetoMonday, August 22, 2011
  6. 6. Exemplo de Projeto “Não é arrebentamento, é arrebatamento! É a história das pessoas boas irem para o céu com corpo e tudo ...” (Cliente)Monday, August 22, 2011
  7. 7. Exemplo de ProjetoMonday, August 22, 2011
  8. 8. Exemplo de Projeto “Arrebatamento é um ato divino!” (Cliente)Monday, August 22, 2011
  9. 9. Exemplo de ProjetoMonday, August 22, 2011
  10. 10. JardinsMonday, August 22, 2011
  11. 11. Jardins • Nunca ficarão prontos • Impossíveis de planejar (detalhadamente) • Dependem de manutenção contínuaMonday, August 22, 2011
  12. 12. Um bom jardineiroMonday, August 22, 2011
  13. 13. Um bom jardineiro • É ágil • Aprende e utiliza padrões (conhecimento coletivo) • Favorece sempre a simplicidade • Mantém o jardimMonday, August 22, 2011
  14. 14. Manifesto ÁgilMonday, August 22, 2011
  15. 15. Manifesto Ágil • Indivíduos e interações > processos e ferramentas • Software funcional > boa documentação • Colaboração com cliente > negociação contratual • Responder a mudanças > seguir um planoMonday, August 22, 2011
  16. 16. PadrõesMonday, August 22, 2011
  17. 17. Padrões • Padrões de Design • Padrões de Codificação • Componentes • FerramentasMonday, August 22, 2011
  18. 18. Padrões de Design • Soluções comuns a problemas • Vocabulário • Facilmente identificados no código • FlexibilidadeMonday, August 22, 2011
  19. 19. Padrões de Código • Usar TABS ou Espaços? • Os mais utilizados: Zend e PEAR • Integração com outros sistemas/pacotes • Autoloader universalMonday, August 22, 2011
  20. 20. Padrões: Componentes • Comunicação com Banco: PDO • Componente de Console: Symfony_Console • Componente de Log: Zend_Log • Componente de Validação: Respect_Validator • ORM: DoctrineMonday, August 22, 2011
  21. 21. Padrões: Ferramentas • Testes Unitários: PHPUnit • Tarefas automáticas: PHING / ANT • Banco de Dados: MySQL / MariaDB • Métricas de Software: PHPMD • Checkstyle: PHPCS • Documentação: PhpDocumentor / DocBloxMonday, August 22, 2011
  22. 22. SimplicidadeMonday, August 22, 2011
  23. 23. Simplicidade • Não é fácil de obter • Código é a melhor documentação que existe • Encapsulamento e modularização • Filosofia Unix (Reutilização) • Menos é maisMonday, August 22, 2011
  24. 24. Simplicidade 1 <?php 2 $connection = new Socket_Connection_Type_Udp(); 3 $connection->setAddress()->setPort()->create(); 4 $connection->send("Hi"); 5 $file = new Socket_File(./silvio.jpeg); 6 $parts = $file->divideInPartsOf(1024); 7 8 foreach ($packages as $pack) { 9 $connection->send($pack); 10 }Monday, August 22, 2011
  25. 25. Simplicidade 1 <?php 2 $file = new Socket_File(s.jpg); 3 $connection = new Socket_Connection(); 4 $connection->send($file);Monday, August 22, 2011
  26. 26. ManutençãoMonday, August 22, 2011
  27. 27. Manutenção • Código é um câncer • Refatorar NÃO é uma opção • Desenvolver é conhecimento • Refatorar é sabedoriaMonday, August 22, 2011
  28. 28. Conhecimento é saber que tomate é um fruta. Sabedoria é não colocá-lo numa salada de frutas.Monday, August 22, 2011
  29. 29. Zen GardeningMonday, August 22, 2011
  30. 30. Zen Gardening Ou o que preciso para manter meu jardim saudável?Monday, August 22, 2011
  31. 31. Zen Gardening • PHPUnit • PHPCS • PHPMDMonday, August 22, 2011
  32. 32. PHPUnit • Permite as mudanças “Fuck-off” • Melhora seu código • Te poupa (MUITO) tempoMonday, August 22, 2011
  33. 33. PHPCS • Garante que todo mundo siga o padrãoMonday, August 22, 2011
  34. 34. PHPMD • Busca por exageros no código • Evita complexidades no código • Mantém a sanidade da equipe • As amizades tambémMonday, August 22, 2011
  35. 35. Você faz erradoMonday, August 22, 2011
  36. 36. Você faz erradoMonday, August 22, 2011
  37. 37. Você faz errado • PerformanceMonday, August 22, 2011
  38. 38. Você faz errado • Performance • Model,View, ControllerMonday, August 22, 2011
  39. 39. Você faz errado • Performance • Model,View, Controller • HTMLMonday, August 22, 2011
  40. 40. Você faz errado • Performance • Model,View, Controller • HTML • HTTP (Falar com: @alganet)Monday, August 22, 2011
  41. 41. Perguntas?Monday, August 22, 2011
  42. 42. Perguntas? Apresentação inspirada no post: http://bit.ly/kN3uc6Monday, August 22, 2011
  43. 43. Perguntas? Slides, comentários e brindes: http://joind.in/3651 Apresentação inspirada no post: http://bit.ly/kN3uc6Monday, August 22, 2011
  44. 44. Imagens utilizadas • bottles.jpeg - http://www.flickr.com/photos/cobalt/440637383/ • ilustrações arrebatamento - http://divasca.blogspot.com/2011/08/mas-e-pra-igreja.html • garden.png - http://www.flickr.com/photos/epsos/3574411866 • garden2.jpeg - http://www.flickr.com/photos/virgomerry/19620399 • garden3.jpeg - http://www.flickr.com/photos/29738009@N08/2975653613 • skycrapers.png - http://www.flickr.com/photos/denvie/4049529132 • gardening.jpeg - http://www.flickr.com/photos/sovietuk/459807381 • origin.jpeg - http://www.flickr.com/photos/blyzz/5703084364 • railroad.jpeg - http://www.flickr.com/photos/helloeveryone123/4091250229 • rails.jpeg - http://www.flickr.com/photos/robotbrainz/1467565903 • tv.jpeg - http://www.flickr.com/photos/h2oalchemist/319537908 • zen.jpeg - http://www.flickr.com/photos/29738009@N08/2973500989 • zen2.jpeg - http://www.flickr.com/photos/josefeliciano/3849557951Monday, August 22, 2011

×