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.

Lo que querías decir - Lisandra Armas y Gabriela Sánchez

302 views

Published on

Charla inspirada en la presentación What you mean to say de Michael Bolton.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Lo que querías decir - Lisandra Armas y Gabriela Sánchez

  1. 1. Loquequeríasdecir… Inspirada en la presentación “What you meant to say” de Michael Bolton Lisandra Armas & Gabriela Sánchez
  2. 2. Dijiste… “¡Acabamos de introducir Scrum!” Quisiste decir… “Las reuniones diarias de puesta a punto son más cortas.” … significa que Nada cambió, el negocio sigue igual. “¡Y no usamos sillas!”
  3. 3. Dijiste… “Implementemos un proceso de desarrollo de software maduro” Quisiste decir… “Implementemos el proceso de desarrollo de otra persona en lugar de uno propio” … significa que Permites que otro te diga como hacer las cosas. … significa que Continuas siendo infantil
  4. 4. Dijiste… “Tenemos que hacer X” Quisiste decir… “Alguien dice que tenemos que hacer X” … significa que Elegimos hacer X … significa que Quizás no tenemos que hacer X O… “Solo sabemos hacer X” O… “Estamos dispuestos a tolerar hacer X”
  5. 5. Dijiste… “Este es el objetivo.” Es probable que signifique… “Mis colegas y yo estamos de acuerdo que este es el objetivo.” …significa que “Si estás en desacuerdo con nuestra valoración, o bien no eres un colega nuestro o no estás siendo objetivo.” …significa que “Esto es subjetivo.”
  6. 6. Dijiste… “Prueba (Test)” Quisiste decir… Ejemplos: “Este producto es una porquería! Se deberían haber hecho más arreglos.” “Tenemos que empezar a arreglar más temprano en el proyecto!” “¿Cuánto tiempo se necesita para arreglar el producto?” “Arreglo (Fix)” “No tengo idea ¿No podemos simplemente automatizar los arreglos?”
  7. 7. Dijiste… “Probando (Testing)” Quisiste decir… ¡Inténtalo y mira lo que sucede!: “¿Por qué está tomando tanto tiempo todo el desarrollo?” “Todo el desarrollo” “¿Por qué es tan caro todo el desarrollo?” “Para evitar que los errores lleguen a los clientes, hay que trabajar en la mejora de todo el desarrollo.” “No podemos simplemente automatizar todo el desarrollo.”
  8. 8. ¿Por qué las personas no dicen lo que quieren decir? “Periódicamente, las personas se equivocan para hacer valer la hegemonía sobre la dialéctica referente a la ontología. ”
  9. 9. Quise decir... “A veces, las personas usan palabras que son confusas y extrañas para tomar el control de las conversaciones sobre la forma en que miramos el mundo. ”
  10. 10. Dijiste… “Ustedes son tan exigentes con las palabras.” …significa que “Estoy hablando muy bien y rechazo la idea de que mis palabras no están funcionando.” Quisiste decir… “Sabes a lo que me refiero; usted es el que está eligiendo crear un problema para mí.” “Estoy bien con el riesgo de ser mal interpretado.”
  11. 11. Dijiste… “Oh, eso es sólo semántica.” …significa que “Oh, eso es sólo ser específico acerca de lo que estamos hablando.” Quisiste decir… “No estoy al tanto del riesgo de confusión en este punto.” “No me importa el riesgo de confusión en este punto.” “Quiero reducir el concepto de 'semántica' a 'pequeñeces'.” Así que, ¿cuál es el problema?
  12. 12. ¿Por qué creemos que esto es importante? ● La gente usa el lenguaje como un andamiaje para su razonamiento y sus ontologías. ● El mal uso del lenguaje fomenta una cultura de la ineficacia y disfunción: ● descuido en el trabajo de pruebas. ● sin poder, descalificados, los probadores marginados.
  13. 13. ● Mal uso del lenguaje fomenta cultura de la ineficacia y disfunción: ● la interferencia de personas que piensan que entienden el Testing. ● centrarse en los adornos, los artefactos y herramientas en vez de habilidades, la exploración, la experimentación y el aprendizaje. ¿Por qué creemos que esto es importante?
  14. 14. Más aún... Un montón de errores son el resultado de: - malas interpretaciones de los requisitos, especificaciones, modelos, ... Un montón de problemas en el proceso son el resultado de: - las definiciones excesivamente estrechas de "prueba", "calidad", "errores", ... - una imprecisa referencia a "requisitos", "planes", "estrategias", ...
  15. 15. Dijiste… “Automatizar todas las pruebas!” …significa que Automatizar la totalidad de la evaluación y el aprendizaje y la exploración y la experimentación y modelar y el estudio de las especificaciones y la observación del producto y evaluación de riesgos y el establecimiento de prioridades y análisis de la cobertura y reconocimiento de patrones y toma de decisiones y el diseño del laboratorio de pruebas y preparación del laboratorio de pruebas y el desarrollo de código de prueba y la selección de herramientas y el reclutamiento de ayudantes y tomar notas de las pruebas Quisiste decir… “Automatizar todo el Checking!”
  16. 16. LLamar a esto “Checking” no Prueba operar un producto para chequear hechos específicos (en su mayoría salidas) ... Observar Significa Evaluar Reportar Interactuar con el producto de una manera específica para recopilar observaciones específicas. Aplicar algoritmos y reglas de decisión para esas observaciones. Reportar cualquier prueba fallido.
  17. 17. Un chequeo tiene 3 elementos 1. Una observación vinculada a… 2. Una regla de decisión tal que... 3. ambas observación y regla de decisión pueden ser aplicadas de forma algorítmica. Se puede realizar un chequeo por una persona que ha sido instruido para no pensar (lento y variable) por una máquina que no puede pensar (de manera rápida y precisa)
  18. 18. Adquirir la competencia, motivación y credibilidad para… Testing es… crear las condiciones necesarias para … de manera de ayudar a tus clientes a tomar decisiones informadas sobre los riesgos. evaluar el producto mediante el aprendizaje de él a através de la exploración y experimentación, lo que incluye cierto grado de: cuestionamiento, estudio, modelado, observación e inferencia, lo que incluye... operar el producto para chequear hechos específicos sobre él...
  19. 19. ¿Por qué hacer esta distinción? • Eficiencia y efectividad son muy diferentes para habilidades empíricas y explícitas. • Checking sea excelente -> embebida en un excelente testing • Porque chequear es mecánico. Se puede hacer completamente explícito y automático. • Porque testing involucra habilidades empíricas que son desarrolladas a través de la socialización, no a través de procedimientos.
  20. 20. Dijiste… “testing manual” Quisiste decir… • interactuando directamente con el producto, como lo haría un usuario. • verificación realizada por una persona. • testing que no implique la necesidad de escribir código. • testing sin necesidad de herramientas (pero eso no sucederá). No decimos “gerenciamiento manual” o “ciencia manual”, porque no esperamos que las herramientas puedan hacer esas cosas.
  21. 21. Hablemos sobre Lenguaje Seguro • “Lenguaje seguro” en las pruebas de software, significa calificar o de otro modo limitarse a los hechos de forma de evitar una falsa confianza o engaño accidental.
  22. 22. • Ejemplos: Hasta ahora… La funcionalidad anda.. Parece… Pienso… Aparece… aparentemente… Deduzco… Supuse… Todavía no he visto ningún fallo en la funcionalidad... Observé…
  23. 23. El lenguaje seguro también aplica al escuchar • Intenta aplicar el lenguaje seguro tanto para lo que escuchas como para lo que dices. • Las personas son frecuentemente ingenuas, descuidadas, o incompetentes para expresarse, a veces también manipuladoras. • Hablar claro es difícil, escuchar e interpretar también lo es. Reparamos en lo que oímos, pero no siempre muy bien. Hablar y escuchar cuidadosamente requiere mayor esfuerzo, puede volverse más sencillo con práctica y algunas heurísticas útiles.
  24. 24. Vocabulario del Lenguaje Seguro Un vs. El Ejemplo: "Un problema ..." en lugar de "el problema ..." • El uso de "Un" en lugar de "El" nos ayuda a evitar varios tipos de errores de pensamiento crítico. – una sola causa – correlación y causas confusas – un solo nivel de explicación Al tratar de explicar algo, prefiero "un" a "el".
  25. 25. Vocabulario del Lenguaje Seguro A menos que... • Cuando alguien hace una pregunta basada en una premisa falsa o incompleta, trate de añadir "a menos que ..." a la premisa. • Cuando alguien le ofrece una gran verdad acerca de las pruebas, añadir "a menos que ..." o "excepto en el caso de ..." Al final de un comunicado, trate de añadir "a menos que ..."
  26. 26. Todo lo que es cierto ahora, no puede ser cierto por mucho tiempo. Vocabulario del Lenguaje Seguro “Hasta el momento” y “aún” •El producto funciona ... hasta el momento. •No hemos visto fallar la aplicación... aún. •Ningún cliente se ha quejado ... aún. •Cuidado con los “siempre” y “nunca” – Nunca puede haber una prueba válida para “siempre”. O “nunca”.
  27. 27. Vocabulario del Lenguaje Seguro También… • ¡El producto da el resultado correcto! ¡Hurra! • …También puede estar silenciosamente borrando archivos del sistema. • Es posible que haya más de donde vino eso. Sea lo que sea que está sucediendo alguna otra cosa podría también estar sucediendo.
  28. 28. Dijiste… “Funciona!” Sería más correcto decir… ALGUNOS ASPECTOS de ALGUNA FEATURE PARECEN cumplir ALGUNOS REQUERIMIENTOS hasta CIERTO PUNTO basado en ALGUNA TEORÍA basado en ALGUNA OBSERVACIÓN de que ALGÚN AGENTE bajo CIERTAS CONDICIONES UNA o QUIZÁS MÁS VECES en MI MÁQUINA
  29. 29. Dijiste… “Funciona!” Sería más correcto decir… Puede funcionar. Lo he visto funcionando.
  30. 30. Dijiste… “Rompí el software.” Quisiste decir… "Encontré lugares donde el software está roto." "Yo rompí las ilusiones de la gente sobre el software." “Exploré y experimenté donde el software podría presentar problemas que amenazan el valor para aquellas personas que importan” O, más simple “Yo probé el software.” Podría ser más seguro decir…
  31. 31. Porque es importante... • “El software estaba bien hasta que el Tester lo rompió.” • “Podemos liberar un producto fantástico a tiempo solo si los Testers terminan de romperlo.” • “Los Clientes normales no tienen problemas con nuestro producto; solamente los Testers lo rompen.” • “No hay errores sistémicos en la gerencia o el desarrollo que hayan llevado a problemas en el producto. De ningún modo. Los Testers lo rompen.” “Pruebo el software” Puede ser más seguro decir… Cuándo dices “Yo rompo el software” te provocas a ti mismo un potencial problema de relacionamiento. Otros pueden “reparar” “Yo rompo el software”
  32. 32. Tú dices… “No puedo reproducirlo.” Probablemente quieres decir… Aún no se como reproducirlo. Aún no he podido reproducirlo. ¿Por qué importa? Algunos podrían interpretar “no puedo reproducirlo” como “en realidad nunca ocurrió” Y es retenido como “esto nunca volverá a ocurrir”
  33. 33. “Pruebas de aceptación” Checking, no pruebas. Rechazo, no aceptación. Rechazo de checking, no de pruebas de aceptación. No queremos ser engañados y creer que algo que "pasa" las pruebas de aceptación es aceptable. Tu dices… Probablemente quieres decir… ¿Por qué importa?
  34. 34. “Definition of done” (“Definición de completo”) “Definición de no completo aún” Podemos prever de antemano algunas cosas que nos harían decir "¡no podemos liberar aún!” No podemos anticipar todas ellas al inicio del proyecto (sprint, ciclo, o cómo se llame). PERO podemos estar de acuerdo en ser humildes y reconocer que aprenderemos cosas en el camino, algunas de las cuales nos podrían hacer concluir que no hemos terminado aún. Tu dices… Probablemente quieres decir… ¿Por qué importa?
  35. 35. Y finalmente… • No olvides decir ¡Gracias!

×