ingeniería de software

Manos a la obra

En estos días de pandemia, de trabajo remoto y cuarentena, junto con cambiar varios de hábitos, hemos compartido mucho más tiempo con nuestras familias. Lo que es el lado positivo de toda esta situación. Entre esas actividades compartidas está el ver programas de televisión. Era muy raro que en mi casa prendieramos la TV para ver algún canal de cable, pero en estos días además de mantenernos informados, buscamos algo de distracción.

El Fin de la Agilidad

Parte 8: Heavy Metal (Para escuchar la banda sonora de este post haz click aquí) Thunder, thunder, thunder, thunder I was caught In the middle of a railroad track — AC/DC Recuerdo que una vez mi mujer, me pidió que hablara con nuestro hijo acerca de la música que estaba escuchando. Al parecer ella había visto a Matías viendo un video de Slipknot, y bueno, no creo que haya tenido imágenes agradables y debe haber quedado algo

El Fin de la Agilidad

(Para escuchar la banda sonora de este post haz click en este enlace) “Hold the line, love isn’t always on time” – Toto El amor no siempre llega cuando tú quieres, hay veces que te esfuerzas tanto en buscarlo que finalmente lo alejas, o lo dejas pasar sin darte cuenta. Recuerdo que a principios de 1998 una amiga, sicóloga, con la que aprendí a leer el Tarot, me dijo que yo debía dejar de estar tan ansiosos por estar sin pareja, que dejara de buscar tan desesperadamente la compañía, que esta llegaría cuando dejara de buscar.

Cuatro cosas mínimas

Hay una pila enorme de herramientas que a los ingenieros les gusta usar en su proceso de desarrollo, pero sólo hay cuatro que realmente necesitan: Editor Compilador Control de Versiones Bug Tracking – Michael “Rands” Lopp Todos los que se dedican a desarrollar software tienen algún tipo de editor o ambiente integrado de desarrollo (IDE) y un compilador disponible. Lo increíble es que el control de versiones y la herramienta de seguimiento de bugs no están presentes en muchas empresas que se dedican a desarrollar software.

Tortugas y Ranas

Alan Kay crea Smalltalk e inventa el término “orientado al objeto”. Cuando se le pregunta qué significa él replica que “los programas Smalltalk sólo son objetos.” Cuando se le pregunta de que están hechos los objetos él responde, “ de objetos”. Cuando se le pregunta de nuevo él dice “mire, todos son objetos todo el camino hacia abajo. Hasta que se encuentre con las tortugas.” – Una breve y disparatada historia de los lenguajes de programación, James Iry

Una dualidad fundamental en ingeniería de software

Tenemos una función, tal que: para 0, retorna 0 para 1, retorna 1 para 2, retorna 4 para 3, retorna 9 para 4, retorna 16 para 5 ,retorna 25 ¿Cuál es el valor para 6? Muchos de ustedes dirán que el valor es 36, lo que sería valido si la función fuera f(x) = x\^2 Pero, si les digo que el valor para 6 es 34, ¿qué pasa con lo que asumieron?

Comprensión de Lectura

Resulta que el modelo de cascada es quizás uno de los mayores errores de comprensión de lectura en toda la historia de la ingeniería de software. En 1970 Winston Royce escribe un paper donde, desafortunadamente, usa las palabras “grandiosa aproximación” para referirse a la siguiente figura: En realidad Winston Royce escribió este paper para criticar este modelo, pero terminó siendo citado una y otra vez por la comunidad “científica” como un modelo clásico y establecido.

La disciplina condenada

Pienso que uno de los mejores argumentos en contra de la noción de crisis de software fue dada indirectamente por Edsger W. Dijkstra, en su charla de 1988 “ON THE CRUELTY OF REALLY TEACHING COMPUTIN SCIENCE“ Cierta cantidad de estos fenómenos han sido agrupados bajo el nombre de “Ingeniería de Software”. Así como la economía es conocida como “La Ciencia Miserable”,* la ingeniería de software debería ser conocida como “La Disciplina Condenada”, condenada porque ni siquiera puede acercarse a su meta, dado que la misma es en sí misma contradictoria.

¿De que deuda me hablan?

¿Se imaginan tener que agregarle un nuevo dormitorio, y un jacuzzi al baño, a cada departamento de un edificio de 24 pisos, todo durante un fin de semana, y con los inquilinos dentro? Hace unos meses atrás hablé con ex profesor auxiliar de ingeniería de software, en una universidad tradicional. En esa ocasión me mostró un examen, donde se les pedía a los alumnos comentar la afirmación del Chaos Report sobre la alta tasa de fracaso de los proyectos de software.

Lecciones de RataTouille

Rats era lo que los ingenieros llamamos un proyecto incendiado. Se trataba de una película importante para Pixar, pues era el primer proyecto de la era “post Disney”, y debía tener por lo tanto todos los elementos de un éxito. Y aunque el trabajo de Jan Pikava, su director, era de alta calidad artística, la historia era considerada “muy plana” por los ejecutivos de Pixar. Steve Jobs decide hacer algo, primero corre la fecha de estreno de Cars de noviembre de 2005 a mayo de 2006, y el equipo de Pikava recibe la orden de fortalecer la historia, y lograr que el público fuera capaz de involucrarse con las peripecias de los personajes.