Difundir cultura del software de forma amena


Los ejemplos divertidos funcionan bien para ilustrar lo importante que es hacer buen software. Aquí teneis algunos memes, viñetas y posters típicos del mundillo IT que empleo a menudo en desarrollos, consultoría y formación:

Tira cómica de “Dilbert”: Dilbert es la tira informática por excelencia del mundillo informático. Un referente en el mundillo del software pero ten cuidado, a menudo la tira de Dilbert atacará frontalmente un tema que sea como “mencionar la soga en casa del ahorcado” y de lo que Scott Adams se rie, muchas personas en España lo sufren a diario.

Tira cómica “Ecol”: Parecido a Dilbert, pero más mediterraneo, un poco más friki, menos generalista, pero tienen sus puntos a veces.

Poster “En ocasiones me cambian requisitos” (con la cara del niño de la peli “El Sexto Sentido”): Ilustra lo peligroso que es un cambio de requisitos a mitad de proyecto, supuestamente las metodologías ágiles intentan minorar este problema, pero en la práctica mas de una vez el cliente ve esa agilidad como algo mágico que le permite quitar y poner requisitos a diario: desastre total.

Poster “Esta noche, ¡paso a producción!” (con la foto de una niña muy seria montada sobre un caballito de juguete): Los pasos a producción consisten en poner a funcionar una aplicación en un servidor, ironicamente en España suele ser lo que pasa antes de una caida de servicio. De ahí que (tristemente) se considere un acto valiente poner algo en producción.

Poster “Ni p*** idea de lo que estoy enviando” (con la imagen de un sujeto bastante curioso): En las arquitecturas SOA (orientadas a servicios) es habitual encontrar intercambio de datos entre aplicaciones de diferentes equipos de proyecto, habitualmente mediante XML.

El problema viene cuando los desarrolladores no tienen clara la diferencia entre “encoding declarado” y “encoding real”, o “big endian” y “little endian”, dicen que te envian un formato de datos pero realmente envian otros o incluso una mezcla de varios y para que les funcione el tinglado desactivan la validación de salida de datos, ¡escalofriante!.

Poster “Yo no pruebo mi software, pero cuando lo hago ¡lo hago en producción!” (con la foto de un vaquero con pinta de Chuck Norris): Ultimamente se habla mucho de pruebas unitarias, pruebas funcionales, pruebas de carga, pruebas de regresión, de Junit, de NUnit… pero que no te tomen el pelo… la mayoría de veces las auténticas pruebas se hacen cuando el sistema se pone a funcionar en el entorno real.

De hecho con proyectos multimillonarios pasa esto a diario, lo verás en las noticias publicado: “el sistema X se cae a la hora de empezar a funcionar” o “la aplicación Y lleva horas sin dar servicio”.

Imagen de error 404 contextualizado: Un fallo 404 se produce cuando no se pudo encontrar un recurso solicitado en un servidor HTTP, algunos sitios aprovechan para poner en el contexto de la página donde te encuentras ese fallo. Esto viene bien si quieres animar a tu audiencia para que echen un ojo al RFC 2616.

Página no encontrada… pero de buen rollo.

Poster “Las 10 etapas del software” (el proyecto del columpio): Un ejemplo muy visual de como las diferentes partes del desarrollo de un proyecto pueden llegar a viciarse de mala forma… esto ha pasado, pasa y pasará en muchos sitios por motivos muy claros que en ocasiones es dificil atajar.

Todo el mundo debe poner de su parte…

Librerias con nombres curiosos en castellano: Algunas librerias utilizadas en software tienen nombres en ingles y acronimos curiosos, en Java hay una libreria llamada “Java Optimize and Decompile Environment”… ¡cosas veredes!.