En su última columna en el Scientific American, Michael Shermer se pregunta (y luego responde) cual es el origen de la tendencia a creer que nuestra vida está controlada por agentes misteriosos, invisibles y poderosos. La respuesta es más o menos la misma que se da desde los tiempos de Daniel Kahneman y que ha merecido ríos de tinta de autores muy recomendables como el mismo Shermer, Daniel Dennett, a veces Dawkins, Thomas Kida y seguramente se me pasan algunos (la respuesta corta es que los errores de tipo I son evolutivamente menos peligrosos en el corto plazo que los errores de tipo II, en todo caso, siempre se puede leer el artículo de Shermer completo, que es muy recomendable y explora las causas que nos han llevado no solo a reconocer patrones donde no los hay, sino a pensar que hay intenciones detrás de esos patrones).
El artículo abre con una enumeración de los agentes invisibles más populares:
Se cree normalmente que almas, espíritus, fantasmas, dioses, demonios, ángeles, extraterrestres, diseñadores inteligentes, conspiradores gubernamentales y agentes invisibles de muchas otras naturalezas, poderosos y guiados por intenciones controlan nuestro entorno y nuestras vidas. Por qué?
Nota al margen para quienes no sigan el debate de la ciencia y el creacionismo en USA (y que se expande al resto del mundo). Copiando del diccionario escéptico, el diseño inteligente es una creencia anti-evolución que sostiene que las explicaciones naturales sobre el origen de ciertas entidades biológicas no son razonables y que el proceso de creación de estas solo puede ser explicado a través de la presencia de un diseñador inteligente (i.e dios)
Y me quedé pensando... no faltan los gerentes, los project managers y los ejecutivos en esa lista?. De los ejecutivos (y particularmente, ejecutivos de finanzas) ya se encargaron antes y mejor que yo muchos otros, así que me voy a detener en los gerentes operativos y de proyecto. Se podría decir que el primer motivo para no incluirlos en la lista es que éstos existen (bueno, los conspiradores gubernamentales también existen y cada tanto se anotan algún que otro éxito, pero ni tantos ni tan espectaculares como se les atribuyen).
Concedido, los gerentes existen, cierto. Pero mi impresión, basada en algo tan poco científico como mi experiencia personal, es que las personas en los grupos de trabajo tienden o bien a despreciar a sus gerentes de proyectos, o bien a sobreestimar el alcance de su capacidad para influir en los acontecimientos.
La primera alternativa (el desprecio a los gerentes) es fácil de explicar, incluso cuando no es justificada. Ahora, me intriga la segunda. Y me intriga más cuanto he sido su víctima, de un lado y del otro: a veces he supuesto que mi gerente o director era un mago que podía mágicamente arreglar cualquier problema con el que me enfrentaba, y otras me tocó ser considerado el Mesías (de más está decir que el tiempo se encargó de juntar evidencia para refutar ambas ilusiones, aunque, como sabemos, las ilusiones suelen ser resistentes a las evidencias). Hoy veo casi con cariño la ingenuidad que mostré al pensar que R. (mi director en esos momentos) podía resolver cualquier cosa y al sentirme halagado cuando se me consideró el Mesías.
Tengo una visión del gerente de proyecto (puesto que ocupo) más parecida a la de alguien que no controla nada, a lo sumo trata con buena fortuna de acomodar su proyecto a un entorno que cambia (más allá de su control), adaptándose a lo que pasa y, muy de vez en cuando, siendo capaz de saber qué va a pasar.
Existe la Economía Comportamental (espero que se perdone esta traducción tan chapucera de Behavioral Economics), que es, según dice la wikipedia, una rama de la economía que aplica el conocimiento científico sobre los factores cognitivos y emocionales para entender mejor las decisiones de consumidores, prestamistas, inversores y otros agentes económicos. Sería un ejercicio de optimismo esperar ver en los próximos años la Gestión de Proyectos Comportamental, que podría ser una serie de técnicas y herramientas para la gestión de proyectos que tengan en cuenta lo que sabemos del funcionamiento de nuestra mente?.
Y una última duda... si tal disciplina existiera... refutaría o apoyaría a las metodologías ágiles de desarrollo de software?. Yo creo que las apoyaría, pero en definitiva me gustaría ver los resultados.
Saturday, June 6, 2009
Monday, May 25, 2009
Usted ya leyó esto en otras partes
En forma bastante predecible, las revistas (las que valen la pena leerse, digo, como el Scientific American, por ejemplo), los blogs (algunos que valen la pena leerse, y otros más parecidos a este blog), los programas de radio, los talk shows de la televisión, los realities y sus estrellitas que hasta el año pasado hacían mostrar el culo a alguna bonita golfa veinteañera se han volcado a preguntarse que ha fallado en nuestra comprensión de la economía para que hoy estemos aquí (bueno, tal vez haya sido demasiado adjudicarle esa preocupación a los últimos puntos de mi enumeración).
Las conclusiones son más o menos parejas: la economía tal como la conocemos dista de ser una ciencia, y no solo eso, difícilmente pueda considerarse una protociencia que al menos va bien encaminada. Los problemas de la economía (la ciencia económica, digo), vendrían básicamente del hecho de que la teoría de la elección racional no es ni siquiera una grosera sobresimplificación de nuestra forma de pensar, y de que, como dice Nassim Taleb, el único premio Nóbel (o algo así, para ser exactos ) de economía que ha recibido su premio por una contribución valiosa fue Daniel Kahneman. Precisamente, don Kahneman ha aportado pruebas convincentes de que nuestros sesgos cognitivos (que además, parecen ser innatos y, sin entrar en el debate nature vs. nurture, genéticos) impiden describir nuestro comportamiento por medio de formuleo matemático de la elección racional.
Como decía arriba, esto se convirtió en un tema más o menos recurrente en unas cuantas publicaciones. En el último número de Scientific American Mind hay dos artículos que tocan el tema. El primero de ellos es una entrevista a Peter Ubel, quien explica como nuestra tendencia al optimismo y al comportamiento manada (que mi vecino sacó un crédito? entonces puede que no sea tan peligroso!, que mi pareja se sirvió otra porción de postre? entonces a mí no me va a engordar tanto) puede arruinar nuestras finanzas personales (y globales), nuestra salud y más genéricamente, nuestro bienestar. Dice también Peter Ubel en un arranque de pesimismo (o elitismo? o derrotismo?, o vaya uno a saber qué) que un tercio de los norteamericanos adultos no son capaces de contestar cuanto es el diez por ciento de mil, y se pregunta como puede un tipo así evaluar el impacto de un posible aumento en las tasas de interés de interés en su hipoteca (una lástima que Ubel no cite fuentes de esta afirmación)
El segundo artículo no toca el tema directamente, es más una explicación (detallada y ejemplificada) de cuan malos somos al evaluar probabilidades, y de cuanto esfuerzo, entrenamiento y concentración requiere hacerlo bien. El ejemplo elegido es la evaluación de las probabilidades de tener una enfermedad dado un resultado positivo de un análisis para detectar dicha enfermedad. El ejemplo es usado también por Leonard Mlowdinow en 'The drunkard's walk' y por John Allen Paulos en 'Innumeracy'.
El asunto es así: Supongamos que nos hacen un análisis de HIV. Usan primero el método Elisa, que tiene un índice de falsos positivos del 1%, aproximadamente. Supongamos que el test da positivo... cual es la probabilidad de que en realidad estemos sanos? (o de que en verdad estemos enfermos?). Cual es? Si hay algún lector... tiene un número?
La respuesta es que en el párrafo anterior faltan datos para decidir: la respuesta no es que hay 99% de probabilidades de que estemos enfermos, ni nada por el estilo. Para llegar a la respuesta nos falta un dato: la prevalencia (el porcentaje de gente que sufre la enfermedad) de la infección. Para derivar la respuesta, tomemos la prevalencia global del HIV estimada para Argentina (0,31%).
Bien, ahora para hacer números redondos, supongamos que se han hecho en nuestro laboratorio 320 análisis de HIV. Como la incidencia es del 0,31%, eso da que nuestro laboratorio encontró un caso positivo (vamos a asumir que estamos en el caso más probable, esto es estadística, nada dice que deba ser así en todos los casos), ya que el 0,31% de 320 es 1.
Ahora, de esos 320 casos, alrededor de tres tipos se llevaron un test positivo sin serlo. O sea, de cuatro test positivos, uno es un positivo real y los otros tres son falsos positivos. Por lo tanto, hay un 75% de probabilidades de que no tengamos nada. Si a esto lo corregimos por incidencia demográfica y de comportamiento la probabilidad es menos (sonará feo, pero si somos una persona que no usa drogas endovenosas y que no tiene sexo sin protección o es monógama, las probabilidades de estar infectado bajan: no a cero, pero bajan).
Quiere molestar a su médico, estimado lector (si es que hubiera algún lector)?. Bueno, si es así, la próxima vez puede preguntarle cual es la probabilidad de que un resultado positivo de un determinado análisis no sea en verdad un falso positivo dada la incidencia?. El médico, en medio de una consulta por obra social mal paga, apurado porque se ve obligado a que su consultorio funcione como un McDonalds, raramente disfrutará de su sentido del humor.
Las conclusiones son más o menos parejas: la economía tal como la conocemos dista de ser una ciencia, y no solo eso, difícilmente pueda considerarse una protociencia que al menos va bien encaminada. Los problemas de la economía (la ciencia económica, digo), vendrían básicamente del hecho de que la teoría de la elección racional no es ni siquiera una grosera sobresimplificación de nuestra forma de pensar, y de que, como dice Nassim Taleb, el único premio Nóbel (o algo así, para ser exactos ) de economía que ha recibido su premio por una contribución valiosa fue Daniel Kahneman. Precisamente, don Kahneman ha aportado pruebas convincentes de que nuestros sesgos cognitivos (que además, parecen ser innatos y, sin entrar en el debate nature vs. nurture, genéticos) impiden describir nuestro comportamiento por medio de formuleo matemático de la elección racional.
Como decía arriba, esto se convirtió en un tema más o menos recurrente en unas cuantas publicaciones. En el último número de Scientific American Mind hay dos artículos que tocan el tema. El primero de ellos es una entrevista a Peter Ubel, quien explica como nuestra tendencia al optimismo y al comportamiento manada (que mi vecino sacó un crédito? entonces puede que no sea tan peligroso!, que mi pareja se sirvió otra porción de postre? entonces a mí no me va a engordar tanto) puede arruinar nuestras finanzas personales (y globales), nuestra salud y más genéricamente, nuestro bienestar. Dice también Peter Ubel en un arranque de pesimismo (o elitismo? o derrotismo?, o vaya uno a saber qué) que un tercio de los norteamericanos adultos no son capaces de contestar cuanto es el diez por ciento de mil, y se pregunta como puede un tipo así evaluar el impacto de un posible aumento en las tasas de interés de interés en su hipoteca (una lástima que Ubel no cite fuentes de esta afirmación)
El segundo artículo no toca el tema directamente, es más una explicación (detallada y ejemplificada) de cuan malos somos al evaluar probabilidades, y de cuanto esfuerzo, entrenamiento y concentración requiere hacerlo bien. El ejemplo elegido es la evaluación de las probabilidades de tener una enfermedad dado un resultado positivo de un análisis para detectar dicha enfermedad. El ejemplo es usado también por Leonard Mlowdinow en 'The drunkard's walk' y por John Allen Paulos en 'Innumeracy'.
El asunto es así: Supongamos que nos hacen un análisis de HIV. Usan primero el método Elisa, que tiene un índice de falsos positivos del 1%, aproximadamente. Supongamos que el test da positivo... cual es la probabilidad de que en realidad estemos sanos? (o de que en verdad estemos enfermos?). Cual es? Si hay algún lector... tiene un número?
La respuesta es que en el párrafo anterior faltan datos para decidir: la respuesta no es que hay 99% de probabilidades de que estemos enfermos, ni nada por el estilo. Para llegar a la respuesta nos falta un dato: la prevalencia (el porcentaje de gente que sufre la enfermedad) de la infección. Para derivar la respuesta, tomemos la prevalencia global del HIV estimada para Argentina (0,31%).
Bien, ahora para hacer números redondos, supongamos que se han hecho en nuestro laboratorio 320 análisis de HIV. Como la incidencia es del 0,31%, eso da que nuestro laboratorio encontró un caso positivo (vamos a asumir que estamos en el caso más probable, esto es estadística, nada dice que deba ser así en todos los casos), ya que el 0,31% de 320 es 1.
Ahora, de esos 320 casos, alrededor de tres tipos se llevaron un test positivo sin serlo. O sea, de cuatro test positivos, uno es un positivo real y los otros tres son falsos positivos. Por lo tanto, hay un 75% de probabilidades de que no tengamos nada. Si a esto lo corregimos por incidencia demográfica y de comportamiento la probabilidad es menos (sonará feo, pero si somos una persona que no usa drogas endovenosas y que no tiene sexo sin protección o es monógama, las probabilidades de estar infectado bajan: no a cero, pero bajan).
Quiere molestar a su médico, estimado lector (si es que hubiera algún lector)?. Bueno, si es así, la próxima vez puede preguntarle cual es la probabilidad de que un resultado positivo de un determinado análisis no sea en verdad un falso positivo dada la incidencia?. El médico, en medio de una consulta por obra social mal paga, apurado porque se ve obligado a que su consultorio funcione como un McDonalds, raramente disfrutará de su sentido del humor.
Friday, May 15, 2009
Modelos de espera
Por motivos que no vienen al caso, el otro día estaba repasando las herramientas y papers que tengo en mi notebook y que pueden llegar a ser útiles en el trabajo. Pienso que hay una, que he usado en los proyectos de mejora de performance (mi pasión oculta, y algo así como el premio consuelo: puedo jugar a detective sin trabajar para House o sin dedicarme a la investigación) que bien vale un post.
La herramienta es tan simple como una planilla excel que se basa en la idea de que un sistema que atiende transacciones en, en definitiva, un modelo de colas. La idea del modelo de colas es bastante simple:
Prácticamente, no me he encontrado con un sistema que no pueda ser modelado como un sistema de colas:
Así que la próxima vez que un cliente, con cara de ‘ahá, acá te cagué, consultor’ pregunte: 'y de donde sacaste que si la carga de transacciones aumenta un 20% me quedo sin tiempo para el backup', uno puede sacar las planillas y agobiarlo con una clase de investigación operativa ligera.
Y como bien saben los economistas, mostrar números y matemática razonablemente avanzada da un aura de respetabilidad. Aunque todo esté construido sobre nada. En realidad, el modelo de colas sí funciona para el análisis de performance de los sistemas informáticos, simplemente tenía ganas de hablar mal de los economistas. Porque (y con el solo objeto de divertirse un rato con una buena lectura y sin que tenga relación con el post) como bien señala Leonardo Moledo, con la economía es otra historia.
La herramienta es tan simple como una planilla excel que se basa en la idea de que un sistema que atiende transacciones en, en definitiva, un modelo de colas. La idea del modelo de colas es bastante simple:
- Existen una cantidad variable de recursos que atienden peticiones (canales).
- Los clientes arriban al sistema y si no hay un recurso que atienda espera poniéndose en una cola.
- Los canales demoran en atender cada cliente un tiempo variable descrito por una función de probabilidad.
- Los clientes arriban al sistema en intervalos variables descriptos por una función de probabilidad
Prácticamente, no me he encontrado con un sistema que no pueda ser modelado como un sistema de colas:
- Un sistema web recibe peticiones (los GET y POST HTTP) que son atendidas por threads que corren en el application server. Los threads son los canales de atención y si no hay un thread disponible, la petición espera.
- Un proceso batch procesa peticiones (transacciones) que esperan en cola hasta que el proceso puede atender a la próxima.
- Una base de datos que recibe DML es tiene una serie de procesos que atienden las peticiones
- Que sucedería si mi sistema recibe el doble de peticiones y hago un esfuerzo (en rediseño) para que el tiempo de servicio no aumente más del 10%?
- Si espero un determinado incremento en la carga de transacciones, cual debería ser mi optimización del tiempo de servicio para obtener un determinado tiempo libre del canal (para tareas administrativas, por ejemplo).
Así que la próxima vez que un cliente, con cara de ‘ahá, acá te cagué, consultor’ pregunte: 'y de donde sacaste que si la carga de transacciones aumenta un 20% me quedo sin tiempo para el backup', uno puede sacar las planillas y agobiarlo con una clase de investigación operativa ligera.
Y como bien saben los economistas, mostrar números y matemática razonablemente avanzada da un aura de respetabilidad. Aunque todo esté construido sobre nada. En realidad, el modelo de colas sí funciona para el análisis de performance de los sistemas informáticos, simplemente tenía ganas de hablar mal de los economistas. Porque (y con el solo objeto de divertirse un rato con una buena lectura y sin que tenga relación con el post) como bien señala Leonardo Moledo, con la economía es otra historia.
Friday, April 3, 2009
Vendiendo Indulgencias
Me entero que han ingresado en la legislatura de la ciudad de buenos aires dos proyectos para la colegiación de los profesionales que actúan en el ámbito de la ciudad, lo que incluye, claro, a los informáticos.
Lo que sigue es un juicio de intenciones, cosa que convendría no hacer, pero creo que cuando la mala leche es tanta y tan mala, hay pocas alternativas.
Entiendo que hay dos clases de personas que apoyan la colegiación:
Puede que exista un tercer grupo: aquellos que están honestamente convencidos que la matriculación mejorará el nivel profesional (y de profesiones que piden a gritos una mejora en el nivel, como la informática). Agrego este grupo no porque tenga pruebas de que exista, sino por seguir la regla de que la ausencia de evidencia no es evidencia de la ausencia. Pero sí, no encuentro evidencias de que este grupo exista.
Podría argumentar por qué no creo que sirva un colegio, y los argumentos irían en estas líneas:
Leía el proyecto de Martín Borrelli, legislador por el PRO y titular del Partido Federal de la ciudad de buenos aires ( la melange ideológica del nacional-conservadora-economicoliberal-malvinera de su partido es realmente divertida, si es que fuera una broma de Peter Capusoto). El asunto empieza bien, dice:
No es ocioso recordar que aprobada la colegiación, la matriculación se vuelve obligatoria y con ella, la imposición de aranceles o contribuciones para el ejercicio de la profesión y el sostenimiento de las estructuras burocráticas del nuevo colegio. Allí donde antes no había nada, ahora florecen oficinas, cursos y empleados. Allí donde imperaba la autorregulación, aparecen los tribunales de disciplina para imponer sanciones.
Bravo! Ese texto es un verdadero liberal, pensé. No es que coincida en todo con un verdadero esco… liberal, pero se trata de una posición intelectual con innegable valor, pero bueno, este no es el caso (este tampoco es el caso, debería decir) . Sigue:
Sin el debate necesario los colegios profesionales se convierten en una herramienta de pocos, en botines de grupos dominantes, en especulación electoral, y el mérito o conveniencia de su creación deja de ser la de los sujetos de regulación de dicha ley –los propios profesionales- para transformarse en una cuestión de mera oportunidad convalidada por la Legislatura y sus mayorías ocasionales.
Bueno, acá se le empiezan a ver las plumas: el problema no es la imposición de aranceles y contribuciones, ni la existencia de burocracia ni un tribunal de notables diciéndole al mercado que carajo tiene que hacer, no. El problema es que sea un botín algunos. Un pensamiento notable por lo contradictorio: no es malo el concepto de que alguien se apropie de una actividad, lo malo es que alguien se apropie de la actividad en la vida real.
Para evitar eso que, con justa razón, identifica como pernicioso, propone crearlo. Luego de la necesaria discusión y consenso, claro. Alguien sigue su fuzzy logic?, yo no.
El lunes 6 de Abril, en en el Anfiteatro 3 de la sede Las Heras de la FIUBA habrá una reunión al respecto.
Lo que sigue es un juicio de intenciones, cosa que convendría no hacer, pero creo que cuando la mala leche es tanta y tan mala, hay pocas alternativas.
Entiendo que hay dos clases de personas que apoyan la colegiación:
- El primer grupo está compuesto por un grupo de inútiles que pretende vivir de vender indulgencias y de cobrar la matrícula de quienes sí trabajamos y tenemos como norte seguir haciéndolo (o dejar de hacerlo por un método más decente, como ganar la lotería, pegarla con una acción o asaltar un banco).
- El segundo grupo está compuesto por un grupo algo mayor que el primero. El de aquellos que se sospechan, con razón o sin ella, no muy buenos en lo suyo y esperan que achicando el denominador sus probabilidades mejoren: es decir, esperan que eliminando la competencia en base a criterios que poco tienen que ver con la habilidad laboral su situación en el mercado mejore. Ahora se me ocurre que hay un subgrupo dentro de este grupo: aquellos que no se sienten poco hábiles, sino que sienten que el mercado no reconoce sus increíbles habilidades. Esperan, por este medio, que se instrumente un mecanismo por fuera del mercado para corregir semejante injusticia: me contratás a mí no porque te parezca más hábil, sino porque tengo matrícula.
Puede que exista un tercer grupo: aquellos que están honestamente convencidos que la matriculación mejorará el nivel profesional (y de profesiones que piden a gritos una mejora en el nivel, como la informática). Agrego este grupo no porque tenga pruebas de que exista, sino por seguir la regla de que la ausencia de evidencia no es evidencia de la ausencia. Pero sí, no encuentro evidencias de que este grupo exista.
Podría argumentar por qué no creo que sirva un colegio, y los argumentos irían en estas líneas:
- No hay evidencia de que las estructuras burocráticas mejoren el nivel académico e intelectual, y si hay evidencias de lo contrario.
- No es ni justo ni conveniente decirle a una empresa a quien puede contratar y a quien no.
- Con respecto a la responsabilidad legal por mala praxis profesional que pudiera resultar en problemas para terceros, se puede resolver sin colegio: los médicos en la ciudad de buenos aires no tienen colegio y responden legalmente por sus malas praxis.
- No quiero pagar matrícula en forma obligatoria.
- No me parece justo que me obliguen a no contratar a los excelentes profesionales que conozco que no tienen título universitario (da la casualidad, los dos mejores que conozco no tienen título).
Leía el proyecto de Martín Borrelli, legislador por el PRO y titular del Partido Federal de la ciudad de buenos aires ( la melange ideológica del nacional-conservadora-economicoliberal-malvinera de su partido es realmente divertida, si es que fuera una broma de Peter Capusoto). El asunto empieza bien, dice:
No es ocioso recordar que aprobada la colegiación, la matriculación se vuelve obligatoria y con ella, la imposición de aranceles o contribuciones para el ejercicio de la profesión y el sostenimiento de las estructuras burocráticas del nuevo colegio. Allí donde antes no había nada, ahora florecen oficinas, cursos y empleados. Allí donde imperaba la autorregulación, aparecen los tribunales de disciplina para imponer sanciones.
Bravo! Ese texto es un verdadero liberal, pensé. No es que coincida en todo con un verdadero esco… liberal, pero se trata de una posición intelectual con innegable valor, pero bueno, este no es el caso (este tampoco es el caso, debería decir) . Sigue:
Sin el debate necesario los colegios profesionales se convierten en una herramienta de pocos, en botines de grupos dominantes, en especulación electoral, y el mérito o conveniencia de su creación deja de ser la de los sujetos de regulación de dicha ley –los propios profesionales- para transformarse en una cuestión de mera oportunidad convalidada por la Legislatura y sus mayorías ocasionales.
Bueno, acá se le empiezan a ver las plumas: el problema no es la imposición de aranceles y contribuciones, ni la existencia de burocracia ni un tribunal de notables diciéndole al mercado que carajo tiene que hacer, no. El problema es que sea un botín algunos. Un pensamiento notable por lo contradictorio: no es malo el concepto de que alguien se apropie de una actividad, lo malo es que alguien se apropie de la actividad en la vida real.
Para evitar eso que, con justa razón, identifica como pernicioso, propone crearlo. Luego de la necesaria discusión y consenso, claro. Alguien sigue su fuzzy logic?, yo no.
El lunes 6 de Abril, en en el Anfiteatro 3 de la sede Las Heras de la FIUBA habrá una reunión al respecto.
Friday, March 27, 2009
Ingenieros, artesanos o la reserva moral de las organizaciones?
Leía en el blog de Juan Gabardini un artículo sobre la construcción de metáforas para explicarnos a nosotros mismos (y a los demás) como se entiende esto que hacemos (esto que hacemos es software, aclaro por si hubiera algún lector de este blog y encima despistado) y poder aprovechas las lecciones aprendidas de otras actividades que sean compatibles o transladables a nuestra actividad.
La pregunta que se hace allí es: los desarrolladores son (somos) artesanos, operarios o ingenieros?. O dicho de otra manera, la mejor manera de pensar el desarrollo de software es con desarrolladores que hacen lo que les dicen traduciendo ‘algo’ a código (operarios donde la productividad está ligada al tiempo empleado en la tarea), con desarrolladores concentrados en los detalles y en el pulido de su trabajo utilizando una experiencia poco formalizada o ingenieros, que usan tecnología y se nutren del conocimiento científico para construir algo que antes no existía con un montón de objetivos en mente (muchos de ellos contradictorios)?.
Yo encuentro importante la búsqueda de metáforas, pero no puedo evitar sentir cierta incomodidad cuando escucho cosas del estilo de “en nuestra actividad, a diferencia de la actividad de los ingenieros civiles, tenemos un entorno cambiante”, “nosotros lidiamos con el cambio constantemente, no como los médicos: a ellos no les sale un órgano nuevo cada año”. Las frases anteriores son ejemplos de dos extremos que encuentro cuando escucho las metáforas que comparan nuestra actividad con otras: la primera frase es razonable y la segunda profundamente estúpida e ignorante. Aún con las que considero buenos metáforas, no puedo evitar la incomodidad que me causa ver que quienes se ponen a desarrollar isomorfismos usualmente conocen uno solo de los conjuntos (no es el caso de Juan G. que es ingeniero de los de verdad, no informático).
Yo creo que la metáfora del operario se ha demostrado inútil: la productividad no está asociada a la cantidad de tiempo. Además (y esto puede que sea un problema mío) encuentro terriblemente difícil separar las actividades de diseño y programación. No digo que tenga que programar hasta el último detalle para diseñar, pero si no tengo feedback rápido de un diseño, no me sale bien (y no recuerdo conocer a alguien que sí le salga bien). Eso, emho, hace un poco complicado aplicar las ideas de ese simpático cuáquero en nuestra actividad.
Soy menos terminante en cuanto a la metáfora ingenieril: no diré que los ingenieros civiles no se enfrentan con una forma de construcción nueva cada año entre otras cosas porque trato de no confundir marketing con ciencia (o aunque sea tecnología), pero pienso en dos cosas muy particulares de nuestra actividad:
• Es muy difícil imaginarse el producto terminado
• Hay una percepción (creo yo que con bases en la realidad) de que el software es fácil de cambiar. Ante un error en un puente, se lo usa como está (o no se lo usa) en cambio el software siempre parece fácil de cambiar.
• La naturaleza maleable del asunto hace que quienes tengamos ese ‘problemita’ de no poder diseñar sin construir no seamos inútiles completos.
El modelo de ‘operarios’ de una ‘software factory’ aporta poco valor, en eso estamos de acuerdo. Ahora, que hay del modelo ingenieril?. Yo diría (lo sufrí en la facultad) que es alejado de la realidad, algo inútil y de un optimismo bastante nabo e irritante. Así las cosas, si bien nos vendrían bien las metáforas dudo en encontrar alguna. Que somos? Ingenieros, artesanos o la reserva moral de la organización? (supongo que si hay algún lector joven se perderá la última referencia). Que el enfoque de 'trabajadores del conocimiento'? Y si vemos a que nos parecemos después de pensar cuales debieran ser nuestros valores?
Nota de un par de días después: Debido a algún problemita que arrastro desde mi más tierna infancia que me impide manejar medianamente bien cualquier tecnología que tenga que ver con la presentación de contenidos, he cometido algún error que hizo que blogger (que tampoco es the ultimate editor, admitamoslo) se comiera los saltos de línea.
La pregunta que se hace allí es: los desarrolladores son (somos) artesanos, operarios o ingenieros?. O dicho de otra manera, la mejor manera de pensar el desarrollo de software es con desarrolladores que hacen lo que les dicen traduciendo ‘algo’ a código (operarios donde la productividad está ligada al tiempo empleado en la tarea), con desarrolladores concentrados en los detalles y en el pulido de su trabajo utilizando una experiencia poco formalizada o ingenieros, que usan tecnología y se nutren del conocimiento científico para construir algo que antes no existía con un montón de objetivos en mente (muchos de ellos contradictorios)?.
Yo encuentro importante la búsqueda de metáforas, pero no puedo evitar sentir cierta incomodidad cuando escucho cosas del estilo de “en nuestra actividad, a diferencia de la actividad de los ingenieros civiles, tenemos un entorno cambiante”, “nosotros lidiamos con el cambio constantemente, no como los médicos: a ellos no les sale un órgano nuevo cada año”. Las frases anteriores son ejemplos de dos extremos que encuentro cuando escucho las metáforas que comparan nuestra actividad con otras: la primera frase es razonable y la segunda profundamente estúpida e ignorante. Aún con las que considero buenos metáforas, no puedo evitar la incomodidad que me causa ver que quienes se ponen a desarrollar isomorfismos usualmente conocen uno solo de los conjuntos (no es el caso de Juan G. que es ingeniero de los de verdad, no informático).
Yo creo que la metáfora del operario se ha demostrado inútil: la productividad no está asociada a la cantidad de tiempo. Además (y esto puede que sea un problema mío) encuentro terriblemente difícil separar las actividades de diseño y programación. No digo que tenga que programar hasta el último detalle para diseñar, pero si no tengo feedback rápido de un diseño, no me sale bien (y no recuerdo conocer a alguien que sí le salga bien). Eso, emho, hace un poco complicado aplicar las ideas de ese simpático cuáquero en nuestra actividad.
Soy menos terminante en cuanto a la metáfora ingenieril: no diré que los ingenieros civiles no se enfrentan con una forma de construcción nueva cada año entre otras cosas porque trato de no confundir marketing con ciencia (o aunque sea tecnología), pero pienso en dos cosas muy particulares de nuestra actividad:
• Es muy difícil imaginarse el producto terminado
• Hay una percepción (creo yo que con bases en la realidad) de que el software es fácil de cambiar. Ante un error en un puente, se lo usa como está (o no se lo usa) en cambio el software siempre parece fácil de cambiar.
• La naturaleza maleable del asunto hace que quienes tengamos ese ‘problemita’ de no poder diseñar sin construir no seamos inútiles completos.
El modelo de ‘operarios’ de una ‘software factory’ aporta poco valor, en eso estamos de acuerdo. Ahora, que hay del modelo ingenieril?. Yo diría (lo sufrí en la facultad) que es alejado de la realidad, algo inútil y de un optimismo bastante nabo e irritante. Así las cosas, si bien nos vendrían bien las metáforas dudo en encontrar alguna. Que somos? Ingenieros, artesanos o la reserva moral de la organización? (supongo que si hay algún lector joven se perderá la última referencia). Que el enfoque de 'trabajadores del conocimiento'? Y si vemos a que nos parecemos después de pensar cuales debieran ser nuestros valores?
Nota de un par de días después: Debido a algún problemita que arrastro desde mi más tierna infancia que me impide manejar medianamente bien cualquier tecnología que tenga que ver con la presentación de contenidos, he cometido algún error que hizo que blogger (que tampoco es the ultimate editor, admitamoslo) se comiera los saltos de línea.
Wednesday, March 4, 2009
Probabilidades y otros temas ásperos
Yo no soy bueno para calcular probabilidades, lo que me atormentó en mis clases de Probabilidad y Estadística en la facultad. Y me atormentó porque yo era (soy) particularmente malo en un tema que me parecía importantísimo y muy interesante. El hecho de que no sea únicamente yo y que el problema de calcular probabilidades sea un problema arduo para todos los humanos aportaba y (aporta) poco consuelo.
Me enteraba el otro día, leyendo el maravilloso 'The Drunkard Walk: How Randomess Rules our Lives' de Leonard Mlodinow, que el desarrollo de la teoría de probabilidades es del siglo XVI, y que uno de los primeros trabajos se debió al italiano Gerolamo Cardano, quien usó sus desarrollos estadísticos para pagarse la carrera universitaria desplumando incautos con los dados. La ignorancia generalizada de sus contemporáneos en el cálculo de probabilidades, le permitieron a Cardano sacar una ventaja considerable.
Pero no es en el desarrollo de la teoría de probabilidades que querría detenerme hoy, sino en uno de los mejores ejemplos, en mi opinión, de las dificultades que enfrentamos al querer calcular las probabilidades: el problema de Monty Hall.
El problema de Monty Hall es el siguiente:
Supongamos que estemos en un programa de premios de televisión ( siempre es bueno situarse en entornos académicos a la hora de hacer experimentos mentales ) donde nos enfrentamos a tres puertas, de las cuales debemos elegir una sin saber que hay detrás de ninguna de ellas. Como dice Mlodivnow, supongamos que detrás de una de ella hay algo normalmente deseable (una cuopé Maserati, por ejemplo) y detrás de las otras dos objetos indeseables (las obras completas de Shakespeare en rumano).
Ahora, debemos elegir una puerta. Luego de nuestra elección, el conductor del show, que sabe la respuesta, abre una puerta distinta de la que elegimos para mostrar una de las dos colecciones de Shakespeare y nos pregunta si queremos cambiar de elección. La pregunta es, deberíamos? o sería lo mismo?.
Esta pregunta fue planteada en la columna Ask Marilyn, donde una tal Marilyn vos Savant responde las preguntas del público. Marilyn vos Savant, dicho sea de paso, tiene un IQ de 228 que, mida lo que mida el IQ, la hace la persona con el IQ más alto del mundo (me resulta curioso que Marilyn se llame Savant). Marilyn respondió que sí, que si cambiamos nuestras probabilidades de ganar son de 0,5 mientras que si mantenemos la apuesta origina son de 0,33. Esta respuesta abrió las puertas del infierno: unos cuantos lectores, muchos de ellos con PhDs en ciencias, la corrigieron en distintos tonos. El problema es que, según parece, Marilyn está en lo cierto.
Cuenta Mlodinow que Paul Erdös se negó aceptar que la respuesta correcta era que se debía cambiar de prueba hasta ver una simulación.
Bueno, en mi probablemente único punto de contacto con Erdös (no solo no soy ni remotamente inteligente, sino que tampoco soy ni remotamente valiente ni honesto como fue él), yo tampoco pude aceptar la solución hasta que vi una simulación. Así que hice una simulación (está aquí (*)) y vi que, efectivamente, Marilyn estaba en lo cierto. Solo después de ver el resultado pude entender por qué conviene cambiar.
La clave está en que no es un proceso aleatorio completamente, ya que el conductor del show conoce cual es la respuesta correcta, y nos indica, abriendo otra, cual puerta seguramente no tiene el premio. Recorramos las posibilidades:
Yo no fui capaz de verlo hasta no hacer la simulación. Más aún, mientras hacía la simulación cometí un error y no tuve en cuenta en el programa que el conductor sabía en que puerta estaba el auto y que debía evitar abrir esa en respuesta a nuestra primera elección. Por lo tanto, en mi primer programa, el conductor abría cualquier puerta no elegida y si esta tenía el premio deseado, paraba el juego. En este caso, cambiar la elección no mejora las probabilidades. Este error me hizo entender la cuestión: la clave está en que el presentador conoce la respuesta y abriendo una puerta con libros nos da información más detallada de donde puede estar el auto.
(*) Se agradece la señalización de cualquier bug que pueda estar alterando el resultado. Si alguien tiene ganas de jugar al WTF con el código, adelante, pero debo prevenirlos que será aburrido porque no soy un programador particularmente bueno. Los fuentes fueron compilados con Java 1.6.
En la clase Main, en el método main() tienen la inicialización de la variable 'debug' que si la ponen en 'true' van a ver paso a paso lo que eligen jugador y conductor. Para ver los resultados mejor dejarla en false.
En el método main() se llama dos veces al método jugar(). Los parámetros son tres:
Cantidad de puertas
Repeticiones del experimento
Indicativo de si se debe cambiar (true: se cambia de elección, false: no se cambia)
Me enteraba el otro día, leyendo el maravilloso 'The Drunkard Walk: How Randomess Rules our Lives' de Leonard Mlodinow, que el desarrollo de la teoría de probabilidades es del siglo XVI, y que uno de los primeros trabajos se debió al italiano Gerolamo Cardano, quien usó sus desarrollos estadísticos para pagarse la carrera universitaria desplumando incautos con los dados. La ignorancia generalizada de sus contemporáneos en el cálculo de probabilidades, le permitieron a Cardano sacar una ventaja considerable.
Pero no es en el desarrollo de la teoría de probabilidades que querría detenerme hoy, sino en uno de los mejores ejemplos, en mi opinión, de las dificultades que enfrentamos al querer calcular las probabilidades: el problema de Monty Hall.
El problema de Monty Hall es el siguiente:
Supongamos que estemos en un programa de premios de televisión ( siempre es bueno situarse en entornos académicos a la hora de hacer experimentos mentales ) donde nos enfrentamos a tres puertas, de las cuales debemos elegir una sin saber que hay detrás de ninguna de ellas. Como dice Mlodivnow, supongamos que detrás de una de ella hay algo normalmente deseable (una cuopé Maserati, por ejemplo) y detrás de las otras dos objetos indeseables (las obras completas de Shakespeare en rumano).
Ahora, debemos elegir una puerta. Luego de nuestra elección, el conductor del show, que sabe la respuesta, abre una puerta distinta de la que elegimos para mostrar una de las dos colecciones de Shakespeare y nos pregunta si queremos cambiar de elección. La pregunta es, deberíamos? o sería lo mismo?.
Esta pregunta fue planteada en la columna Ask Marilyn, donde una tal Marilyn vos Savant responde las preguntas del público. Marilyn vos Savant, dicho sea de paso, tiene un IQ de 228 que, mida lo que mida el IQ, la hace la persona con el IQ más alto del mundo (me resulta curioso que Marilyn se llame Savant). Marilyn respondió que sí, que si cambiamos nuestras probabilidades de ganar son de 0,5 mientras que si mantenemos la apuesta origina son de 0,33. Esta respuesta abrió las puertas del infierno: unos cuantos lectores, muchos de ellos con PhDs en ciencias, la corrigieron en distintos tonos. El problema es que, según parece, Marilyn está en lo cierto.
Cuenta Mlodinow que Paul Erdös se negó aceptar que la respuesta correcta era que se debía cambiar de prueba hasta ver una simulación.
Bueno, en mi probablemente único punto de contacto con Erdös (no solo no soy ni remotamente inteligente, sino que tampoco soy ni remotamente valiente ni honesto como fue él), yo tampoco pude aceptar la solución hasta que vi una simulación. Así que hice una simulación (está aquí (*)) y vi que, efectivamente, Marilyn estaba en lo cierto. Solo después de ver el resultado pude entender por qué conviene cambiar.
La clave está en que no es un proceso aleatorio completamente, ya que el conductor del show conoce cual es la respuesta correcta, y nos indica, abriendo otra, cual puerta seguramente no tiene el premio. Recorramos las posibilidades:
- Posibilidad A: hemos elegido la primera vez la puerta con el Maserati. El conductor nos muestra cualquiera de las dos puertas con los libros, y nosotros elegimos la que él no nos ha mostrado. Nuestra elección resulta tener la colección de Shakespeare y perdimos la coupé deportiva. Claramente, esta es la posibilidad perdedora.
- Posibilidad B: hemos elegido una que tiene libros detrás. El conductor tiene que mostrarnos una de las dos puertas restantes y nos mostrará la que tiene los libros. Cambiamos nuestra elección y elegimos, por lo tanto, la puerta que tiene el auto. Esta posibilidad es la ganadora.
Yo no fui capaz de verlo hasta no hacer la simulación. Más aún, mientras hacía la simulación cometí un error y no tuve en cuenta en el programa que el conductor sabía en que puerta estaba el auto y que debía evitar abrir esa en respuesta a nuestra primera elección. Por lo tanto, en mi primer programa, el conductor abría cualquier puerta no elegida y si esta tenía el premio deseado, paraba el juego. En este caso, cambiar la elección no mejora las probabilidades. Este error me hizo entender la cuestión: la clave está en que el presentador conoce la respuesta y abriendo una puerta con libros nos da información más detallada de donde puede estar el auto.
(*) Se agradece la señalización de cualquier bug que pueda estar alterando el resultado. Si alguien tiene ganas de jugar al WTF con el código, adelante, pero debo prevenirlos que será aburrido porque no soy un programador particularmente bueno. Los fuentes fueron compilados con Java 1.6.
En la clase Main, en el método main() tienen la inicialización de la variable 'debug' que si la ponen en 'true' van a ver paso a paso lo que eligen jugador y conductor. Para ver los resultados mejor dejarla en false.
En el método main() se llama dos veces al método jugar(). Los parámetros son tres:
Cantidad de puertas
Repeticiones del experimento
Indicativo de si se debe cambiar (true: se cambia de elección, false: no se cambia)
Friday, February 27, 2009
Aprendiendo algo nuevo
El pensamiento Lean aplicado a la construcción de software me parece, al menos en forma general, un gran hallazgo. El origen oriental del pensamiento Lean explica por qué éste está cruzado de conceptos orientales. Como el pensamiento lean es una gran idea, en lo que podríamos llamar la inducción apresurada por proximidad geográfica, mucha gente se apresura a abrazar con entusiasmo todos estos conceptos orientales.
Yo soy escéptico. En particular, me causa cierta desconfianza la idea de ShuHaRi. Rápidamente, esta es guía de adopción de los principios Lean a la que subyace una teoría del aprendizaje. Según sus proponentes, los pasos del aprendizaje son tres:
Yo encuentro unos cuantos problemas con la idea del ShuHaRi. El primero es que no me gusta (sí, es una cuestión de gustos) que me digan "suspendé un rato el pensamiento crítico y aceptá sin cuestionamientos, necesitamos que pospongas un rato tus ganas de evaluar críticamente". Me resulta difícil de explicar por qué no me gusta, pero diría que me siento víctima de un asalto conservador: me piden tiempo a ver si, a fuerza de mostrarme solo un marco, me acostumbro a pensar que ese es el único marco posible.
Otro problema que no puedo dejar de ver es que presupone que la evolución de la idea (en este caso, la evolución de la metodología) ha alcanzado algo así como la perfección o un grado muy parecido: "no la cuestiones porque sirve en casi todo y vas a tardar en darte cuenta en que no sirve". Acepto que el conocimiento es indispensable para que la crítica constituya un aporte útil y no la expresión de un barrabrava, pero para la crítica muchas veces sirve el conocimiento del contexto o del dominio de la idea: me considero capaz de hacer una crítica demoledora de la astrología sin saber como hacen los astrólogos sus cartas natales.
El argumento de "no podés criticar las metodologías ágiles si no las seguiste al pie de la letra un tiempo" me recuerda a los astrólogos. Y no me predispone de muy buena manera, la verdad.
También pienso que la idea es una sobresimplificación: la pregunta sobre como aprendemos dista de ser una cuestión cerrada y todo apunta a que es bastante más complejo que lo que el ShuHaRi propone.
Lo que sabemos hoy del proceso de aprendizaje tampoco es demasiado. Este hecho me hace escéptico ante los métodos de enseñanza que sostienen estar basados en evidencia científica dura o que tienen pretensión de infalibilidad o superioridad frente al resto. Dentro de ese grupo no puedo dejar de ubicar a el ShuHaRi.
Sabemos, sí, que el proceso de aprendizaje no depende únicamente de la experiencia. La experiencia se elabora en procesos mentales que permiten desarrollar conexiones entre conceptos. Sabemos además que hay estilos de aprendizaje y que estos varían entre las personas.
Este trabajo desarrolla una escala para clasificar los estilos de aprendizaje en una única dimensión de intuición-análisis en los extremos. Hay unos cuantos problemas con esto (una única dimensión parece una sobre simplificación, se equipara el estilo analítico con el hemisferio derecho y el intuitivo con el izquierdo, o al revés, y aunque se aclara que eso es una "metáfora útil", se alimenta uno de los mitos más tontos que circulan por ahí), pero al menos apunta en una dirección clara: los estilos de aprendizaje varían. De acuerdo a Allinson y Hayes, el estilo de aprendizaje intuitivo se maneja mejor con enfoques globales y el analítico ve los detalles.
Por otra parte, parece ser que ciertas variaciones en el estilo de aprendizaje varían con cierta correlación con el background cultural. Incluso hasta los sesgos de percepción podrían variar con el background cultural ( cuidado! El estudio no dice nada sobre el orden causal )
El mundo está lleno de personas que sostienen que han sido capaces de entender como entendemos y que, al desenredar el problema, pueden darnos métodos infalibles para aprender, o,por lo menos, que si sus métodos no son infalibles, al menos son consistentemente mejores que el resto. Esta gente va desde Rousseau hasta los que me mandan spam ofreciéndome clases de inglés que 'neurologicamente' me enseñará a hablar en pocos meses por un proceso de programación neuro-lingüistica.
Yo esperaría más prudencia a la hora de adoptar teorías sobre el aprendizaje que lleven a desarrollar estrategias de enseñanza y adopción de conceptos y metodologías. Creo que la prudencia está justificada.
Yo soy escéptico. En particular, me causa cierta desconfianza la idea de ShuHaRi. Rápidamente, esta es guía de adopción de los principios Lean a la que subyace una teoría del aprendizaje. Según sus proponentes, los pasos del aprendizaje son tres:
- En el primero, se aceptan las reglas tal cual han sido formuladas y se aplican sin modificarlas.
- En el segundo paso, se intenta romper las reglas, por medio de una reflexión crítica y la búsqueda de excepciones.
- En el tercer paso, una suerte de iluminación, ya no se piensa en términos de reglas.
Yo encuentro unos cuantos problemas con la idea del ShuHaRi. El primero es que no me gusta (sí, es una cuestión de gustos) que me digan "suspendé un rato el pensamiento crítico y aceptá sin cuestionamientos, necesitamos que pospongas un rato tus ganas de evaluar críticamente". Me resulta difícil de explicar por qué no me gusta, pero diría que me siento víctima de un asalto conservador: me piden tiempo a ver si, a fuerza de mostrarme solo un marco, me acostumbro a pensar que ese es el único marco posible.
Otro problema que no puedo dejar de ver es que presupone que la evolución de la idea (en este caso, la evolución de la metodología) ha alcanzado algo así como la perfección o un grado muy parecido: "no la cuestiones porque sirve en casi todo y vas a tardar en darte cuenta en que no sirve". Acepto que el conocimiento es indispensable para que la crítica constituya un aporte útil y no la expresión de un barrabrava, pero para la crítica muchas veces sirve el conocimiento del contexto o del dominio de la idea: me considero capaz de hacer una crítica demoledora de la astrología sin saber como hacen los astrólogos sus cartas natales.
El argumento de "no podés criticar las metodologías ágiles si no las seguiste al pie de la letra un tiempo" me recuerda a los astrólogos. Y no me predispone de muy buena manera, la verdad.
También pienso que la idea es una sobresimplificación: la pregunta sobre como aprendemos dista de ser una cuestión cerrada y todo apunta a que es bastante más complejo que lo que el ShuHaRi propone.
Lo que sabemos hoy del proceso de aprendizaje tampoco es demasiado. Este hecho me hace escéptico ante los métodos de enseñanza que sostienen estar basados en evidencia científica dura o que tienen pretensión de infalibilidad o superioridad frente al resto. Dentro de ese grupo no puedo dejar de ubicar a el ShuHaRi.
Sabemos, sí, que el proceso de aprendizaje no depende únicamente de la experiencia. La experiencia se elabora en procesos mentales que permiten desarrollar conexiones entre conceptos. Sabemos además que hay estilos de aprendizaje y que estos varían entre las personas.
Este trabajo desarrolla una escala para clasificar los estilos de aprendizaje en una única dimensión de intuición-análisis en los extremos. Hay unos cuantos problemas con esto (una única dimensión parece una sobre simplificación, se equipara el estilo analítico con el hemisferio derecho y el intuitivo con el izquierdo, o al revés, y aunque se aclara que eso es una "metáfora útil", se alimenta uno de los mitos más tontos que circulan por ahí), pero al menos apunta en una dirección clara: los estilos de aprendizaje varían. De acuerdo a Allinson y Hayes, el estilo de aprendizaje intuitivo se maneja mejor con enfoques globales y el analítico ve los detalles.
Por otra parte, parece ser que ciertas variaciones en el estilo de aprendizaje varían con cierta correlación con el background cultural. Incluso hasta los sesgos de percepción podrían variar con el background cultural ( cuidado! El estudio no dice nada sobre el orden causal )
El mundo está lleno de personas que sostienen que han sido capaces de entender como entendemos y que, al desenredar el problema, pueden darnos métodos infalibles para aprender, o,por lo menos, que si sus métodos no son infalibles, al menos son consistentemente mejores que el resto. Esta gente va desde Rousseau hasta los que me mandan spam ofreciéndome clases de inglés que 'neurologicamente' me enseñará a hablar en pocos meses por un proceso de programación neuro-lingüistica.
Yo esperaría más prudencia a la hora de adoptar teorías sobre el aprendizaje que lleven a desarrollar estrategias de enseñanza y adopción de conceptos y metodologías. Creo que la prudencia está justificada.
Subscribe to:
Posts (Atom)