Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

El Desarrollo de Software como debería Ser - PyConAr 2018

642 views

Published on

Presentación de la PyConAr 2018

Published in: Software
  • Be the first to comment

El Desarrollo de Software como debería Ser - PyConAr 2018

  1. 1. El Desarrollo de Software como debería Ser Hernán A. Wilkinson @hernanwilkinson agile software development & services
  2. 2. ¡Seamos LIBRES que lo demás NO IMPORTA NADA!
  3. 3. ¿Qué es lo primero que dicen cuando se levantan?
  4. 4. Matemática!
  5. 5. Gauss
  6. 6. Cantor
  7. 7. Fermat
  8. 8. Física Newton Einstein
  9. 9. Kelvin Maxwell Bohr
  10. 10. John McCarthy
  11. 11. Douglas Engelbart
  12. 12. Peter Naur
  13. 13. Fred Brooks
  14. 14. Alan Kay
  15. 15. DRY
  16. 16. ¿Éter?
  17. 17. Eter!
  18. 18. ¡Ética!
  19. 19. ¿Estimar?
  20. 20. Descubrir vs. Entregar
  21. 21. Cocomo - Cocomo 2 - Function Points
  22. 22. Taylor
  23. 23. Trabajo Manual
  24. 24. Trabajo Creativo
  25. 25. Taylorismo + Ingeniería
  26. 26. Fordismo Rotación = 963 para quedarse con 100
  27. 27. ¡Lo que no ejecuta no se mantiene!
  28. 28. Software
  29. 29. Modelo Computable de un Dominio de Problema
  30. 30. Simula 67 Ole-Johan Dahl y Kristen Nygaard
  31. 31. ¡Buen Modelo!
  32. 32. Cómo representamos Feb/2018? (un mes de año)
  33. 33. Cómo representamos Feb/2018? (un mes de año) (Java 1.8)
  34. 34. (Smalltalk) Cómo representamos Feb/2018? (un mes de año)
  35. 35. Cómo representamos Feb/2018? (un mes de año) Ruby - Go – Python - Java pre 1.8 – etc. Hay que hacerlo uno mismo, y muy pocos lo hacen…
  36. 36. ¿Deberíamos poder representar 31 de Feb de 2018?
  37. 37. Eter!
  38. 38. 03/03/2018 !!! ¿Deberíamos poder representar 31 de Feb de 2018?
  39. 39. ¡Excepción! ¿Deberíamos poder representar 31 de Feb de 2018? Python datetime.date(2018,2,31)
  40. 40. (A point based model of the Gregorian Calendar – H. Wilkinson et al) ¿Deberíamos poder representar 31 de Feb de 2018? Smalltalk ¡Excepción!
  41. 41. ¿Qué sucede con esta relación?
  42. 42. Account ... ¡Complejidad!
  43. 43. Complejidad = Esencial + Accidental
  44. 44. ¡Nadie hace esto! – Pocos casos
  45. 45. ¡Ni loco!
  46. 46. 1 1 $ 1 litro 1 metro ¡Ni loco!
  47. 47. Números solos ¡NUNCA!
  48. 48. ¡Nunca!
  49. 49. null Variable no inicializada El cliente no tiene dirección El teléfono no es válido ¡Ni loco!
  50. 50. ¿Cómo se construye un Modelo? ¿Cómo un Auto? ¿Cómo una Casa? (¿Es construye la palabra adecuada?)
  51. 51. Hacer crecer un Modelo es un “proceso de aprendizaje”
  52. 52. “Constructivismo”
  53. 53. TDD
  54. 54. ¿Lenguaje? de Programación
  55. 55. Propósito: Proveer un marco para la comunicación (Design Principles Behind Smalltalk - Dan Ingalls)
  56. 56. “The design of a language for using computers must deal with internal models, external media, and the interaction between these in both the human and the computer” (Design Principles Behind Smalltalk - Dan Ingalls - 1981)
  57. 57. Castellano Castellano
  58. 58. casa palabra de 4 letras
  59. 59. ¡Por eso hacemos nuestras propias herramientas!
  60. 60. En casa de herrero cuchillo de palo
  61. 61. Live type information!
  62. 62. Java = JaJa
  63. 63. JEE != OO
  64. 64. ¡Educación Universitaria Conceptual! ¡No se mueve por modas!
  65. 65. ¿Qué hacemos?
  66. 66. ¡LEER!
  67. 67. ¿Qué más hacemos?
  68. 68. ¡LEER MAS!
  69. 69. ¿¿¡¡Qué más podemos hacer!!??
  70. 70. ¡PODEMOS LEER! ¡Pero de lo bueno, de lo añejo!
  71. 71. ¡Ah! y ¡PRACTICAR lo que LEIMOS!
  72. 72. ¿¿Y qué más??
  73. 73. ¡Volver a PRACTICAR y PRACTICAR y PRACTICAR!
  74. 74. No hay gloria en la práctica, pero ¡sin práctica no hay gloria! -Anónimo
  75. 75. ¿Cómo ser un “Buen Desarrollador”?
  76. 76. ¿Qué es ser un “Buen Desarrollador”?
  77. 77. Es NO ser CASCADA
  78. 78. Es NO ser TAYLOREANO
  79. 79. Es NO ESTIMAR lo que no se conoce
  80. 80. Es entender que la gente NO SON RECURSOS
  81. 81. Es no aflojar al primer “reto” Es mantener una ética profesional
  82. 82. Es entender que es una ACTIVIDAD SOCIAL
  83. 83. Es entender que TAMBIEN es una ACTIVIDAD TECNICA
  84. 84. Es desarrollar de manera ITERATIVA-INCREMENTAL
  85. 85. Es desarrollar de manera segura con TESTS AUTOMATIZADOS
  86. 86. Es tener PASION por lo que hacemos
  87. 87. Es ser CRITICO con la actualidad tecnológica
  88. 88. Es tener CORAJE para generar un CAMBIO
  89. 89. Es saborear la VICTORIA de una REVOLUCION (bien entendida)
  90. 90. ¡Seamos BUENOS DESA- RROLLADORES que lo demás NO IMPORTA NADA!
  91. 91. agile software development & services ¡Gracias!

×